convert to use app-template

This commit is contained in:
2024-06-01 16:45:20 -05:00
parent b61f128966
commit 8cce524c77
3 changed files with 186 additions and 88 deletions

View File

@@ -1,21 +1,39 @@
apiVersion: v2 apiVersion: v2
name: outline name: outline
version: 1.0.0 version: 1.0.0
description: Outline Wiki
keywords:
- wiki
- documentation
sources: sources:
- https://github.com/outline/outline - https://github.com/outline/outline
- https://github.com/minio/operator - https://github.com/minio/operator
- https://github.com/alexlebens/helm-charts/charts/outline - https://github.com/bitnami/charts/tree/main/bitnami/redis
- https://github.com/cloudflare/cloudflared
- https://github.com/alexlebens/helm-charts/charts/cloudflared
- https://github.com/alexlebens/helm-charts/charts/postgres-cluster - https://github.com/alexlebens/helm-charts/charts/postgres-cluster
- https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
maintainers:
- name: alexlebens
dependencies: dependencies:
- name: outline - name: app-template
version: 0.6.3 alias: outline
repository: http://alexlebens.github.io/helm-charts repository: https://bjw-s.github.io/helm-charts/
version: 3.2.1
- name: tenant - name: tenant
version: 5.0.15
alias: minio alias: minio
version: 5.0.15
repository: https://operator.min.io/ repository: https://operator.min.io/
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 19.3.4
- name: cloudflared
alias: cloudflared
repository: http://alexlebens.github.io/helm-charts
version: 1.2.0
- name: postgres-cluster - name: postgres-cluster
alias: postgres-16-cluster alias: postgres-16-cluster
version: 3.1.0 version: 3.1.0
repository: http://alexlebens.github.io/helm-charts repository: http://alexlebens.github.io/helm-charts
appVersion: v0.75.2 icon: https://avatars.githubusercontent.com/u/1765001?s=48&v=4
appVersion: v0.76.1

View File

@@ -4,7 +4,7 @@ metadata:
name: outline-key-secret name: outline-key-secret
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: outline-key-secret
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
@@ -36,7 +36,7 @@ metadata:
name: outline-oidc-secret name: outline-oidc-secret
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: outline-oidc-secret
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
@@ -65,10 +65,10 @@ spec:
apiVersion: external-secrets.io/v1beta1 apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: outline-bucket-user-secret name: outline-minio-user-secret
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: outline-bucket-user-secret app.kubernetes.io/name: outline-minio-user-secret
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: database app.kubernetes.io/component: database
@@ -82,14 +82,14 @@ spec:
remoteRef: remoteRef:
conversionStrategy: Default conversionStrategy: Default
decodingStrategy: None decodingStrategy: None
key: /outline/minio/auth key: /cl01tl/outline/minio/auth
metadataPolicy: None metadataPolicy: None
property: AWS_ACCESS_KEY_ID property: AWS_ACCESS_KEY_ID
- secretKey: AWS_SECRET_ACCESS_KEY - secretKey: AWS_SECRET_ACCESS_KEY
remoteRef: remoteRef:
conversionStrategy: Default conversionStrategy: Default
decodingStrategy: None decodingStrategy: None
key: /outline/minio/auth key: /cl01tl/outline/minio/auth
metadataPolicy: None metadataPolicy: None
property: AWS_SECRET_ACCESS_KEY property: AWS_SECRET_ACCESS_KEY
@@ -100,7 +100,7 @@ metadata:
name: outline-minio-root-secret name: outline-minio-root-secret
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: outline-bucket-auth-secret app.kubernetes.io/name: outline-minio-root-secret
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: database app.kubernetes.io/component: database
@@ -114,9 +114,9 @@ spec:
remoteRef: remoteRef:
conversionStrategy: Default conversionStrategy: Default
decodingStrategy: None decodingStrategy: None
key: /outline/minio/root key: /cl01tl/outline/minio/config
metadataPolicy: None metadataPolicy: None
property: config.env property: root-config.env
--- ---
apiVersion: external-secrets.io/v1beta1 apiVersion: external-secrets.io/v1beta1
@@ -125,7 +125,7 @@ metadata:
name: outline-minio-config-secret name: outline-minio-config-secret
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: outline-bucket-auth-secret app.kubernetes.io/name: outline-minio-config-secret
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: database app.kubernetes.io/component: database
@@ -139,7 +139,7 @@ spec:
remoteRef: remoteRef:
conversionStrategy: Default conversionStrategy: Default
decodingStrategy: None decodingStrategy: None
key: /outline/minio/config key: /cl01tl/outline/minio/config
metadataPolicy: None metadataPolicy: None
property: config.env property: config.env
@@ -150,7 +150,7 @@ metadata:
name: outline-postgresql-16-cluster-backup-secret name: outline-postgresql-16-cluster-backup-secret
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: outline-postgresql-16-cluster-backup-secret
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: database app.kubernetes.io/component: database

View File

@@ -1,59 +1,148 @@
outline: outline:
ingress: controllers:
enabled: true main:
className: traefik type: deployment
annotations: replicas: 1
traefik.ingress.kubernetes.io/router.entrypoints: websecure strategy: Recreate
traefik.ingress.kubernetes.io/router.tls: "true" revisionHistoryLimit: 3
cert-manager.io/cluster-issuer: letsencrypt-issuer containers:
host: outline.alexlebens.net main:
persistence: image:
type: s3 repository: outlinewiki/outline
s3: tag: 0.76.1
credentialsSecret: outline-bucket-user-secret pullPolicy: IfNotPresent
region: us-east-1 env:
bucketName: outline - name: NODE_ENV
bucketUrl: https://minio-outline-api.alexlebens.net/outline value: production
forcePathStyle: false - name: URL
outline: value: https://wiki.alexlebens.dev
url: https://outline.alexlebens.net - name: PORT
secretKey: value: 3000
existingSecretName: outline-key-secret - name: SECRET_KEY
existingSecretKey: secret-key valueFrom:
utilsSecret: secretKeyRef:
existingSecretName: outline-key-secret name: outline-key-secret
existingSecretKey: utils-key key: secret-key
database: - name: UTILS_SECRET
usernameSecret: valueFrom:
existingSecretName: outline-postgresql-16-cluster-app secretKeyRef:
existingSecretKey: username name: outline-key-secret
passwordSecret: key: utils-key
existingSecretName: outline-postgresql-16-cluster-app - name: POSTGRES_USERNAME
existingSecretKey: password valueFrom:
databaseName: secretKeyRef:
existingSecretName: outline-postgresql-16-cluster-app name: outline-postgresql-16-cluster-app
existingSecretKey: dbname key: username
databaseHost: - name: POSTGRES_PASSWORD
existingSecretName: outline-postgresql-16-cluster-app valueFrom:
existingSecretKey: host secretKeyRef:
databasePort: name: outline-postgresql-16-cluster-app
existingSecretName: outline-postgresql-16-cluster-app key: password
existingSecretKey: port - name: POSTGRES_DATABASE_NAME
auth: valueFrom:
oidc: secretKeyRef:
enabled: true name: outline-postgresql-16-cluster-app
clientId: key: dbname
existingSecretName: outline-oidc-secret - name: POSTGRES_DATABASE_HOST
existingSecretKey: client valueFrom:
clientSecret: secretKeyRef:
existingSecretName: outline-oidc-secret name: outline-postgresql-16-cluster-app
existingSecretKey: secret key: host
authUri: https://authentik.alexlebens.net/application/o/authorize/ - name: POSTGRES_DATABASE_PORT
tokenUri: https://authentik.alexlebens.net/application/o/token/ valueFrom:
userinfoUri: https://authentik.alexlebens.net/application/o/userinfo/ secretKeyRef:
usernameClaim: email name: outline-postgresql-16-cluster-app
displayName: Authentik key: port
scopes: openid profile email - name: DATABASE_URL
value: postgres://$(POSTGRES_USERNAME):$(POSTGRES_PASSWORD)@$(POSTGRES_DATABASE_HOST):$(POSTGRES_DATABASE_PORT)/$(POSTGRES_DATABASE_NAME)
- name: DATABASE_URL_TEST
value: postgres://$(POSTGRES_USERNAME):$(POSTGRES_PASSWORD)@$(POSTGRES_DATABASE_HOST):$(POSTGRES_DATABASE_PORT)/$(POSTGRES_DATABASE_NAME)-test
- name: DATABASE_CONNECTION_POOL_MIN
value: "2"
- name: DATABASE_CONNECTION_POOL_MAX
value: "20"
- name: PGSSLMODE
value: disable
- name: REDIS_URL
value: redis://outline-redis-master:6379
- name: FILE_STORAGE
value: s3
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: outline-minio-user-secret
key: AWS_ACCESS_KEY_ID
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: outline-minio-user-secret
key: AWS_SECRET_ACCESS_KEY
- name: AWS_REGION
value: us-east-1
- name: AWS_S3_UPLOAD_BUCKET_NAME
value: outline
- name: AWS_S3_UPLOAD_BUCKET_URL
value: http://minio.outline:80/outline
- name: AWS_S3_ACCELERATE_URL
value: http://minio.outline:80/outline
- name: AWS_S3_FORCE_PATH_STYLE
value: false
- name: AWS_S3_ACL
value: private
- name: FILE_STORAGE_UPLOAD_MAX_SIZE
value: "26214400"
- name: FORCE_HTTPS
value: false
- name: ENABLE_UPDATES
value: false
- name: WEB_CONCURRENCY
value: 1
- name: FILE_STORAGE_IMPORT_MAX_SIZE
value: 5120000
- name: LOG_LEVEL
value: info
- name: DEFAULT_LANGUAGE
value: en_US
- name: RATE_LIMITER_ENABLED
value: false
- name: DEVELOPMENT_UNSAFE_INLINE_CSP
value: false
- name: OIDC_CLIENT_ID
valueFrom:
secretKeyRef:
name: outline-oidc-secret
key: client
- name: OIDC_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: outline-oidc-secret
key: secret
- name: OIDC_AUTH_URI
value: https://auth.alexlebens.dev/application/o/authorize/
- name: OIDC_TOKEN_URI
value: https://auth.alexlebens.dev/application/o/token/
- name: OIDC_USERINFO_URI
value: https://auth.alexlebens.dev/application/o/userinfo/
- name: OIDC_USERNAME_CLAIM
value: email
- name: OIDC_DISPLAY_NAME
value: Authentik
- name: OIDC_SCOPES
value: openid profile email
resources:
requests:
cpu: 100m
memory: 256Mi
serviceAccount:
create: true
service:
main:
controller: main
ports:
http:
port: 3000
targetPort: 3000
protocol: HTTP
minio: minio:
existingSecret: existingSecret:
name: outline-minio-root-secret name: outline-minio-root-secret
@@ -76,20 +165,6 @@ minio:
certificate: certificate:
requestAutoCert: false requestAutoCert: false
ingress: ingress:
api:
enabled: true
ingressClassName: traefik
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
cert-manager.io/cluster-issuer: letsencrypt-issuer
tls:
- secretName: minio-outline-api-secret-tls
hosts:
- minio-outline-api.alexlebens.net
host: minio-outline-api.alexlebens.net
path: /
pathType: Prefix
console: console:
enabled: true enabled: true
ingressClassName: traefik ingressClassName: traefik
@@ -104,9 +179,14 @@ minio:
host: minio-outline.alexlebens.net host: minio-outline.alexlebens.net
path: / path: /
pathType: Prefix pathType: Prefix
redis:
architecture: standalone
auth:
enabled: false
cloudflared:
existingSecretName: freshrss-cloudflared-secret
postgres-16-cluster: postgres-16-cluster:
mode: standalone mode: standalone
kubernetesClusterName: cl01tl
cluster: cluster:
walStorage: walStorage:
storageClass: local-path storageClass: local-path