Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(contrib): helm push plugin #6826

Merged
merged 4 commits into from
Feb 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ test_results.xml
.tmp
contrib/**/dist
config.*.toml
.paas-sdev.yaml

# TEST
tests/fixtures/ITSCWRKFLW1/output
Expand Down
18 changes: 18 additions & 0 deletions contrib/grpcplugins/action/helm-push/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
PLUGIN_NAME = helm-push
TARGET_NAME = helm-push

##### ^^^^^^ EDIT ABOVE ^^^^^^ #####

include ../../../../.build/core.mk
include ../../../../.build/go.mk
include ../../../../.build/plugin.mk

build: mk_go_build_plugin ## build action plugin and prepare configuration for publish

clean: mk_go_clean ## clean binary and tests results

test: mk_go_test ## run unit tests

publish: mk_v2_plugin_publish ## publish the plugin on CDS. This use your cdsctl default context and commands cdsctl admin plugins import / binary-add.

package: mk_plugin_package ## prepare the tar.gz file, with all binaries / conf files
21 changes: 21 additions & 0 deletions contrib/grpcplugins/action/helm-push/fixtures/chart/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
apiVersion: v2
name: buildachart
description: A Helm chart for Kubernetes

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: 1.16.0
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
some: value
61 changes: 61 additions & 0 deletions contrib/grpcplugins/action/helm-push/helm-push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: helm-push
type: action
author: "François SAMIN <francois.samin@corp.ovh.com>"
description: |
This push Helm chart on Chart Museum or Artifactory.
inputs:
chartFolder:
value: .chart/
type: string
description: Relative path to chart folder to be published
required: true
chartVersion:
value: ${{git.semver.current}}
type: string
description: |-
(Optional) Override the chart version before push to registry.
required: true
appVersion:
type: string
description: |-
(Optional) Override the app version before push to registry.
required: true
updateDependencies:
type: boolean
description: Update dependencies from the chart before packaging
required: false
registryURL:
type: string
description: |-
Registry URL

This parameter can be empty when an Artifactory integration is set up.
required: false
registryUsername:
type: string
description: |-
Registry Username

This parameter can be empty when an Artifactory integration is set up.
required: false
registryPassword:
type: string
description: |-
Registry Password

This parameter can be empty when an Artifactory integration is set up.
required: false
registryAuthHeader:
type: string
description: |-
Alternative header to use for token auth

This parameter can be empty when an Artifactory integration is set up.
required: false
registryAccessToken:
type: string
description: |-
Send token in Authorization header

This parameter can be empty when an Artifactory integration is set up.
required: false
Loading