Skip to content

Commit

Permalink
Provide a helm chart package (#594)
Browse files Browse the repository at this point in the history
* Add helm-chart github workflow

Signed-off-by: babykart <[email protected]>

* Add helm-docs template

Signed-off-by: babykart <[email protected]>

* Update README.md with helm-docs

Signed-off-by: babykart <[email protected]>

* Update comment to indicate what we need to change as part of every release

Signed-off-by: babykart <[email protected]>

* Keep the note in its previous place

Signed-off-by: babykart <[email protected]>

* Remove version from README.md.gotmpl

Signed-off-by: babykart <[email protected]>

* Fix merge conflict

Signed-off-by: babykart <[email protected]>

* Use Version.props to set helm chart appVersion

Signed-off-by: babykart <[email protected]>

* Add YAML indentation spec

Signed-off-by: babykart <[email protected]>

* Fix sed args

Signed-off-by: babykart <[email protected]>

* Undo and revert to main

Signed-off-by: babykart <[email protected]>

* Remove args to use default values

Signed-off-by: babykart <[email protected]>

---------

Signed-off-by: babykart <[email protected]>
Co-authored-by: darrenge <[email protected]>
Co-authored-by: Badrish Chandramouli <[email protected]>
  • Loading branch information
3 people authored Nov 27, 2024
1 parent ed46945 commit 3eda290
Show file tree
Hide file tree
Showing 6 changed files with 124 additions and 3 deletions.
5 changes: 5 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,11 @@ indent_size = 2
[*.{props,targets,config,nuspec}]
indent_size = 2

# YAML
# http://yaml.org/spec/1.2/2009-07-21/spec.html#id2576668
[*.{yaml,yml}]
indent_size = 2

# Shell scripts
[*.sh]
end_of_line = lf
Expand Down
64 changes: 64 additions & 0 deletions .github/workflows/helm-chart.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
on:
push:
branches:
- main
paths:
- 'charts/**'

permissions:
packages: write

jobs:
helm-chart:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Configure git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "[email protected]"
- name: Install helm
uses: azure/setup-helm@v4
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

- name: Extract version number from Version.props
run: |
export VERSION_PROPS=$(awk -F'[<>]' '/VersionPrefix/{print $3}' Version.props)
- name: Set helm chart appVersion
run: |
sed -ie 's#Version.props#'"${VERSION_PROPS}"'#g' charts/garnet/Chart.yaml
- name: Helm lint and package
run: |
mkdir .cr-release-packages
for chart in $(find charts -depth 1 -type d); do
if [ -z "${chart:-}" ]; then
break
fi
helm lint "${chart}"
helm package "${chart}" --dependency-update --destination .cr-release-packages
done
- name: Login to GHCR
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
run: |
echo "$GITHUB_TOKEN" | helm registry login ghcr.io --username "$GITHUB_ACTOR" --password-stdin
- name: Push charts to GHCR
run: |
shopt -s nullglob
for pkg in .cr-release-packages/*.tgz; do
if [ -z "${pkg:-}" ]; then
break
fi
helm push "${pkg}" "oci://ghcr.io/${GITHUB_REPOSITORY_OWNER}/helm-charts"
done
2 changes: 1 addition & 1 deletion charts/garnet/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: garnet
description: A Helm chart for Microsoft garnet
type: application
version: 0.1.1
appVersion: 1.0.18
appVersion: Version.props
home: https://github.com/microsoft/garnet
icon: https://avatars.githubusercontent.com/u/6154722?s=200&v=4

Expand Down
19 changes: 18 additions & 1 deletion charts/garnet/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,29 @@ A Helm chart for Microsoft garnet

* <https://github.com/microsoft/garnet.git>

## Usage

[Helm](https://helm.sh) must be installed to use the charts. Please refer to
Helm's [documentation](https://helm.sh/docs) to get started.

To install the garnet chart (using an OCI-based registry):

```sh
helm upgrade --install garnet oci://ghcr.io/microsoft/helm-charts/garnet
```

To uninstall the chart:

```sh
helm delete garnet
```

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | Affinity |
| containers.args | list | `["--port","6379","-m","128m","-i","128m"]` | Containers args |
| containers.args | list | `[]` | Containers args |
| containers.livenessProbe | object | `{}` | Containers livenessProbe |
| containers.port | int | `6379` | Containers port |
| containers.readinessProbe | object | `{}` | Containers livenessProbe |
Expand Down
35 changes: 35 additions & 0 deletions charts/garnet/README.md.gotmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{{ template "chart.header" . }}
{{ template "chart.deprecationWarning" . }}

{{ template "chart.badgesSection" . }}

{{ template "chart.description" . }}

{{ template "chart.homepageLine" . }}

{{ template "chart.maintainersSection" . }}

{{ template "chart.sourcesSection" . }}

## Usage

[Helm](https://helm.sh) must be installed to use the charts. Please refer to
Helm's [documentation](https://helm.sh/docs) to get started.

To install the garnet chart (using an OCI-based registry):

```sh
helm upgrade --install garnet oci://ghcr.io/microsoft/helm-charts/garnet
```

To uninstall the chart:

```sh
helm delete garnet
```

{{ template "chart.requirementsSection" . }}

{{ template "chart.valuesSection" . }}

{{ template "helm-docs.versionFooter" . }}
2 changes: 1 addition & 1 deletion charts/garnet/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ serviceAccount:

containers:
# -- Containers args
args: ["--port", "6379", "-m", "128m", "-i", "128m"]
args: []
# -- Containers port
port: 6379
# -- Containers livenessProbe
Expand Down

0 comments on commit 3eda290

Please sign in to comment.