From ab972d4c8efc579ec64e1dde1f4878a2c44cb7ed Mon Sep 17 00:00:00 2001 From: Django Cass Date: Sun, 20 Aug 2023 22:03:48 +1000 Subject: [PATCH 1/3] added artifacthub metadata --- artifacthub-repo.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 artifacthub-repo.yml diff --git a/artifacthub-repo.yml b/artifacthub-repo.yml new file mode 100644 index 0000000..bc8360a --- /dev/null +++ b/artifacthub-repo.yml @@ -0,0 +1,4 @@ +repositoryID: "68bdb7e5-dc94-424f-9939-ab27d64f5cb2" +owners: + - name: djcass44 + email: django@dcas.dev \ No newline at end of file From 3c628daef7eb9b9bb36fe0bb5b87fd8050d5be0b Mon Sep 17 00:00:00 2001 From: Django Cass Date: Mon, 21 Aug 2023 17:29:52 +1000 Subject: [PATCH 2/3] added ability to hide packages in gitlab --- .github/workflows/release.yaml | 3 ++- charts/gitlab-goproxy/templates/deployment.yaml | 2 ++ charts/gitlab-goproxy/values.yaml | 1 + cmd/ggp/main.go | 9 +++++---- internal/cache/gitlab.go | 17 ++++++++++++----- internal/cache/types.go | 5 +++-- 6 files changed, 25 insertions(+), 12 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index f53906e..782ff0f 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -24,8 +24,9 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} - run: | ref="${GITHUB_REF_NAME#v}" - chart_version="0.2.0" + chart_version="0.2.1" echo "$GITHUB_TOKEN" | helm registry login ghcr.io --username=oauth-token --password-stdin + cp README.md charts/gitlab-goproxy/ helm package charts/gitlab-goproxy --app-version "$ref" --version "$chart_version" echo "Creating chart release $ref / $chart_version" diff --git a/charts/gitlab-goproxy/templates/deployment.yaml b/charts/gitlab-goproxy/templates/deployment.yaml index aa5b9e4..a9b5773 100644 --- a/charts/gitlab-goproxy/templates/deployment.yaml +++ b/charts/gitlab-goproxy/templates/deployment.yaml @@ -46,6 +46,8 @@ spec: secretKeyRef: name: {{ .Values.gitlab.tokenSecretRef.name }} key: {{ .Values.gitlab.tokenSecretRef.key }} + - name: APP_GITLAB_HIDE_PACKAGES + value: {{ .Values.gitlab.hidePackages | quote }} ports: - name: http containerPort: 8080 diff --git a/charts/gitlab-goproxy/values.yaml b/charts/gitlab-goproxy/values.yaml index c1c3c0d..0b9a892 100644 --- a/charts/gitlab-goproxy/values.yaml +++ b/charts/gitlab-goproxy/values.yaml @@ -8,6 +8,7 @@ gitlab: name: "" key: "" projectId: 0 + hidePackages: false replicaCount: 1 diff --git a/cmd/ggp/main.go b/cmd/ggp/main.go index f9b7be9..8834456 100644 --- a/cmd/ggp/main.go +++ b/cmd/ggp/main.go @@ -35,9 +35,10 @@ type environment struct { Port int `envconfig:"PORT" default:"8080"` LogLevel int `split_words:"true"` GitLab struct { - URL string `split_words:"true" required:"true"` - Token string `split_words:"true" required:"true"` - ProjectID int `split_words:"true" required:"true"` + URL string `split_words:"true" required:"true"` + Token string `split_words:"true" required:"true"` + ProjectID int `split_words:"true" required:"true"` + HidePackages bool `split_words:"true"` } } @@ -61,7 +62,7 @@ func main() { router.Use(logging.Middleware(log)) router.PathPrefix("/").Handler(&goproxy.Goproxy{ - Cacher: cache.NewGitLabCache(git, e.GitLab.ProjectID), + Cacher: cache.NewGitLabCache(git, e.GitLab.ProjectID, e.GitLab.HidePackages), ProxiedSUMDBs: nil, }) diff --git a/internal/cache/gitlab.go b/internal/cache/gitlab.go index 0f5ad5f..87d38c7 100644 --- a/internal/cache/gitlab.go +++ b/internal/cache/gitlab.go @@ -29,10 +29,11 @@ import ( "strings" ) -func NewGitLabCache(client *gitlab.Client, projectId int) *GitLabCache { +func NewGitLabCache(client *gitlab.Client, projectId int, hidePackages bool) *GitLabCache { return &GitLabCache{ - client: client, - projectId: projectId, + client: client, + projectId: projectId, + hidePackages: hidePackages, } } @@ -63,7 +64,7 @@ func (c *GitLabCache) Get(ctx context.Context, name string) (io.ReadCloser, erro } func (c *GitLabCache) Put(ctx context.Context, name string, content io.ReadSeeker) error { - log := logr.FromContextOrDiscard(ctx).WithValues("name", name) + log := logr.FromContextOrDiscard(ctx).WithValues("name", name, "hidden", c.hidePackages) log.Info("uploading module to cache") pkg, err := parser.NewPackage(name) @@ -72,7 +73,13 @@ func (c *GitLabCache) Put(ctx context.Context, name string, content io.ReadSeeke } // upload the given data - _, _, err = c.client.GenericPackages.PublishPackageFile(c.projectId, safeName(pkg.Name), pkg.Version, safeName(pkg.String()), content, &gitlab.PublishPackageFileOptions{}) + status := gitlab.PackageDefault + if c.hidePackages { + status = gitlab.PackageHidden + } + _, _, err = c.client.GenericPackages.PublishPackageFile(c.projectId, safeName(pkg.Name), pkg.Version, safeName(pkg.String()), content, &gitlab.PublishPackageFileOptions{ + Status: gitlab.GenericPackageStatus(status), + }) if err != nil { log.Error(err, "failed to publish package") return err diff --git a/internal/cache/types.go b/internal/cache/types.go index 27304d5..9d8d6f7 100644 --- a/internal/cache/types.go +++ b/internal/cache/types.go @@ -20,6 +20,7 @@ package cache import "github.com/xanzy/go-gitlab" type GitLabCache struct { - client *gitlab.Client - projectId int + client *gitlab.Client + projectId int + hidePackages bool } From 78053a73c046904840e01f4be27bd04b6e7ea02c Mon Sep 17 00:00:00 2001 From: Django Cass Date: Tue, 22 Aug 2023 07:34:45 +1000 Subject: [PATCH 3/3] fixed incorrect app-version --- .github/workflows/release.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 782ff0f..ae36398 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -23,8 +23,8 @@ jobs: version: latest token: ${{ secrets.GITHUB_TOKEN }} - run: | - ref="${GITHUB_REF_NAME#v}" - chart_version="0.2.1" + ref="$GITHUB_REF_NAME" + chart_version="0.2.2" echo "$GITHUB_TOKEN" | helm registry login ghcr.io --username=oauth-token --password-stdin cp README.md charts/gitlab-goproxy/ helm package charts/gitlab-goproxy --app-version "$ref" --version "$chart_version"