shared-actions/helm-deploy/README.md

33 lines
1.1 KiB
Markdown

# 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.