cloudlane-one / k8s-cloud

🌐💻☁️ Production-ready, provider-independent & easily manageable k8s cloud setup for self-hosting
MIT License
4 stars 0 forks source link

Automate chart-config via standardized sub-charts #121

Open lorenzo-w opened 7 months ago

lorenzo-w commented 7 months ago

Each of the top-level options below is to be its own sub-chart defining a standardized interface (via json schema + options for KubeApps UI), default options, completing info from standard cluster secrets and saving them to a namespace-local secret, providing setup hooks where needed (s3, sso), and completing default resources via kyverno policies (ingress, storage, topology). Options may also be accessed and used by parent-charts (e.g. ingress hosts or pvc sizes).

topology:
  colocation: "off | best-effort | strict"
  defaults:
    zone: ""
    backbone: false

storage:
  sizes: {}
    # example-pvc: 20GiB
  defaults:
    encrypted: false
    daily_backup: true
    pre_upgrade_snapshot: true
    daily_snapshot: true

ingress:
  # fetch cluster apex domain from secret
  subdomains: {}
    # example-ingress: "example-subdomain"
  auth_proxy:
    subdomain: "oauth"
    restrict_groups: []
      # - "cluster-admins"
  defaults:
    auto_tls: true
    auto_dns: true
    auth_proxy: false

sso:
  auto_redirect: true
  keycloak:
    host: "keycloak.sso-system.svc.cluster.local"
    port: ""
    admin-secret:
      name: idp-admin
      namespace: sso-system
      key: password
  oidc: {}
  saml: {}

smtp: {} # set connection params or retreive them from a referenced secret

s3: {} # set connection params or retreive them from a referenced secret

org: {} # set config params or retreive them from a referenced configmap
lorenzo-w commented 1 month ago

Kyverno policies: