# 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 (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-su.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 repo | ## Usage ```yaml - uses: schmalz/shared-actions/.github/actions/helm-deploy@v1 with: service-name: my-service helm-host: dsp1-stage.schmalzgroup.net image-tag: ${{ github.sha }} ssh-key: ${{ secrets.SSH_KEY }} ``` ## Notes - The override file is `scp`-ed to the remote host, then `helm upgrade --install` is run via SSH. - Uses `--atomic` flag, so a failed deploy is automatically rolled back. - `StrictHostKeyChecking` is disabled.