normalize the helm actions
This commit is contained in:
+9
-7
@@ -11,14 +11,16 @@ Diff a Helm chart for a deployment in a Kubernetes cluster
|
||||
|
||||
| name | description | required | default |
|
||||
| --- | --- | --- | --- |
|
||||
| `DEPLOYMENT_NAME` | <p>The Kubernetes Deployment to update</p> | `true` | `""` |
|
||||
| `DEPLOYMENT_NAMESPACE` | <p>The Kubernetes namespace of the Deployment</p> | `true` | `""` |
|
||||
| `IMAGE_PATH` | <p>The registry path to the image</p> | `true` | `""` |
|
||||
| `IMAGE_TAG` | <p>The image tag to deploy</p> | `true` | `""` |
|
||||
| `CONTAINER_NAME` | <p>The container component to update</p> | `true` | `""` |
|
||||
| `VALUES_FILE` | <p>The values file to use</p> | `false` | `./helm/values.yaml` |
|
||||
| `DEPLOYMENT_NAME` | <p>The Helm release name</p> | `true` | `""` |
|
||||
| `DEPLOYMENT_NAMESPACE` | <p>The Kubernetes namespace (defaults to DEPLOYMENT_NAME)</p> | `false` | `""` |
|
||||
| `REGISTRY` | <p>OCI registry hostname for helm dependency login</p> | `true` | `""` |
|
||||
| `REGISTRY_USERNAME` | <p>Username for OCI registry login</p> | `true` | `""` |
|
||||
| `REGISTRY_TOKEN` | <p>Token for OCI registry login</p> | `true` | `""` |
|
||||
| `CHART_PATH` | <p>Path to the Helm chart</p> | `false` | `./helm` |
|
||||
| `TAG_KEY` | <p>Helm --set key for the image tag (e.g. deploy.api.tag)</p> | `true` | `""` |
|
||||
| `VALUES_FILE` | <p>The values file to use</p> | `false` | `./helm/values.yaml` |
|
||||
| `IMAGE_PATH` | <p>The registry path to the image (optional)</p> | `false` | `""` |
|
||||
| `IMAGE_TAG` | <p>The image tag to deploy (optional)</p> | `false` | `""` |
|
||||
| `TAG_KEY` | <p>Helm --set key for the image tag (e.g. deploy.api.tag)</p> | `false` | `""` |
|
||||
<!-- action-docs-inputs source="action.yml" -->
|
||||
|
||||
<!-- action-docs-runs source="action.yml" -->
|
||||
|
||||
+55
-16
@@ -2,40 +2,79 @@ name: Helm Diff Deployment
|
||||
description: Diff a Helm chart for a deployment in a Kubernetes cluster
|
||||
inputs:
|
||||
DEPLOYMENT_NAME:
|
||||
description: "The Kubernetes Deployment to update"
|
||||
description: "The Helm release name"
|
||||
required: true
|
||||
DEPLOYMENT_NAMESPACE:
|
||||
description: "The Kubernetes namespace of the Deployment"
|
||||
description: "The Kubernetes namespace (defaults to DEPLOYMENT_NAME)"
|
||||
default: ""
|
||||
REGISTRY:
|
||||
description: "OCI registry hostname for helm dependency login"
|
||||
required: true
|
||||
IMAGE_PATH:
|
||||
description: "The registry path to the image"
|
||||
REGISTRY_USERNAME:
|
||||
description: "Username for OCI registry login"
|
||||
required: true
|
||||
IMAGE_TAG:
|
||||
description: "The image tag to deploy"
|
||||
REGISTRY_TOKEN:
|
||||
description: "Token for OCI registry login"
|
||||
required: true
|
||||
CONTAINER_NAME:
|
||||
description: "The container component to update"
|
||||
required: true
|
||||
VALUES_FILE:
|
||||
description: "The values file to use"
|
||||
default: "./helm/values.yaml"
|
||||
CHART_PATH:
|
||||
description: "Path to the Helm chart"
|
||||
default: "./helm"
|
||||
VALUES_FILE:
|
||||
description: "The values file to use"
|
||||
default: "./helm/values.yaml"
|
||||
IMAGE_PATH:
|
||||
description: "The registry path to the image (optional)"
|
||||
default: ""
|
||||
IMAGE_TAG:
|
||||
description: "The image tag to deploy (optional)"
|
||||
default: ""
|
||||
TAG_KEY:
|
||||
description: "Helm --set key for the image tag (e.g. deploy.api.tag)"
|
||||
required: true
|
||||
default: ""
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Helm OCI Login
|
||||
shell: sh
|
||||
env:
|
||||
REGISTRY: ${{ inputs.REGISTRY }}
|
||||
REGISTRY_USERNAME: ${{ inputs.REGISTRY_USERNAME }}
|
||||
REGISTRY_TOKEN: ${{ inputs.REGISTRY_TOKEN }}
|
||||
run: |
|
||||
echo "$REGISTRY_TOKEN" | helm registry login "$REGISTRY" \
|
||||
--username "$REGISTRY_USERNAME" \
|
||||
--password-stdin
|
||||
|
||||
- name: Install Helm Diff
|
||||
shell: sh
|
||||
run: |
|
||||
helm plugin list | grep -q diff || helm plugin install https://github.com/databus23/helm-diff
|
||||
|
||||
- name: Helm Diff
|
||||
shell: sh
|
||||
env:
|
||||
DEPLOYMENT_NAME: ${{ inputs.DEPLOYMENT_NAME }}
|
||||
DEPLOYMENT_NAMESPACE: ${{ inputs.DEPLOYMENT_NAMESPACE }}
|
||||
CHART_PATH: ${{ inputs.CHART_PATH }}
|
||||
VALUES_FILE: ${{ inputs.VALUES_FILE }}
|
||||
IMAGE_PATH: ${{ inputs.IMAGE_PATH }}
|
||||
IMAGE_TAG: ${{ inputs.IMAGE_TAG }}
|
||||
TAG_KEY: ${{ inputs.TAG_KEY }}
|
||||
run: |
|
||||
CMD="helm diff upgrade ${{ inputs.DEPLOYMENT_NAME }} ${{ inputs.CHART_PATH }} -n ${{ inputs.DEPLOYMENT_NAMESPACE }} --values ${{ inputs.VALUES_FILE }} --set ${TAG_KEY}=${{ inputs.IMAGE_TAG }} --set image.repository=${{ inputs.IMAGE_PATH }} --context 5"
|
||||
echo "Running: $CMD"
|
||||
eval "$CMD"
|
||||
NAMESPACE="$DEPLOYMENT_NAMESPACE"
|
||||
if [ -z "$NAMESPACE" ]; then NAMESPACE="$DEPLOYMENT_NAME"; fi
|
||||
SET_FLAGS=""
|
||||
if [ -n "$TAG_KEY" ] && [ -n "$IMAGE_TAG" ]; then
|
||||
SET_FLAGS="$SET_FLAGS --set $TAG_KEY=$IMAGE_TAG"
|
||||
fi
|
||||
if [ -n "$IMAGE_PATH" ]; then
|
||||
SET_FLAGS="$SET_FLAGS --set image.repository=$IMAGE_PATH"
|
||||
fi
|
||||
helm dependency update "$CHART_PATH"
|
||||
helm diff upgrade "$DEPLOYMENT_NAME" "$CHART_PATH" -n "$NAMESPACE" --values "$VALUES_FILE" $SET_FLAGS --context 5
|
||||
|
||||
- name: Remove kubeconfig
|
||||
if: always()
|
||||
shell: sh
|
||||
run: rm -f ~/.kube/config
|
||||
|
||||
@@ -11,14 +11,16 @@ Template a Helm chart for a deployment in a Kubernetes cluster
|
||||
|
||||
| name | description | required | default |
|
||||
| --- | --- | --- | --- |
|
||||
| `DEPLOYMENT_NAME` | <p>The Kubernetes Deployment to update</p> | `true` | `""` |
|
||||
| `DEPLOYMENT_NAMESPACE` | <p>The Kubernetes namespace of the Deployment</p> | `true` | `""` |
|
||||
| `IMAGE_PATH` | <p>The registry path to the image</p> | `true` | `""` |
|
||||
| `IMAGE_TAG` | <p>The image tag to deploy</p> | `true` | `""` |
|
||||
| `CONTAINER_NAME` | <p>The container component to update</p> | `true` | `""` |
|
||||
| `VALUES_FILE` | <p>The values file to use</p> | `false` | `./helm/values.yaml` |
|
||||
| `DEPLOYMENT_NAME` | <p>The Helm release name</p> | `true` | `""` |
|
||||
| `DEPLOYMENT_NAMESPACE` | <p>The Kubernetes namespace (defaults to DEPLOYMENT_NAME)</p> | `false` | `""` |
|
||||
| `REGISTRY` | <p>OCI registry hostname for helm dependency login</p> | `true` | `""` |
|
||||
| `REGISTRY_USERNAME` | <p>Username for OCI registry login</p> | `true` | `""` |
|
||||
| `REGISTRY_TOKEN` | <p>Token for OCI registry login</p> | `true` | `""` |
|
||||
| `CHART_PATH` | <p>Path to the Helm chart</p> | `false` | `./helm` |
|
||||
| `TAG_KEY` | <p>Helm --set key for the image tag (e.g. deploy.api.tag)</p> | `true` | `""` |
|
||||
| `VALUES_FILE` | <p>The values file to use</p> | `false` | `./helm/values.yaml` |
|
||||
| `IMAGE_PATH` | <p>The registry path to the image (optional)</p> | `false` | `""` |
|
||||
| `IMAGE_TAG` | <p>The image tag to deploy (optional)</p> | `false` | `""` |
|
||||
| `TAG_KEY` | <p>Helm --set key for the image tag (e.g. deploy.api.tag)</p> | `false` | `""` |
|
||||
<!-- action-docs-inputs source="action.yml" -->
|
||||
|
||||
<!-- action-docs-runs source="action.yml" -->
|
||||
|
||||
+54
-16
@@ -2,36 +2,74 @@ name: Helm Template Deployment
|
||||
description: Template a Helm chart for a deployment in a Kubernetes cluster
|
||||
inputs:
|
||||
DEPLOYMENT_NAME:
|
||||
description: "The Kubernetes Deployment to update"
|
||||
description: "The Helm release name"
|
||||
required: true
|
||||
DEPLOYMENT_NAMESPACE:
|
||||
description: "The Kubernetes namespace of the Deployment"
|
||||
description: "The Kubernetes namespace (defaults to DEPLOYMENT_NAME)"
|
||||
default: ""
|
||||
REGISTRY:
|
||||
description: "OCI registry hostname for helm dependency login"
|
||||
required: true
|
||||
IMAGE_PATH:
|
||||
description: "The registry path to the image"
|
||||
REGISTRY_USERNAME:
|
||||
description: "Username for OCI registry login"
|
||||
required: true
|
||||
IMAGE_TAG:
|
||||
description: "The image tag to deploy"
|
||||
REGISTRY_TOKEN:
|
||||
description: "Token for OCI registry login"
|
||||
required: true
|
||||
CONTAINER_NAME:
|
||||
description: "The container component to update"
|
||||
required: true
|
||||
VALUES_FILE:
|
||||
description: "The values file to use"
|
||||
default: "./helm/values.yaml"
|
||||
CHART_PATH:
|
||||
description: "Path to the Helm chart"
|
||||
default: "./helm"
|
||||
VALUES_FILE:
|
||||
description: "The values file to use"
|
||||
default: "./helm/values.yaml"
|
||||
IMAGE_PATH:
|
||||
description: "The registry path to the image (optional)"
|
||||
default: ""
|
||||
IMAGE_TAG:
|
||||
description: "The image tag to deploy (optional)"
|
||||
default: ""
|
||||
TAG_KEY:
|
||||
description: "Helm --set key for the image tag (e.g. deploy.api.tag)"
|
||||
required: true
|
||||
default: ""
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Helm OCI Login
|
||||
shell: sh
|
||||
env:
|
||||
REGISTRY: ${{ inputs.REGISTRY }}
|
||||
REGISTRY_USERNAME: ${{ inputs.REGISTRY_USERNAME }}
|
||||
REGISTRY_TOKEN: ${{ inputs.REGISTRY_TOKEN }}
|
||||
run: |
|
||||
echo "$REGISTRY_TOKEN" | helm registry login "$REGISTRY" \
|
||||
--username "$REGISTRY_USERNAME" \
|
||||
--password-stdin
|
||||
|
||||
- name: Helm Template
|
||||
shell: sh
|
||||
env:
|
||||
DEPLOYMENT_NAME: ${{ inputs.DEPLOYMENT_NAME }}
|
||||
DEPLOYMENT_NAMESPACE: ${{ inputs.DEPLOYMENT_NAMESPACE }}
|
||||
CHART_PATH: ${{ inputs.CHART_PATH }}
|
||||
VALUES_FILE: ${{ inputs.VALUES_FILE }}
|
||||
IMAGE_PATH: ${{ inputs.IMAGE_PATH }}
|
||||
IMAGE_TAG: ${{ inputs.IMAGE_TAG }}
|
||||
TAG_KEY: ${{ inputs.TAG_KEY }}
|
||||
run: |
|
||||
CMD="helm template ${{ inputs.DEPLOYMENT_NAME }} ${{ inputs.CHART_PATH }} -n ${{ inputs.DEPLOYMENT_NAMESPACE }} --values ${{ inputs.VALUES_FILE }} --set ${TAG_KEY}=${{ inputs.IMAGE_TAG }} --set image.repository=${{ inputs.IMAGE_PATH }}"
|
||||
echo "Running: $CMD"
|
||||
eval "$CMD"
|
||||
NAMESPACE="$DEPLOYMENT_NAMESPACE"
|
||||
if [ -z "$NAMESPACE" ]; then NAMESPACE="$DEPLOYMENT_NAME"; fi
|
||||
SET_FLAGS=""
|
||||
if [ -n "$TAG_KEY" ] && [ -n "$IMAGE_TAG" ]; then
|
||||
SET_FLAGS="$SET_FLAGS --set $TAG_KEY=$IMAGE_TAG"
|
||||
fi
|
||||
if [ -n "$IMAGE_PATH" ]; then
|
||||
SET_FLAGS="$SET_FLAGS --set image.repository=$IMAGE_PATH"
|
||||
fi
|
||||
helm dependency update "$CHART_PATH"
|
||||
helm template "$DEPLOYMENT_NAME" "$CHART_PATH" -n "$NAMESPACE" --values "$VALUES_FILE" $SET_FLAGS
|
||||
|
||||
- name: Remove kubeconfig
|
||||
if: always()
|
||||
shell: sh
|
||||
run: rm -f ~/.kube/config
|
||||
|
||||
@@ -67,7 +67,6 @@ runs:
|
||||
SET_FLAGS="$SET_FLAGS --set image.repository=$IMAGE_PATH"
|
||||
fi
|
||||
helm dependency update "$CHART_PATH"
|
||||
echo "Running: helm upgrade $DEPLOYMENT_NAME $CHART_PATH -n $NAMESPACE --values $VALUES_FILE$SET_FLAGS"
|
||||
helm upgrade "$DEPLOYMENT_NAME" "$CHART_PATH" -n "$NAMESPACE" --values "$VALUES_FILE" $SET_FLAGS
|
||||
|
||||
- name: Remove kubeconfig
|
||||
|
||||
Reference in New Issue
Block a user