Skip to content

Commit 62991d3

Browse files
committed
Update Helm chart with comprehensive installation instructions
- Add local and OCI image deployment sections to chart README - Configure Auth0 authentication via v1-sync-helper-auth0-credentials secret - Add all missing environment variables from service README - Simplify environment variables documentation to show only defaults - Reference main service README for complete variable list - Use heredoc for values.yaml creation in OCI installation 🤖 Generated with [GitHub Copilot](https://github.com/features/copilot) (via Zed) Signed-off-by: Eric Searcy <[email protected]>
1 parent b20cefd commit 62991d3

File tree

3 files changed

+119
-4
lines changed

3 files changed

+119
-4
lines changed

charts/lfx-v1-sync-helper/README.md

Lines changed: 85 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,59 @@ This Helm chart deploys the LFX v1 Sync Helper service, which monitors NATS KV s
1111

1212
## Installing the chart
1313

14-
### Installing from source
14+
### Installing from local chart
1515

16-
Clone the repository before running the following commands from the root of the working directory.
16+
For development or testing with local chart sources:
1717

1818
```bash
19+
# Clone the repository
20+
git clone https://github.com/linuxfoundation/lfx-v1-sync-helper.git
21+
cd lfx-v1-sync-helper
22+
1923
# Create namespace (recommended)
2024
kubectl create namespace lfx
2125

22-
# Install the chart
26+
# Create Auth0 secret with required credentials
27+
kubectl create secret generic v1-sync-helper-auth0-credentials \
28+
--from-literal=client-id=your-auth0-client-id \
29+
--from-literal=private-key="$(cat auth0-private-key.pem)" \
30+
-n lfx
31+
32+
# Install the chart with required image tag and AUTH0_TENANT
2333
helm install -n lfx lfx-v1-sync-helper \
24-
./charts/lfx-v1-sync-helper
34+
./charts/lfx-v1-sync-helper \
35+
--set image.tag=latest \
36+
--set app.environment.AUTH0_TENANT.value=my_tenant
37+
```
38+
39+
**Note**: When using the local chart, you must specify `--set image.tag=latest` because the committed chart does not have an appVersion, so a version must always be specified when not using the published chart. The AUTH0_TENANT environment variable and Auth0 secret are also required.
40+
41+
### Installing from OCI registry
42+
43+
For production deployments using the published chart:
44+
45+
```bash
46+
# Create namespace (recommended)
47+
kubectl create namespace lfx
48+
49+
# Create Auth0 secret with required credentials
50+
kubectl create secret generic v1-sync-helper-auth0-credentials \
51+
--from-literal=client-id=your-auth0-client-id \
52+
--from-literal=private-key="$(cat auth0-private-key.pem)" \
53+
-n lfx
54+
55+
# Create values.yaml with required AUTH0_TENANT
56+
cat > values.yaml << EOF
57+
app:
58+
environment:
59+
AUTH0_TENANT:
60+
value: my_tenant
61+
EOF
62+
63+
# Install from the OCI registry
64+
helm install -n lfx lfx-v1-sync-helper \
65+
oci://ghcr.io/linuxfoundation/lfx-v1-sync-helper/chart \
66+
-f values.yaml
2567
```
2668

2769
## Uninstalling the chart
@@ -34,5 +76,44 @@ helm uninstall lfx-v1-sync-helper -n lfx
3476

3577
## Configuration
3678

79+
### Required Secrets
80+
81+
The chart requires the following secrets to be created before installation:
82+
83+
1. **Heimdall JWT signing key** (default name: `heimdall-signer-cert`):
84+
```bash
85+
kubectl create secret generic heimdall-signer-cert \
86+
--from-file=signer.pem=/path/to/heimdall-private-key.pem \
87+
-n lfx
88+
```
89+
90+
2. **Auth0 credentials** (default name: `v1-sync-helper-auth0-credentials`):
91+
```bash
92+
kubectl create secret generic v1-sync-helper-auth0-credentials \
93+
--from-literal=client-id=your-auth0-client-id \
94+
--from-literal=private-key="$(cat auth0-private-key.pem)" \
95+
-n lfx
96+
```
97+
98+
### Environment Variables
99+
100+
The following environment variables have defaults configured in the chart's `app.environment` section:
101+
102+
| Variable | Default | Description |
103+
|----------|---------|-------------|
104+
| `NATS_URL` | `nats://lfx-platform-nats.lfx.svc.cluster.local:4222` | NATS server URL |
105+
| `PROJECT_SERVICE_URL` | `http://lfx-v2-project-service.lfx.svc.cluster.local:8080` | Project Service API URL |
106+
| `COMMITTEE_SERVICE_URL` | `http://lfx-v2-committee-service.lfx.svc.cluster.local:8080` | Committee Service API URL |
107+
| `HEIMDALL_JWKS_URL` | `http://lfx-platform-heimdall.lfx.svc.cluster.local:4457/.well-known/jwks` | JWKS endpoint URL |
108+
| `LFX_API_GW` | `https://api-gw.dev.platform.linuxfoundation.org/` | LFX API Gateway URL |
109+
| `LOG_LEVEL` | `info` | Log level |
110+
| `DEBUG` | `false` | Enable debug logging |
111+
| `PORT` | `8080` | HTTP server port |
112+
| `BIND` | `*` | Interface to bind on |
113+
114+
For a complete list of all supported environment variables, including required ones like `AUTH0_TENANT`, see the [v1-sync-helper README](../../v1-sync-helper/README.md#environment-variables).
115+
116+
### Additional Configuration
117+
37118
For all available configuration options and their default values, please see the [values.yaml](values.yaml) file in this chart directory. You can override these values in your own `values.yaml` file or by using the `--set` flag when installing the chart.
38119

charts/lfx-v1-sync-helper/templates/deployment.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,17 @@ spec:
4545
secretKeyRef:
4646
name: {{ .Values.heimdall.secret.name }}
4747
key: {{ .Values.heimdall.secret.privateKeyKey }}
48+
# Auth0 configuration for v1 API authentication
49+
- name: AUTH0_CLIENT_ID
50+
valueFrom:
51+
secretKeyRef:
52+
name: {{ .Values.auth0.secret.name }}
53+
key: {{ .Values.auth0.secret.clientIdKey }}
54+
- name: AUTH0_PRIVATE_KEY
55+
valueFrom:
56+
secretKeyRef:
57+
name: {{ .Values.auth0.secret.name }}
58+
key: {{ .Values.auth0.secret.privateKeyKey }}
4859
ports:
4960
- containerPort: 8080
5061
name: web

charts/lfx-v1-sync-helper/values.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,18 @@ app:
3737
# COMMITTEE_SERVICE_URL is required for making API calls to committee service
3838
COMMITTEE_SERVICE_URL:
3939
value: http://lfx-v2-committee-service.lfx.svc.cluster.local:8080
40+
# AUTH0_TENANT is required for Auth0 authentication
41+
AUTH0_TENANT:
42+
value: ""
43+
# HEIMDALL_KEY_ID is optional - JWT key ID (if not provided, fetches from JWKS)
44+
HEIMDALL_KEY_ID:
45+
value: ""
46+
# HEIMDALL_JWKS_URL is optional - JWKS endpoint URL
47+
HEIMDALL_JWKS_URL:
48+
value: http://lfx-platform-heimdall.lfx.svc.cluster.local:4457/.well-known/jwks
49+
# LFX_API_GW is optional - LFX API Gateway URL
50+
LFX_API_GW:
51+
value: https://api-gw.dev.platform.linuxfoundation.org/
4052

4153
# serviceAccount is the configuration for the Kubernetes service account
4254
serviceAccount:
@@ -135,3 +147,14 @@ heimdall:
135147
name: heimdall-signer-cert
136148
# key in the secret which contains the signing certificate
137149
privateKeyKey: signer.pem
150+
151+
# auth0 is the configuration for Auth0 authentication for v1 API calls
152+
auth0:
153+
# secret contains the configuration for Auth0 authentication
154+
secret:
155+
# name of the secret containing Auth0 client ID and private key
156+
name: v1-sync-helper-auth0-credentials
157+
# key in the secret which contains the Auth0 client ID
158+
clientIdKey: client-id
159+
# key in the secret which contains the Auth0 private key
160+
privateKeyKey: private-key

0 commit comments

Comments
 (0)