Convert all 15 cluster services from embedded API format to wild-directory packages using the unified manifest format: - metallb, traefik, cert-manager, longhorn, snapshot-controller - nfs, smtp, coredns, node-feature-discovery, nvidia-device-plugin - externaldns, docker-registry, headlamp, crowdsec, utils Changes: - wild-manifest.yaml → manifest.yaml with is, defaultConfig, requires - Eliminated configReferences and serviceConfig fields - Flattened kustomize.template/ to package root - Template vars use flat defaultConfig keys - install.sh paths updated for apps/ layout - Updated 9 app manifests: cloud.smtp.* → apps.smtp.* with requires - Removed dead install: true field from 6 app manifests Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
44 lines
1.3 KiB
YAML
44 lines
1.3 KiB
YAML
name: discourse
|
|
is: discourse
|
|
description: Discourse is a modern, open-source discussion platform designed for online communities and forums.
|
|
version: 3.5.3
|
|
icon: https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/discourse.svg
|
|
requires:
|
|
- name: postgres
|
|
- name: redis
|
|
- name: smtp
|
|
defaultConfig:
|
|
namespace: discourse
|
|
externalDnsDomain: "{{ .cloud.domain }}"
|
|
timezone: UTC
|
|
port: 3000
|
|
storage: 10Gi
|
|
adminEmail: "{{ .operator.email }}"
|
|
adminUsername: admin
|
|
siteName: "Community"
|
|
domain: discourse.{{ .cloud.domain }}
|
|
dbHostname: "{{ .apps.postgres.host }}"
|
|
dbPort: "{{ .apps.postgres.port }}"
|
|
dbUsername: discourse
|
|
dbName: discourse
|
|
redisHostname: "{{ .apps.redis.host }}"
|
|
tlsSecretName: wildcard-wild-cloud-tls
|
|
smtp:
|
|
enabled: false
|
|
host: "{{ .apps.smtp.host }}"
|
|
port: "{{ .apps.smtp.port }}"
|
|
user: "{{ .apps.smtp.user }}"
|
|
from: "{{ .apps.smtp.from }}"
|
|
tls: "{{ .apps.smtp.tls }}"
|
|
startTls: "{{ .apps.smtp.startTls }}"
|
|
defaultSecrets:
|
|
- key: adminPassword
|
|
- key: secretKeyBase
|
|
default: "{{ random.AlphaNum 64 }}"
|
|
- key: smtpPassword
|
|
- key: dbPassword
|
|
- key: dbUrl
|
|
default: "postgres://{{ .app.dbUsername }}:{{ .secrets.dbPassword }}@{{ .app.dbHostname }}:{{ .app.dbPort }}/{{ .app.dbName }}?sslmode=disable"
|
|
requiredSecrets:
|
|
- postgres.password
|
|
- redis.password |