Skip to content

Commit e974db2

Browse files
committed
add github action to publish helm chart and README around usage of helm chart
1 parent acf1cb3 commit e974db2

File tree

2 files changed

+161
-0
lines changed

2 files changed

+161
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Publish Helm Chart
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'helm/**'
9+
- '.github/workflows/publish-helm.yaml'
10+
release:
11+
types: [created]
12+
13+
jobs:
14+
publish-helm:
15+
runs-on: ubuntu-latest
16+
permissions:
17+
contents: read
18+
packages: write
19+
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
with:
24+
fetch-depth: 0
25+
26+
- name: Install Helm
27+
uses: azure/setup-helm@v3
28+
with:
29+
version: v3.12.1
30+
31+
- name: Login to GHCR
32+
uses: docker/login-action@v3
33+
with:
34+
registry: ghcr.io
35+
username: ${{ github.actor }}
36+
password: ${{ secrets.GITHUB_TOKEN }}
37+
38+
- name: Package Helm Chart
39+
run: |
40+
helm package helm/
41+
42+
- name: Push Helm Chart
43+
run: |
44+
helm push *.tgz oci://ghcr.io/${{ github.repository }}/charts

helm/README.md

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# STAC Auth Proxy Helm Chart
2+
3+
This Helm chart deploys the STAC Auth Proxy, which provides authentication and authorization for STAC APIs.
4+
5+
## Prerequisites
6+
7+
- Kubernetes 1.19+
8+
- Helm 3.2.0+
9+
- An OIDC provider (e.g., Auth0, Cognito, Keycloak)
10+
- A STAC API endpoint
11+
12+
## Installation
13+
14+
### Add the Helm Repository
15+
16+
```bash
17+
helm registry login ghcr.io
18+
helm pull oci://ghcr.io/developmentseed/stac-auth-proxy/charts/stac-auth-proxy --version 0.1.0
19+
```
20+
21+
### Install the Chart
22+
23+
Basic installation with minimal configuration:
24+
25+
```bash
26+
helm install stac-auth-proxy oci://ghcr.io/developmentseed/stac-auth-proxy/charts/stac-auth-proxy \
27+
--set config.upstreamUrl=https://your-stac-api.com/stac \
28+
--set config.oidc.discoveryUrl=https://your-auth-server/.well-known/openid-configuration \
29+
--set ingress.host=stac-proxy.your-domain.com
30+
```
31+
32+
### Using a Values File
33+
34+
Create a `values.yaml` file:
35+
36+
```yaml
37+
config:
38+
upstreamUrl: "https://your-stac-api.com/stac"
39+
oidc:
40+
discoveryUrl: "https://your-auth-server/.well-known/openid-configuration"
41+
discoveryInternalUrl: "http://auth-server-internal/.well-known/openid-configuration"
42+
defaultPublic: false
43+
healthzPrefix: "/healthz"
44+
45+
ingress:
46+
enabled: true
47+
host: "stac-proxy.your-domain.com"
48+
tls:
49+
enabled: true
50+
51+
resources:
52+
limits:
53+
cpu: 500m
54+
memory: 512Mi
55+
requests:
56+
cpu: 200m
57+
memory: 256Mi
58+
```
59+
60+
Install using the values file:
61+
62+
```bash
63+
helm install stac-auth-proxy oci://ghcr.io/developmentseed/stac-auth-proxy/charts/stac-auth-proxy -f values.yaml
64+
```
65+
66+
## Configuration
67+
68+
### Required Values
69+
70+
| Parameter | Description |
71+
|-----------|-------------|
72+
| `config.upstreamUrl` | URL of the STAC API to proxy |
73+
| `config.oidc.discoveryUrl` | OpenID Connect discovery document URL |
74+
75+
### Optional Values
76+
77+
| Parameter | Description | Default |
78+
|-----------|-------------|---------|
79+
| `config.waitForUpstream` | Wait for upstream API to become available | `true` |
80+
| `config.healthzPrefix` | Path prefix for health check endpoints | `/healthz` |
81+
| `config.defaultPublic` | Default access policy for endpoints | `false` |
82+
| `config.oidc.discoveryInternalUrl` | Internal network OIDC discovery URL | `""` |
83+
| `ingress.enabled` | Enable ingress | `true` |
84+
| `ingress.className` | Ingress class name | `nginx` |
85+
| `ingress.host` | Hostname for the ingress | `""` |
86+
| `ingress.tls.enabled` | Enable TLS for ingress | `true` |
87+
| `replicaCount` | Number of replicas | `1` |
88+
89+
For a complete list of values, see the [values.yaml](./values.yaml) file.
90+
91+
## Upgrading
92+
93+
To upgrade the release:
94+
95+
```bash
96+
helm upgrade stac-auth-proxy oci://ghcr.io/developmentseed/stac-auth-proxy/charts/stac-auth-proxy -f values.yaml
97+
```
98+
99+
## Uninstalling
100+
101+
To uninstall/delete the deployment:
102+
103+
```bash
104+
helm uninstall stac-auth-proxy
105+
```
106+
107+
## Development
108+
109+
To test the chart locally:
110+
111+
```bash
112+
helm install stac-auth-proxy ./helm --dry-run --debug
113+
```
114+
115+
## Support
116+
117+
For support, please open an issue in the [STAC Auth Proxy repository](https://github.com/developmentseed/stac-auth-proxy/issues).

0 commit comments

Comments
 (0)