From 4ffa29f111becf87da4d6e5664711400a58c4d6b Mon Sep 17 00:00:00 2001 From: Morten Olsen Date: Thu, 1 Jan 2026 17:54:49 +0100 Subject: [PATCH] migrate bytestash --- apps/charts/bytestash/Chart.yaml | 6 +- .../bytestash/templates/deployment.yaml | 55 +-- apps/charts/bytestash/templates/oidc.yaml | 16 +- apps/charts/bytestash/templates/pvc.yaml | 12 +- apps/charts/bytestash/templates/service.yaml | 16 +- .../bytestash/templates/virtual-service.yaml | 40 +- apps/charts/bytestash/values.yaml | 67 ++- apps/charts/common/MIGRATION.md | 424 ++++++++++++++++++ apps/charts/common/README.md | 63 ++- apps/charts/common/common-1.0.0.tgz | Bin 25244 -> 34630 bytes 10 files changed, 548 insertions(+), 151 deletions(-) create mode 100644 apps/charts/common/MIGRATION.md diff --git a/apps/charts/bytestash/Chart.yaml b/apps/charts/bytestash/Chart.yaml index 8bc957b..b504b90 100644 --- a/apps/charts/bytestash/Chart.yaml +++ b/apps/charts/bytestash/Chart.yaml @@ -1,3 +1,7 @@ apiVersion: v2 version: 1.0.0 -name: ByteStash +name: bytestash +dependencies: + - name: common + version: 1.0.0 + repository: file://../common diff --git a/apps/charts/bytestash/templates/deployment.yaml b/apps/charts/bytestash/templates/deployment.yaml index b9903c8..4508e33 100644 --- a/apps/charts/bytestash/templates/deployment.yaml +++ b/apps/charts/bytestash/templates/deployment.yaml @@ -1,54 +1 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: "{{ .Release.Name }}" - labels: - app: "{{ .Release.Name }}" -spec: - replicas: 1 - selector: - matchLabels: - app: "{{ .Release.Name }}" - template: - metadata: - labels: - app: "{{ .Release.Name }}" - spec: - containers: - - name: "{{ .Release.Name }}" - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: 5000 - name: http - env: - - name: ALLOW_NEW_ACCOUNTS - value: "true" - - name: DISABLE_INTERNAL_ACCOUNTS - value: "true" - - name: OIDC_ENABLED - value: "true" - - name: OIDC_DISPLAY_NAME - value: OIDC - - name: OIDC_CLIENT_ID - valueFrom: - secretKeyRef: - name: "{{ .Release.Name }}-client" - key: clientId - - name: OIDC_CLIENT_SECRET - valueFrom: - secretKeyRef: - name: "{{ .Release.Name }}-client" - key: clientSecret - - name: OIDC_ISSUER_URL - valueFrom: - secretKeyRef: - name: "{{ .Release.Name }}-client" - key: configurationIssuer - - volumeMounts: - - mountPath: /data/snippets - name: data - volumes: - - name: data - persistentVolumeClaim: - claimName: "{{ .Release.Name }}-data" +{{ include "common.deployment" . }} diff --git a/apps/charts/bytestash/templates/oidc.yaml b/apps/charts/bytestash/templates/oidc.yaml index 0e07bf4..c13745f 100644 --- a/apps/charts/bytestash/templates/oidc.yaml +++ b/apps/charts/bytestash/templates/oidc.yaml @@ -1,15 +1 @@ - -apiVersion: authentik.homelab.mortenolsen.pro/v1alpha1 -kind: AuthentikClient -metadata: - name: "{{ .Release.Name }}" - namespace: "{{ .Release.Namespace }}" -spec: - serverRef: - name: authentik - namespace: shared - clientId: bytestash - name: Bytestash - redirectUris: - - https://{{ .Values.subdomain }}.{{ .Values.globals.domain }}/api/auth/oidc/callback - +{{ include "common.oidc" . }} diff --git a/apps/charts/bytestash/templates/pvc.yaml b/apps/charts/bytestash/templates/pvc.yaml index bc1d0a6..379bad9 100644 --- a/apps/charts/bytestash/templates/pvc.yaml +++ b/apps/charts/bytestash/templates/pvc.yaml @@ -1,11 +1 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: '{{ .Release.Name }}-data' -spec: - accessModes: - - 'ReadWriteOnce' - resources: - requests: - storage: '1Gi' - storageClassName: '{{ .Values.globals.environment }}' +{{ include "common.pvc" . }} diff --git a/apps/charts/bytestash/templates/service.yaml b/apps/charts/bytestash/templates/service.yaml index b8bedd6..f024c64 100644 --- a/apps/charts/bytestash/templates/service.yaml +++ b/apps/charts/bytestash/templates/service.yaml @@ -1,15 +1 @@ -apiVersion: v1 -kind: Service -metadata: - name: '{{ .Release.Name }}' - labels: - app: '{{ .Release.Name }}' -spec: - type: ClusterIP - ports: - - port: 80 - targetPort: 5000 - protocol: TCP - name: http - selector: - app: '{{ .Release.Name }}' +{{ include "common.service" . }} diff --git a/apps/charts/bytestash/templates/virtual-service.yaml b/apps/charts/bytestash/templates/virtual-service.yaml index 36e9d43..766f6b9 100644 --- a/apps/charts/bytestash/templates/virtual-service.yaml +++ b/apps/charts/bytestash/templates/virtual-service.yaml @@ -1,39 +1 @@ -apiVersion: networking.istio.io/v1 -kind: VirtualService -metadata: - name: "{{ .Release.Name }}-public" - namespace: "{{ .Release.Namespace }}" -spec: - gateways: - - "{{ .Values.globals.istio.gateways.public }}" - - mesh - hosts: - - "{{ .Values.subdomain }}.{{ .Values.globals.domain }}" - - mesh - http: - - route: - - destination: - host: "{{ .Release.Name }}" - port: - number: 80 - ---- -apiVersion: networking.istio.io/v1 -kind: VirtualService -metadata: - name: "{{ .Release.Name }}-private" - namespace: "{{ .Release.Namespace }}" -spec: - gateways: - - "{{ .Values.globals.istio.gateways.private }}" - - mesh - hosts: - - "{{ .Values.subdomain }}.{{ .Values.globals.domain }}" - - mesh - http: - - route: - - destination: - host: "{{ .Release.Name }}" - port: - number: 80 - +{{ include "common.virtualService" . }} diff --git a/apps/charts/bytestash/values.yaml b/apps/charts/bytestash/values.yaml index 3aee22b..c357e3b 100644 --- a/apps/charts/bytestash/values.yaml +++ b/apps/charts/bytestash/values.yaml @@ -1,4 +1,69 @@ -subdomain: bytestash image: repository: ghcr.io/jordan-dalby/bytestash tag: 1.5.9@sha256:9c17b5510ca45c976fe23b0d4705ad416aa58d4bf756a70e03ef1f08cf7801fd + pullPolicy: IfNotPresent + +subdomain: bytestash + +# Deployment configuration +deployment: + strategy: Recreate + replicas: 1 + revisionHistoryLimit: 0 + +# Container configuration +container: + port: 5000 + healthProbe: + type: tcpSocket + +# Service configuration +service: + port: 80 + type: ClusterIP + +# Volume configuration +volumes: + - name: data + mountPath: /data/snippets + persistentVolumeClaim: data + +# Persistent volume claims +persistentVolumeClaims: + - name: data + size: 1Gi + +# VirtualService configuration +virtualService: + enabled: true + gateways: + public: true + private: true + +# OIDC/Authentik configuration +oidc: + enabled: true + redirectUris: + - "/api/auth/oidc/callback" + +# Environment variables +env: + ALLOW_NEW_ACCOUNTS: "true" + DISABLE_INTERNAL_ACCOUNTS: "true" + OIDC_ENABLED: "true" + OIDC_DISPLAY_NAME: OIDC + OIDC_CLIENT_ID: + valueFrom: + secretKeyRef: + name: "{release}-client" + key: clientId + OIDC_CLIENT_SECRET: + valueFrom: + secretKeyRef: + name: "{release}-client" + key: clientSecret + OIDC_ISSUER_URL: + valueFrom: + secretKeyRef: + name: "{release}-client" + key: configurationIssuer diff --git a/apps/charts/common/MIGRATION.md b/apps/charts/common/MIGRATION.md new file mode 100644 index 0000000..bf013d4 --- /dev/null +++ b/apps/charts/common/MIGRATION.md @@ -0,0 +1,424 @@ +# Migration Guide: Converting Charts to Use Common Library + +This guide explains how to migrate existing Helm charts to use the common library chart, significantly reducing code duplication and standardizing patterns across all charts. + +## Overview + +Migrating a chart to use the common library involves: +1. Adding the common library as a dependency +2. Restructuring `values.yaml` to match the standardized format +3. Replacing template files with simple includes +4. Testing the migrated chart + +## Benefits + +- **96% code reduction**: Templates go from ~150-200 lines to ~6 lines +- **Single source of truth**: Bug fixes and improvements benefit all charts +- **Consistency**: All charts follow the same patterns +- **Easier maintenance**: Less code to review and maintain + +## Step-by-Step Migration + +### Step 1: Add Common Library Dependency + +Update `Chart.yaml` to include the common library: + +```yaml +apiVersion: v2 +version: 1.0.0 +name: your-app +dependencies: + - name: common + version: 1.0.0 + repository: file://../common +``` + +### Step 2: Restructure values.yaml + +Convert your existing `values.yaml` to the standardized format: + +#### Before (Old Format): +```yaml +image: + repository: docker.io/org/app + tag: latest +subdomain: myapp +``` + +#### After (Standardized Format): +```yaml +image: + repository: docker.io/org/app + tag: latest + pullPolicy: IfNotPresent + +subdomain: myapp + +# Deployment configuration +deployment: + strategy: Recreate # or RollingUpdate + replicas: 1 + revisionHistoryLimit: 0 + +# Container configuration +container: + port: 80 # or use ports: array for multiple ports + healthProbe: + type: httpGet # or tcpSocket + path: /ping # for httpGet + +# Service configuration +service: + port: 80 + type: ClusterIP + +# Volume configuration +volumes: + - name: data + mountPath: /data + persistentVolumeClaim: data # Will be prefixed with release name + +# Persistent volume claims +persistentVolumeClaims: + - name: data + size: 1Gi + +# VirtualService configuration +virtualService: + enabled: true + gateways: + public: true + private: true + +# Environment variables +env: + MY_VAR: "value" + URL: + value: "https://{subdomain}.{domain}" # Use placeholders + SECRET: + valueFrom: + secretKeyRef: + name: "{release}-secrets" + key: apiKey +``` + +### Step 3: Replace Template Files + +Replace your template files with simple includes: + +#### deployment.yaml +**Before:** ~50-100 lines of template code +**After:** +```yaml +{{ include "common.deployment" . }} +``` + +#### service.yaml +**Before:** ~15-20 lines +**After:** +```yaml +{{ include "common.service" . }} +``` + +#### pvc.yaml +**Before:** ~20-30 lines per PVC +**After:** +```yaml +{{ include "common.pvc" . }} +``` + +#### virtual-service.yaml +**Before:** ~40-50 lines +**After:** +```yaml +{{ include "common.virtualService" . }} +``` + +#### dns.yaml (if applicable) +**Before:** ~20 lines +**After:** +```yaml +{{ include "common.dns" . }} +``` + +#### oidc.yaml (if applicable) +**Before:** ~20 lines +**After:** +```yaml +{{ include "common.oidc" . }} +``` + +### Step 4: Update Dependencies + +Build the chart dependencies: + +```bash +cd apps/charts/your-app +helm dependency build +``` + +### Step 5: Test the Migration + +Test that the chart renders correctly: + +```bash +helm template your-app apps/charts/your-app \ + --set globals.environment=prod \ + --set globals.domain=olsen.cloud \ + --set globals.timezone=Europe/Amsterdam \ + --set globals.istio.gateways.public=shared/public \ + --set globals.istio.gateways.private=shared/private \ + --set globals.authentik.ref.name=authentik \ + --set globals.authentik.ref.namespace=shared \ + --set globals.networking.private.ip=192.168.20.180 +``` + +Verify: +- All resources render correctly +- Environment variables use placeholders correctly +- Ports and volumes are configured properly +- Health probes work as expected + +## Common Patterns + +### Single Port Application + +```yaml +# values.yaml +container: + port: 80 + healthProbe: + type: httpGet + path: /ping + +service: + port: 80 +``` + +### Multiple Ports Application + +```yaml +# values.yaml +container: + ports: + - name: http + port: 3000 + protocol: TCP + - name: ssh + port: 22 + protocol: TCP + healthProbe: + type: tcpSocket + port: http # Use named port + +service: + ports: + - name: http + port: 80 + targetPort: 3000 + type: ClusterIP + - name: ssh + port: 2206 + targetPort: 22 + type: LoadBalancer + serviceName: ssh # Results in: {release}-ssh +``` + +### Environment Variables with Placeholders + +```yaml +env: + # Simple value + NODE_ENV: "production" + + # Value with placeholders + BASE_URL: + value: "https://{subdomain}.{domain}" + + # Secret reference with placeholder + DATABASE_URL: + valueFrom: + secretKeyRef: + name: "{release}-database" + key: url + + # Multiple placeholders + SSH_DOMAIN: + value: "ssh-{subdomain}.{domain}" +``` + +### Multiple PVCs + +```yaml +volumes: + - name: data + mountPath: /data + persistentVolumeClaim: data + - name: config + mountPath: /config + persistentVolumeClaim: config + +persistentVolumeClaims: + - name: data + size: 10Gi + - name: config + size: 1Gi +``` + +### External PVCs (Shared Volumes) + +```yaml +volumes: + - name: shared-books + mountPath: /books + persistentVolumeClaim: books # Uses PVC name as-is (not prefixed) +``` + +## Available Placeholders + +See [TEMPLATING.md](./TEMPLATING.md) for complete placeholder documentation. + +| Placeholder | Maps To | Example | +|------------|---------|---------| +| `{release}` | `.Release.Name` | `blinko`, `audiobookshelf` | +| `{namespace}` | `.Release.Namespace` | `prod`, `default` | +| `{fullname}` | `common.fullname` helper | `blinko`, `test-release-blinko` | +| `{subdomain}` | `.Values.subdomain` | `blinko`, `code` | +| `{domain}` | `.Values.globals.domain` | `olsen.cloud` | +| `{timezone}` | `.Values.globals.timezone` | `Europe/Amsterdam` | + +## Migration Examples + +### Example 1: Simple Application (audiobookshelf) + +**Before:** +- 6 template files with ~169 total lines +- Custom health probe configuration +- Multiple PVCs + +**After:** +- 6 template files with 6 total lines (one include each) +- Standardized health probe using `/ping` endpoint +- Same functionality, 96% less code + +### Example 2: Multi-Port Application (forgejo) + +**Before:** +- Multiple services (HTTP + SSH) +- Complex port configuration +- Multiple container ports + +**After:** +- Uses `container.ports` array +- Uses `service.ports` array +- Each service can have different type (ClusterIP vs LoadBalancer) + +### Example 3: Application with Database (blinko) + +**Before:** +- Environment variables with template syntax +- Secret references +- Database connection strings + +**After:** +- Environment variables use placeholders +- Secret references use `{release}` placeholder +- Cleaner, more maintainable values.yaml + +## Handling Legacy Resources + +Some charts have legacy resources that should be kept as-is: + +- **OidcClient** (legacy) - Keep existing `client.yaml` template +- **PostgresDatabase** (legacy) - Keep existing `database.yaml` template +- **GenerateSecret** - Keep existing `secret.yaml` template + +These will be migrated separately when the common library adds support for them. + +## Troubleshooting + +### Issue: Dependency Not Found + +**Error:** `found in Chart.yaml, but missing in charts/ directory: common` + +**Solution:** +```bash +cd apps/charts/your-app +rm -rf charts +helm dependency build +``` + +### Issue: Template Syntax Errors + +**Error:** Template rendering fails with syntax errors + +**Solution:** +- Ensure all placeholders use curly braces: `{release}`, not `{{release}}` +- Check that values.yaml uses proper YAML structure +- Verify globals are provided when testing + +### Issue: Environment Variables Not Replaced + +**Problem:** Placeholders like `{subdomain}` appear literally in output + +**Solution:** +- Ensure you're using the latest common library version +- Rebuild dependencies: `helm dependency build` +- Check that placeholders are in `env:` section, not elsewhere + +### Issue: Health Probe Not Working + +**Problem:** Health probe uses wrong port or type + +**Solution:** +- For named ports, use: `port: http` (the port name) +- For numeric ports, use: `port: 80` (the port number) +- Ensure `container.healthProbe.type` is set correctly + +### Issue: Multiple Services Not Created + +**Problem:** Only one service is created when multiple are expected + +**Solution:** +- Use `service.ports` array (not `service.port`) +- Each port entry creates a separate service +- Use `serviceName` in port config for custom names + +## Testing Checklist + +After migration, verify: + +- [ ] Chart renders without errors +- [ ] All resources are created (Deployment, Service, PVCs, etc.) +- [ ] Environment variables are correctly templated +- [ ] Secret references use correct names +- [ ] Health probes are configured correctly +- [ ] Ports match expected values +- [ ] Volumes mount correctly +- [ ] VirtualServices route to correct service +- [ ] DNS record created (if applicable) +- [ ] OIDC client created (if applicable) + +## Post-Migration + +After successful migration: + +1. **Remove old template code** - Templates are now just includes +2. **Update documentation** - Document any app-specific requirements +3. **Test in cluster** - Deploy and verify functionality +4. **Commit changes** - Include Chart.lock in git (dependencies are tracked) + +## Next Steps + +Once migrated, you can: + +- **Add features easily** - New environment variables, volumes, etc. +- **Update patterns** - Changes to common library benefit all charts +- **Maintain consistency** - All charts follow same patterns +- **Reduce bugs** - Single source of truth means fewer places for bugs + +## Need Help? + +- Check [TEMPLATING.md](./TEMPLATING.md) for placeholder documentation +- Review migrated charts: `audiobookshelf`, `forgejo`, `baikal`, `blinko` +- Test with `helm template --debug` to see rendered output diff --git a/apps/charts/common/README.md b/apps/charts/common/README.md index 684c754..e734db3 100644 --- a/apps/charts/common/README.md +++ b/apps/charts/common/README.md @@ -2,7 +2,7 @@ This is a Helm library chart that provides shared template helpers for all application charts in this repository. -## Usage +## Quick Start To use this library chart in your application chart, add it as a dependency in your `Chart.yaml`: @@ -16,11 +16,42 @@ dependencies: repository: file://../common ``` -Then run `helm dependency update` to download the dependency. +Then run `helm dependency build` to download the dependency. + +## Documentation + +- **[MIGRATION.md](./MIGRATION.md)** - Complete guide for migrating existing charts +- **[TEMPLATING.md](./TEMPLATING.md)** - Guide to using placeholders in values.yaml + +## Available Templates + +The library provides full resource templates that can be included directly: + +- `common.deployment` - Full Deployment resource +- `common.service` - Full Service resource(s) - supports multiple services +- `common.pvc` - Full PVC resources - supports multiple PVCs +- `common.virtualService` - Full VirtualService resources (public + private) +- `common.dns` - Full DNSRecord resource +- `common.oidc` - Full AuthentikClient resource + +## Usage Example + +Replace your template files with simple includes: + +```yaml +# deployment.yaml +{{ include "common.deployment" . }} + +# service.yaml +{{ include "common.service" . }} + +# pvc.yaml +{{ include "common.pvc" . }} +``` ## Available Helpers -All helpers use the `common.*` prefix: +Helper functions for custom templates: - `common.fullname` - Full name of the release - `common.name` - Name of the chart @@ -38,17 +69,19 @@ All helpers use the `common.*` prefix: - `common.virtualServiceGatewaysPublic` - Public gateway list - `common.virtualServiceGatewaysPrivate` - Private gateway list -## Example - -In your templates, use the helpers like this: - -```yaml -metadata: - name: {{ include "common.fullname" . }} - labels: - {{- include "common.labels" . | nindent 4 }} -``` - ## Values Structure -The library expects a standardized values structure. See `audiobookshelf/values.yaml` for an example. +The library expects a standardized values structure. See migrated charts (`audiobookshelf`, `forgejo`, `baikal`, `blinko`) for examples. + +## Placeholders + +Use placeholders in `values.yaml` for dynamic values: + +- `{release}` - Release name +- `{namespace}` - Release namespace +- `{fullname}` - Full app name +- `{subdomain}` - Application subdomain +- `{domain}` - Global domain +- `{timezone}` - Global timezone + +See [TEMPLATING.md](./TEMPLATING.md) for complete documentation. diff --git a/apps/charts/common/common-1.0.0.tgz b/apps/charts/common/common-1.0.0.tgz index b59541e3c6c0ffeaee5f4402fc3e41ece950b5b7..95732afefa2ac320e07a53d5176bcbb702e0a0ff 100644 GIT binary patch literal 34630 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 UWVYZ#zA8I#&|7x{qyxv}`a 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 S_WuF^0RR8gpEX_p`Tzig4}P)$ literal 25244 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