Files
kforge/example/kforge.yml
T
nate.lubitz 4ee1b9e13c
Publish Action Image / build (push) Successful in 1m8s
more updates
2026-06-29 15:14:55 +10:00

95 lines
2.1 KiB
YAML

meta:
name: main-ui
tenant: midterm-tenant
registry:
url: registry.natelubitz.com
pull_secret: regcred
# DNS records are managed by external-dns inside the cluster.
# Set target to your node's public IP or a static hostname.
# ${KFORGE_NODE_IP} is resolved from the CI secret at generate time.
dns:
target: ${KFORGE_NODE_IP}
cluster:
tls_issuer: letsencrypt-prod
ingress_class: nginx
cnpg:
host: cnpg-main-rw.default.svc.cluster.local
cluster_name: cnpg-main
superuser_secret: cnpg-main-superuser
defaults:
port: 3000
health_check:
path: /healthcheck
infrastructure:
database:
provider: cnpg
cache:
provider: valkey
mode: standalone
# Preview environments are deployed per pull request.
# Run `kforge gitea-preview` to generate .gitea/workflows/preview.yml
preview:
enabled: true
base_environment: staging
namespace_prefix: preview-pr
hostname_template: "pr-${PR_NUMBER}.${name}.natelubitz.com"
environments:
staging:
namespace: staging
image_tag: latest
env_vars:
- name: VITE_BASE_URL
value: https://api-staging.midtermtenant.com
type: plain
ingress:
hosts:
- hostname: mtt-ui-staging.natelubitz.com
tls: true
dns_record: true
auth:
enabled: true
users:
- nate
lifecycle:
delete: false
production:
namespace: production
image_tag: latest
env_vars:
- name: VITE_BASE_URL
value: https://api.midtermtenant.com
type: plain
ingress:
hosts:
- hostname: mtt-ui.natelubitz.com
tls: true
dns_record: true
- hostname: midtermtenant.com
tls: true
dns_record: false
auth:
enabled: false
infrastructure:
cache:
mode: cluster
replicas: 3
cron_jobs:
- name: db-cleanup
schedule: "0 2 * * *"
command: ["node", "scripts/cleanup.js"]
inherit_env: true
env_vars:
- name: CLEANUP_BATCH_SIZE
value: "500"
type: plain
lifecycle:
delete: false