gitops: plane - project management
This commit is contained in:
135
gitops/home-kubernetes/plane/helmrelease.yaml
Normal file
135
gitops/home-kubernetes/plane/helmrelease.yaml
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
# helmrelease.yaml
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: plane
|
||||||
|
namespace: plane
|
||||||
|
spec:
|
||||||
|
interval: 30m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: plane-ce
|
||||||
|
version: "1.16.0" # pin version, avoid 'stable'
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: plane
|
||||||
|
namespace: flux-system
|
||||||
|
interval: 12h
|
||||||
|
timeout: 10m
|
||||||
|
install:
|
||||||
|
createNamespace: true
|
||||||
|
remediation:
|
||||||
|
retries: 3
|
||||||
|
upgrade:
|
||||||
|
remediation:
|
||||||
|
retries: 3
|
||||||
|
values:
|
||||||
|
planeVersion: "v1.16.0"
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
appHost: "plane.lab.home.hrajfrisbee.cz"
|
||||||
|
minioHost: "plane-minio.lab.home.hrajfrisbee.cz"
|
||||||
|
rabbitmqHost: "plane-mq.lab.home.hrajfrisbee.cz" # optional
|
||||||
|
ingressClass: nginx
|
||||||
|
ingress_annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-production
|
||||||
|
# nginx.ingress.kubernetes.io/proxy-body-size: "10m"
|
||||||
|
|
||||||
|
# PostgreSQL - local stateful or external
|
||||||
|
postgres:
|
||||||
|
local_setup: true
|
||||||
|
storageClass: freenas-iscsi
|
||||||
|
volumeSize: 10Gi
|
||||||
|
# assign_cluster_ip: false
|
||||||
|
# nodeSelector: {}
|
||||||
|
# tolerations: []
|
||||||
|
# affinity: {}
|
||||||
|
|
||||||
|
# Redis/Valkey
|
||||||
|
redis:
|
||||||
|
local_setup: true
|
||||||
|
storageClass: freenas-iscsi
|
||||||
|
volumeSize: 2Gi
|
||||||
|
|
||||||
|
# RabbitMQ
|
||||||
|
rabbitmq:
|
||||||
|
local_setup: true
|
||||||
|
storageClass: freenas-iscsi
|
||||||
|
volumeSize: 1Gi
|
||||||
|
|
||||||
|
# MinIO (S3-compatible storage)
|
||||||
|
minio:
|
||||||
|
local_setup: true
|
||||||
|
storageClass: freenas-iscsi
|
||||||
|
volumeSize: 10Gi
|
||||||
|
|
||||||
|
env:
|
||||||
|
# Database credentials (change these!)
|
||||||
|
pgdb_username: plane
|
||||||
|
pgdb_password: plane-not-so-secret # TODO: do this properly
|
||||||
|
pgdb_name: plane
|
||||||
|
|
||||||
|
# Application secret (MUST change - used for encryption)
|
||||||
|
secret_key: 6u8w9T8P9zolcTMTC1DnErasyHnE6QGyB77tCPPFC/mnbPykb6DfiMW6id3Qy+Ly
|
||||||
|
|
||||||
|
# Storage
|
||||||
|
docstore_bucket: uploads
|
||||||
|
doc_upload_size_limit: 5242880
|
||||||
|
|
||||||
|
# Optional: External services (when local_setup: false)
|
||||||
|
# pgdb_remote_url: "postgresql://user:pass@host:5432/plane"
|
||||||
|
# remote_redis_url: "redis://host:6379/"
|
||||||
|
# aws_access_key: ""
|
||||||
|
# aws_secret_access_key: ""
|
||||||
|
# aws_region: ""
|
||||||
|
# aws_s3_endpoint_url: ""
|
||||||
|
|
||||||
|
# Workload resources (adjust based on cluster capacity)
|
||||||
|
web:
|
||||||
|
replicas: 2
|
||||||
|
memoryLimit: 1000Mi
|
||||||
|
cpuLimit: 500m
|
||||||
|
memoryRequest: 128Mi
|
||||||
|
cpuRequest: 100m
|
||||||
|
|
||||||
|
api:
|
||||||
|
replicas: 2
|
||||||
|
memoryLimit: 1000Mi
|
||||||
|
cpuLimit: 500m
|
||||||
|
memoryRequest: 128Mi
|
||||||
|
cpuRequest: 100m
|
||||||
|
|
||||||
|
worker:
|
||||||
|
replicas: 1
|
||||||
|
memoryLimit: 1000Mi
|
||||||
|
cpuLimit: 500m
|
||||||
|
|
||||||
|
beatworker:
|
||||||
|
replicas: 1
|
||||||
|
memoryLimit: 500Mi
|
||||||
|
cpuLimit: 250m
|
||||||
|
|
||||||
|
space:
|
||||||
|
replicas: 1
|
||||||
|
memoryLimit: 500Mi
|
||||||
|
cpuLimit: 250m
|
||||||
|
|
||||||
|
admin:
|
||||||
|
replicas: 1
|
||||||
|
memoryLimit: 500Mi
|
||||||
|
cpuLimit: 250m
|
||||||
|
|
||||||
|
live:
|
||||||
|
replicas: 1
|
||||||
|
memoryLimit: 500Mi
|
||||||
|
cpuLimit: 250m
|
||||||
|
|
||||||
|
# TLS (requires cert-manager)
|
||||||
|
ssl:
|
||||||
|
createIssuer: false
|
||||||
|
generateCerts: true
|
||||||
|
issuer: letsencrypt-prod
|
||||||
|
# email: admin@example.com
|
||||||
|
# server: https://acme-v02.api.letsencrypt.org/directory
|
||||||
|
# tls_secret_name: plane-tls # if using existing cert
|
||||||
8
gitops/home-kubernetes/plane/helmrepository.yaml
Normal file
8
gitops/home-kubernetes/plane/helmrepository.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: plane
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 1h
|
||||||
|
url: https://helm.plane.so/
|
||||||
4
gitops/home-kubernetes/plane/namespace.yaml
Normal file
4
gitops/home-kubernetes/plane/namespace.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: plane
|
||||||
Reference in New Issue
Block a user