| .. | ||
| action.yml | ||
| README.md | ||
helm-deploy
Deploy a service to Kubernetes via Helm over SSH.
Inputs
| Input | Required | Default | Description |
|---|---|---|---|
service-name |
Yes | — | Helm release name |
helm-host |
Yes | — | SSH target host (e.g. dsp1-stage.schmalzgroup.net) |
image-tag |
Yes | — | Docker image tag to deploy |
ssh-key |
Yes | — | Private SSH key content |
overrides-file |
No | kubernetes/overrides-pu.yaml |
Local path to Helm values override file |
namespace |
No | dsp |
Kubernetes namespace |
helm-repo |
No | nexus-helm-repository |
Helm chart repository name |
helm-chart |
No | DSP-Blueprint |
Chart name in the repository |
Usage
- uses: https://schmalz-git.git.onstackit.cloud/schmalz/shared-actions/helm-deploy@helm-deploy-v1
with:
service-name: my-service
helm-host: dsp1-stage.schmalzgroup.net
image-tag: ${{ github.sha }}
ssh-key: ${{ secrets.HELM_SSH_KEY }}
Notes
- The SSH key is written to a temporary file with
600permissions and removed after the job, even on failure. - The overrides file is copied to the remote host via
scpbefore the Helm upgrade. helm upgrade --installis run with--atomicso a failed release is automatically rolled back.StrictHostKeyChecking=nois used; ensure the host is trusted within your network or add host verification as needed.