Skip to content

Commit

Permalink
EVEREST-726 use internal manifest (#20)
Browse files Browse the repository at this point in the history
EVEREST-726 use internal manifest
  • Loading branch information
oksana-grishchenko committed Mar 1, 2024
1 parent 8d0eaef commit 00cabbd
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 39 deletions.
2 changes: 1 addition & 1 deletion deploy/quickstart-k8s.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ roleRef:
subjects:
- kind: "ServiceAccount"
name: everest-admin
namespace: percona-everest
namespace: everest-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
Expand Down
17 changes: 17 additions & 0 deletions embed.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// Package scripts provides embed scripts.
package scripts

import "embed"

//go:embed deploy/*
var deployScripts embed.FS

// Manifest returns Everest manifest file content.
func Manifest() ([]byte, error) {
data, err := deployScripts.ReadFile("deploy/quickstart-k8s.yaml")
if err != nil {
return nil, err
}

return data, nil
}
2 changes: 1 addition & 1 deletion pkg/install/install.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ type Install struct {
}

const (
everestBackendServiceName = "percona-everest-backend"
everestBackendServiceName = "everest"
everestOperatorName = "everest-operator"
pxcOperatorName = "percona-xtradb-cluster-operator"
psmdbOperatorName = "percona-server-mongodb-operator"
Expand Down
24 changes: 6 additions & 18 deletions pkg/kubernetes/kubernetes.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ import (
"k8s.io/apimachinery/pkg/version"
"k8s.io/client-go/rest"

scripts "github.com/percona/everest"
everestv1alpha1 "github.com/percona/everest-operator/api/v1alpha1"
"github.com/percona/everest/data"
"github.com/percona/everest/pkg/kubernetes/client"
Expand Down Expand Up @@ -905,9 +906,9 @@ func (k *Kubernetes) ApplyObject(obj runtime.Object) error {

// InstallEverest downloads the manifest file and applies it against provisioned k8s cluster.
func (k *Kubernetes) InstallEverest(ctx context.Context, namespace string) error {
data, err := k.getManifestData(ctx)
data, err := scripts.Manifest()
if err != nil {
return errors.Join(err, errors.New("failed downloading everest monitoring file"))
return errors.Join(err, errors.New("failed reading everest manifest file"))
}

err = k.client.ApplyManifestFile(data, namespace)
Expand All @@ -920,24 +921,11 @@ func (k *Kubernetes) InstallEverest(ctx context.Context, namespace string) error
return nil
}

func (k *Kubernetes) getManifestData(ctx context.Context) ([]byte, error) {
req, err := http.NewRequestWithContext(ctx, http.MethodGet, everestVersion.ManifestURL(), nil)
if err != nil {
return nil, err
}
resp, err := http.DefaultClient.Do(req)
if err != nil {
return nil, err
}
defer resp.Body.Close() //nolint:errcheck
return io.ReadAll(resp.Body)
}

// DeleteEverest downloads the manifest file and deletes it from provisioned k8s cluster.
func (k *Kubernetes) DeleteEverest(ctx context.Context, namespace string) error {
data, err := k.getManifestData(ctx)
func (k *Kubernetes) DeleteEverest(_ context.Context, namespace string) error {
data, err := scripts.Manifest()
if err != nil {
return errors.Join(err, errors.New("failed downloading everest monitoring file"))
return errors.Join(err, errors.New("failed reading everest manifest file"))
}

err = k.client.DeleteManifestFile(data, namespace)
Expand Down
20 changes: 1 addition & 19 deletions pkg/version/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ import (
const (
devCatalogImage = "docker.io/perconalab/everest-catalog:latest"
releaseCatalogImage = "docker.io/percona/everest-catalog:%s"
devManifestURL = "https://github.com/percona/percona-everest-backend/main/deploy/quickstart-k8s.yaml"
releaseManifestURL = "https://github.com/percona/percona-everest-backend/v%s/deploy/quickstart-k8s.yaml"
)

var (
Expand All @@ -43,10 +41,7 @@ var (
catalogImage string //nolint:gochecknoglobals
)

// CatalogImage returns a catalog image needed for the build of everestctl
//
// for dev builds it returns https://github.com/percona/percona-everest-backend/main/deploy/quickstart-k8s.yaml
// for the release builds it returns https://github.com/percona/percona-everest-backend/vX.Y.Z/deploy/quickstart-k8s.yaml
// CatalogImage returns a catalog image needed for the build of everestctl.
func CatalogImage() string {
catalogImage = devCatalogImage
v, err := goversion.NewSemver(Version)
Expand All @@ -56,19 +51,6 @@ func CatalogImage() string {
return catalogImage
}

// ManifestURL returns a manifest URL to install everest
//
// for dev builds it returns everest-catalog:latest
// for the release it returns everest-catalog:X.Y.Z.
func ManifestURL() string {
url := devManifestURL
v, err := goversion.NewSemver(Version)
if Version != "" && err == nil && v.Prerelease() == "" {
url = fmt.Sprintf(releaseManifestURL, Version)
}
return url
}

// FullVersionInfo returns full version report.
func FullVersionInfo() string {
out := []string{
Expand Down

0 comments on commit 00cabbd

Please sign in to comment.