Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/appany/helm-oci-chart-releaser
Push Helm Charts to OCI-based registries
https://github.com/appany/helm-oci-chart-releaser
Last synced: 3 months ago
JSON representation
Push Helm Charts to OCI-based registries
- Host: GitHub
- URL: https://github.com/appany/helm-oci-chart-releaser
- Owner: appany
- License: mit
- Created: 2021-03-09T22:56:33.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-03T12:55:48.000Z (5 months ago)
- Last Synced: 2024-07-19T21:14:08.616Z (4 months ago)
- Size: 17.6 KB
- Stars: 55
- Watchers: 2
- Forks: 10
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# 💥 Helm OCI Chart Releaser 💥
🚀 Push Helm Charts to OCI-based (Docker) registries! 🚀
💡 Store **Helm Charts** with your **Docker images**. No more need to host Helm repositories ♿
📝 More info about secure **OCI-based** hosting https://helm.sh/docs/topics/registries/
## Usage
- Push Helm Chart to **Github Container Registry**
```yaml
- name: Chart | Push
uses: appany/[email protected]
with:
name: my-chart
repository: appany
tag: 0.1.0
path: charts/my-chart # Default charts/{name}
registry: ghcr.io
registry_username: ${{ secrets.REGISTRY_USERNAME }}
registry_password: ${{ secrets.REGISTRY_PASSWORD }}
update_dependencies: 'true' # Defaults to false# helm pull ghcr.io/appany/my-chart:0.1.0
```- Push Helm Chart to **Azure Container Registry**
```yaml
- name: Chart | Push
uses: appany/[email protected]
with:
name: my-chart
repository: helm
tag: 0.1.0
path: charts/my-chart # Default charts/{name}
registry: appany.azurecr.io
registry_username: ${{ secrets.REGISTRY_USERNAME }}
registry_password: ${{ secrets.REGISTRY_PASSWORD }}
update_dependencies: 'true' # Defaults to false# helm pull appany.azurecr.io/helm/my-chart:0.1.0
```## Inputs
```yaml
inputs:
name:
required: true
description: Chart name
repository:
required: true
description: Chart repository name
tag:
required: true
description: Chart version
path:
required: false
description: Chart path (Default 'charts/{name}')
registry:
required: true
description: OCI registry
registry_username:
required: true
description: OCI registry username
registry_password:
required: true
description: OCI registry password
update_dependencies:
required: false
default: 'false'
description: Update chart dependencies before packaging (Default 'false')
```## Outputs
```yaml
outputs:
image:
value: ${{ steps.output.outputs.image }}
description: Chart image (Default '{registry}/{repository}/{image}:{tag}')
```## ArgoCD
1. Add container registry and enable OCI support
```yaml
repositories:
ghcr:
url: ghcr.io
type: helm
name: ...
enableOCI: "true"credentialTemplates:
ghcr:
url: ghcr.io
username: ...
password: ...
```2. Create an Application
```yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
...
spec:
source:
repoURL: ghcr.io
targetRevision: 0.1.0
chart: appany/my-chart
helm:
...
```## License
This project is distributed under the [MIT license](LICENSE.md).