installer cmd line tool
diff --git a/core/installer/values-tmpl/certificate-issuer.yaml b/core/installer/values-tmpl/certificate-issuer.yaml
new file mode 100644
index 0000000..46a5345
--- /dev/null
+++ b/core/installer/values-tmpl/certificate-issuer.yaml
@@ -0,0 +1,36 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: certificate-issuer
+ namespace: {{ .Values.NamespacePrefix }}ingress-private
+spec:
+ chart:
+ spec:
+ chart: charts/certificate-issuer
+ sourceRef:
+ kind: GitRepository
+ name: pcloud
+ namespace: {{ .Values.Id }}
+ dependsOn:
+ - name: ingress-private
+ namespace: {{ .Values.NamespacePrefix }}ingress-private
+ interval: 1m0s
+ values:
+ pcloudInstanceId: {{ .Values.Id }}
+ certManager:
+ namespace: {{ .Values.PCloudEnvName }}-cert-manager
+ gandiWebhookSecretReader: {{ .Values.PCloudEnvName }}-cert-manager-webhook-gandi
+ public:
+ name: {{ .Values.Id }}-public
+ server: https://acme-v02.api.letsencrypt.org/directory
+ domain: {{ .Values.Domain }}
+ stagingServer: https://acme-staging-v02.api.letsencrypt.org/directory
+ contactEmail: {{ .Values.ContactEmail }}
+ ingressClass: {{ .Values.PCloudEnvName }}-ingress-public
+ private:
+ name: {{ .Values.Id }}-private
+ server: https://acme-v02.api.letsencrypt.org/directory
+ domain: p.{{ .Values.Domain }}
+ contactEmail: {{ .Values.ContactEmail }}
+ ingressClassName: {{ .Values.Id }}-ingress-private
+ gandiAPIToken: {{ .Values.GandiAPIToken }}
diff --git a/core/installer/values-tmpl/core-auth-storage.yaml b/core/installer/values-tmpl/core-auth-storage.yaml
new file mode 100644
index 0000000..f24ad4b
--- /dev/null
+++ b/core/installer/values-tmpl/core-auth-storage.yaml
@@ -0,0 +1,39 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: core-auth-storage
+ namespace: {{ .Values.NamespacePrefix }}core-auth
+spec:
+ chart:
+ spec:
+ chart: postgresql
+ version: 10.13.5
+ sourceRef:
+ kind: HelmRepository
+ name: bitnami
+ namespace: {{ .Values.Id }}
+ dependsOn:
+ - name: namespaces
+ namespace: {{ .Values.Id }}
+ interval: 1m0s
+ values:
+ fullnameOverride: postgres
+ image:
+ repository: arm64v8/postgres
+ tag: 13.4
+ service:
+ type: ClusterIP
+ port: 5432
+ postgresqlPassword: psswd
+ postgresqlDatabase: kratos
+ persistence:
+ size: 1Gi
+ securityContext:
+ enabled: true
+ fsGroup: 0
+ containerSecurityContext:
+ enabled: true
+ runAsUser: 0
+ volumePermissions:
+ securityContext:
+ runAsUser: 0
diff --git a/core/installer/values-tmpl/core-auth.yaml b/core/installer/values-tmpl/core-auth.yaml
new file mode 100644
index 0000000..eb80745
--- /dev/null
+++ b/core/installer/values-tmpl/core-auth.yaml
@@ -0,0 +1,296 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: core-auth
+ namespace: {{ .Values.NamespacePrefix }}core-auth
+spec:
+ chart:
+ spec:
+ chart: charts/auth
+ sourceRef:
+ kind: GitRepository
+ name: pcloud
+ namespace: {{ .Values.Id }}
+ dependsOn:
+ - name: core-auth-storage
+ namespace: {{ .Values.NamespacePrefix }}core-auth
+ interval: 1m0s
+ values:
+ kratos:
+ fullnameOverride: kratos
+ image:
+ repository: giolekva/ory-kratos
+ tag: latest
+ pullPolicy: Always
+ service:
+ admin:
+ enabled: true
+ type: ClusterIP
+ port: 80
+ name: http
+ public:
+ enabled: true
+ type: ClusterIP
+ port: 80
+ name: http
+ ingress:
+ admin:
+ enabled: true
+ className: {{ .Values.Id }}-ingress-private
+ hosts:
+ - host: kratos.p.{{ .Values.Domain }}
+ paths:
+ - path: /
+ pathType: Prefix
+ tls:
+ - hosts:
+ - kratos.p.{{ .Values.Domain }}
+ public:
+ enabled: true
+ className: {{ .Values.PCloudEnvName }}-ingress-public
+ hosts:
+ - host: accounts.{{ .Values.Domain }}
+ paths:
+ - path: /
+ pathType: Prefix
+ tls:
+ - hosts:
+ - accounts.{{ .Values.Domain }}
+ secretName: cert-accounts.{{ .Values.Domain }}
+ secret:
+ enabled: true
+ kratos:
+ autoMigrate: true
+ development: false
+ config:
+ version: v0.7.1-alpha.1
+ dsn: postgres://postgres:psswd@postgres:5432/kratos?sslmode=disable&max_conns=20&max_idle_conns=4
+ serve:
+ public:
+ base_url: https://accounts.{{ .Values.Domain }}
+ cors:
+ enabled: true
+ debug: false
+ allow_credentials: true
+ allowed_origins:
+ - https://{{ .Values.Domain }}
+ - https://*.{{ .Values.Domain }}
+ admin:
+ base_url: https://kratos.p.{{ .Values.Domain }}/
+ selfservice:
+ default_browser_return_url: https://accounts-ui.{{ .Values.Domain }}
+ whitelisted_return_urls:
+ - https://accounts-ui.{{ .Values.Domain }}
+ methods:
+ password:
+ enabled: true
+ flows:
+ error:
+ ui_url: https://accounts-ui.{{ .Values.Domain }}/error
+ settings:
+ ui_url: https://accounts-ui.{{ .Values.Domain }}/settings
+ privileged_session_max_age: 15m
+ recovery:
+ enabled: false
+ verification:
+ enabled: false
+ logout:
+ after:
+ default_browser_return_url: https://accounts-ui.{{ .Values.Domain }}/login
+ login:
+ ui_url: https://accounts-ui.{{ .Values.Domain }}/login
+ lifespan: 10m
+ after:
+ password:
+ default_browser_return_url: https://accounts-ui.{{ .Values.Domain }}/
+ registration:
+ lifespan: 10m
+ ui_url: https://accounts-ui.{{ .Values.Domain }}/registration
+ after:
+ password:
+ hooks:
+ -
+ hook: session
+ default_browser_return_url: https://accounts-ui.{{ .Values.Domain }}/
+ log:
+ level: debug
+ format: text
+ leak_sensitive_values: true
+ cookies:
+ path: /
+ same_site: None
+ domain: {{ .Values.Domain }}
+ secrets:
+ cookie:
+ - PLEASE-CHANGE-ME-I-AM-VERY-INSECURE
+ # cipher:
+ # - 32-LONG-SECRET-NOT-SECURE-AT-ALL
+ # ciphers:
+ # algorithm: xchacha20-poly1305
+ hashers:
+ argon2:
+ parallelism: 1
+ memory: 128MB
+ iterations: 2
+ salt_length: 16
+ key_length: 16
+ identity:
+ default_schema_url: file:///etc/config/identity.schema.json
+ courier:
+ smtp:
+ connection_uri: smtps://test-z1VmkYfYPjgdPRgPFgmeZ31esT9rUgS%40{{ .Values.Domain }}:iW%213Kk%5EPPLFrZa%24%21bbpTPN9Wv3b8mvwS6ZJvMLtce%23A2%2A4MotD@mx1.{{ .Values.Domain }}
+ identitySchemas:
+ "identity.schema.json": |
+ {
+ "$id": "https://schemas.ory.sh/presets/kratos/quickstart/email-password/identity.schema.json",
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "User",
+ "type": "object",
+ "properties": {
+ "traits": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string",
+ "format": "username",
+ "title": "Username",
+ "minLength": 3,
+ "ory.sh/kratos": {
+ "credentials": {
+ "password": {
+ "identifier": true
+ }
+ }
+ }
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ hydra:
+ fullnameOverride: hydra
+ image:
+ repository: giolekva/ory-hydra
+ tag: latest
+ pullPolicy: Always
+ service:
+ admin:
+ enabled: true
+ type: ClusterIP
+ port: 80
+ name: http
+ public:
+ enabled: true
+ type: ClusterIP
+ port: 80
+ name: http
+ ingress:
+ admin:
+ enabled: true
+ className: {{ .Values.Id }}-ingress-private
+ hosts:
+ - host: hydra.p.{{ .Values.Domain }}
+ paths:
+ - path: /
+ pathType: Prefix
+ tls:
+ - hosts:
+ - hydra.p.{{ .Values.Domain }}
+ public:
+ enabled: true
+ className: {{ .Values.PCloudEnvName }}-ingress-public
+ hosts:
+ - host: hydra.{{ .Values.Domain }}
+ paths:
+ - path: /
+ pathType: Prefix
+ tls:
+ - hosts:
+ - hydra.{{ .Values.Domain }}
+ secretName: cert-hydra.{{ .Values.Domain }}
+ secret:
+ enabled: true
+ maester:
+ enabled: false
+ hydraFullnameOverride: hydra
+ hydra-maester:
+ fullnameOverride: {{ .Values.Id }}-hydra-maester
+ image:
+ repository: giolekva/ory-hydra-maester
+ tag: latest
+ pullPolicy: IfNotPresent
+ adminService:
+ name: hydra
+ port: 80
+ hydra:
+ autoMigrate: true
+ config:
+ version: v1.10.6
+ dsn: postgres://postgres:psswd@postgres:5432/kratos?sslmode=disable&max_conns=20&max_idle_conns=4
+ serve:
+ cookies:
+ same_site_mode: None
+ public:
+ cors:
+ enabled: true
+ debug: false
+ allow_credentials: true
+ allowed_origins:
+ - https://{{ .Values.Domain }}
+ - https://*.{{ .Values.Domain }}
+ admin:
+ # host: localhost
+ cors:
+ allowed_origins:
+ - https://hydra.p.{{ .Values.Domain }}
+ tls:
+ allow_termination_from:
+ - 0.0.0.0/0
+ - 10.42.0.0/16
+ - 10.43.0.0/16
+ - {{ .Values.LighthouseMainIP }}/32
+ tls:
+ allow_termination_from:
+ - 0.0.0.0/0
+ - 10.42.0.0/16
+ - 10.43.0.0/16
+ - {{ .Values.LighthouseMainIP }}/32
+ urls:
+ self:
+ public: https://hydra.{{ .Values.Domain }}
+ issuer: https://hydra.{{ .Values.Domain }}
+ consent: https://accounts-ui.{{ .Values.Domain }}/consent
+ login: https://accounts-ui.{{ .Values.Domain }}/login
+ logout: https://accounts-ui.{{ .Values.Domain }}/logout
+ secrets:
+ system:
+ - youReallyNeedToChangeThis
+ oidc:
+ subject_identifiers:
+ supported_types:
+ - pairwise
+ - public
+ pairwise:
+ salt: youReallyNeedToChangeThis
+ log:
+ level: trace
+ leak_sensitive_values: false
+ ui:
+ certificateIssuer: {{ .Values.Id }}-public
+ ingressClassName: {{ .Values.PCloudEnvName }}-ingress-public
+ domain: {{ .Values.Domain }}
+ internalDomain: p.{{ .Values.Domain }}
+ nebula:
+ lighthouse:
+ name: ui-lighthouse
+ internalIP: {{ .Values.LighthouseMainIP }}
+ externalIP: {{ .Values.PublicIP }}
+ port: "{{ .Values.LighthouseMainPort }}"
+ node:
+ name: ui
+ ipCidr: {{ .Values.LighthouseAuthUIIP }}/24
+ secretName: node-ui-cert
+ certificateAuthority:
+ name: {{ .Values.Id }}
+ namespace: {{ .Values.NamespacePrefix }}ingress-private
diff --git a/core/installer/values-tmpl/ingress-private.yaml b/core/installer/values-tmpl/ingress-private.yaml
new file mode 100644
index 0000000..29f0d98
--- /dev/null
+++ b/core/installer/values-tmpl/ingress-private.yaml
@@ -0,0 +1,71 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: ingress-private
+ namespace: {{ .Values.NamespacePrefix }}ingress-private
+spec:
+ chart:
+ spec:
+ chart: ingress-nginx
+ version: 4.0.3
+ sourceRef:
+ kind: HelmRepository
+ name: ingress-nginx
+ namespace: {{ .Values.Id }}
+ dependsOn:
+ - name: vpn-mesh-config
+ namespace: {{ .Values.NamespacePrefix }}ingress-private
+ interval: 1m0s
+ values:
+ fullnameOverride: {{ .Values.Id }}-nginx-private
+ controller:
+ service:
+ enabled: true
+ type: ClusterIP
+ ingressClassByName: true
+ ingressClassResource:
+ name: {{ .Values.Id }}-ingress-private
+ enabled: true
+ default: false
+ controllerValue: k8s.io/{{ .Values.Id }}-ingress-private
+ extraArgs:
+ default-ssl-certificate: "{{ .Values.Id }}-ingress-private/cert-wildcard.p.{{ .Values.Domain }}"
+ extraVolumes:
+ - name: lighthouse-cert
+ secret:
+ secretName: node-lighthouse-cert
+ - name: config
+ configMap:
+ name: lighthouse-config
+ extraContainers:
+ - name: lighthouse
+ image: giolekva/nebula:latest
+ imagePullPolicy: IfNotPresent
+ securityContext:
+ privileged: true
+ capabilities:
+ add:
+ - NET_ADMIN
+ ports:
+ - name: nebula
+ containerPort: {{ .Values.LighthouseMainPort }}
+ protocol: UDP
+ command:
+ - nebula
+ - --config=/etc/nebula/config/lighthouse.yaml
+ volumeMounts:
+ - name: lighthouse-cert
+ mountPath: /etc/nebula/lighthouse
+ - name: config
+ mountPath: /etc/nebula/config
+ config:
+ bind-address: {{ .Values.LighthouseMainIP }}
+ proxy-body-size: 0
+ udp:
+ "53": "{{ .Values.NamespacePrefix }}app-pihole/pihole-dns-udp:53"
+ tcp:
+ "53": "{{ .Values.NamespacePrefix }}app-pihole/pihole-dns-tcp:53"
+ "143": "{{ .Values.NamespacePrefix }}app-maddy/maddy:143"
+ "465": "{{ .Values.NamespacePrefix }}app-maddy/maddy:465"
+ "587": "{{ .Values.NamespacePrefix }}app-maddy/maddy:587"
+ "993": "{{ .Values.NamespacePrefix }}app-maddy/maddy:993"
diff --git a/core/installer/values-tmpl/maddy.yaml b/core/installer/values-tmpl/maddy.yaml
new file mode 100644
index 0000000..3476438
--- /dev/null
+++ b/core/installer/values-tmpl/maddy.yaml
@@ -0,0 +1,31 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: maddy
+ namespace: {{ .Values.NamespacePrefix }}app-maddy
+spec:
+ chart:
+ spec:
+ chart: charts/maddy
+ sourceRef:
+ kind: GitRepository
+ name: pcloud
+ namespace: {{ .Values.Id }}
+ dependsOn:
+ - name: namespaces
+ namespace: {{ .Values.Id }}
+ interval: 1m0s
+ values:
+ ingress:
+ private:
+ className: {{ .Values.Id }}-ingress-private
+ domain: p.{{ .Values.Domain }}
+ public:
+ className: {{ .Values.PCloudEnvName }}-ingress-public
+ domain: {{ .Values.Domain }}
+ certificateIssuer: {{ .Values.Id }}-public
+ storage:
+ size: 100Gi
+ mailGateway:
+ mxHostname: {{ .Values.MXHostname}}
+ address: {{ .Values.MailGatewayAddress }}
diff --git a/core/installer/values-tmpl/matrix-storage.yaml b/core/installer/values-tmpl/matrix-storage.yaml
new file mode 100644
index 0000000..7c00497
--- /dev/null
+++ b/core/installer/values-tmpl/matrix-storage.yaml
@@ -0,0 +1,42 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: matrix-storage
+ namespace: {{ .Values.NamespacePrefix }}app-matrix
+spec:
+ chart:
+ spec:
+ chart: postgresql
+ version: 10.13.5
+ sourceRef:
+ kind: HelmRepository
+ name: bitnami
+ namespace: {{ .Values.Id }}
+ dependsOn:
+ - name: namespaces
+ namespace: {{ .Values.Id }}
+ interval: 1m0s
+ values:
+ fullnameOverride: postgres
+ image:
+ repository: arm64v8/postgres
+ tag: 13.4
+ service:
+ type: ClusterIP
+ port: 5432
+ postgresqlPassword: psswd
+ initdbScripts:
+ createdb.sh: |
+ #!/bin/sh
+ createdb -U postgres --encoding=UTF8 --locale=C --template=template0 --owner=postgres matrix
+ persistence:
+ size: {{ .Values.MatrixStorageSize }}
+ securityContext:
+ enabled: true
+ fsGroup: 0
+ containerSecurityContext:
+ enabled: true
+ runAsUser: 0
+ volumePermissions:
+ securityContext:
+ runAsUser: 0
diff --git a/core/installer/values-tmpl/matrix.yaml b/core/installer/values-tmpl/matrix.yaml
new file mode 100644
index 0000000..8cdefad
--- /dev/null
+++ b/core/installer/values-tmpl/matrix.yaml
@@ -0,0 +1,37 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: matrix
+ namespace: {{ .Values.NamespacePrefix }}app-matrix
+spec:
+ chart:
+ spec:
+ chart: charts/matrix
+ sourceRef:
+ kind: GitRepository
+ name: pcloud
+ namespace: {{ .Values.Id }}
+ dependsOn:
+ - name: matrix-storage
+ namespace: {{ .Values.NamespacePrefix }}app-matrix
+ interval: 1m0s
+ values:
+ domain: {{ .Values.Domain }}
+ oauth2:
+ hydraAdmin: http://hydra-admin.{{ .Values.NamespacePrefix}}core-auth.svc.cluster.local
+ hydraPublic: https://hydra.{{ .Values.Domain }}
+ clientId: matrix
+ clientSecret: {{ .Values.MatrixOAuth2ClientSecret }}
+ secretName: oauth2-client
+ postgresql:
+ host: postgres
+ port: 5432
+ database: matrix
+ user: postgres
+ password: psswd
+ certificateIssuer: {{ .Values.Id }}-public
+ ingressClassName: {{ .Values.PCloudEnvName }}-ingress-public
+ configMerge:
+ configName: config-to-merge
+ fileName: to-merge.yaml
+
diff --git a/core/installer/values-tmpl/namespaces.yaml b/core/installer/values-tmpl/namespaces.yaml
new file mode 100644
index 0000000..6b35e9c
--- /dev/null
+++ b/core/installer/values-tmpl/namespaces.yaml
@@ -0,0 +1,24 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: namespaces
+ namespace: {{ .Values.Id }}
+spec:
+ chart:
+ spec:
+ chart: charts/namespaces
+ sourceRef:
+ kind: GitRepository
+ name: pcloud
+ namespace: {{ .Values.Id }}
+ interval: 1m0s
+ values:
+ pcloudInstanceId: {{ .Values.Id }}
+ namespacePrefix: {{ .Values.NamespacePrefix }}
+ namespaces:
+ - app-maddy
+ - app-matrix
+ - app-pihole
+ - app-vaultwarden
+ - core-auth
+ - ingress-private
diff --git a/core/installer/values-tmpl/pihole.yaml b/core/installer/values-tmpl/pihole.yaml
new file mode 100644
index 0000000..6ac7d39
--- /dev/null
+++ b/core/installer/values-tmpl/pihole.yaml
@@ -0,0 +1,57 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: pihole
+ namespace: {{ .Values.NamespacePrefix }}app-pihole
+spec:
+ chart:
+ spec:
+ chart: charts/pihole
+ sourceRef:
+ kind: GitRepository
+ name: pcloud
+ namespace: {{ .Values.Id }}
+ dependsOn:
+ - name: namespaces
+ namespace: {{ .Values.Id }}
+ interval: 1m0s
+ values:
+ domain: pihole.p.{{ .Values.Domain }}
+ pihole:
+ image:
+ repository: "pihole/pihole"
+ tag: v5.8.1
+ persistentVolumeClaim:
+ enabled: true
+ size: 5Gi
+ adminPassword: admin
+ ingress:
+ enabled: false
+ serviceDhcp:
+ enabled: false
+ serviceDns:
+ type: ClusterIP
+ serviceWeb:
+ type: ClusterIP
+ http:
+ enabled: true
+ https:
+ enabled: false
+ virtualHost: pihole.p.{{ .Values.Domain }}
+ resources:
+ requests:
+ cpu: "250m"
+ memory: "100M"
+ limits:
+ cpu: "500m"
+ memory: "250M"
+ oauth2:
+ clientId: pihole
+ clientSecret: {{ .Values.PiholeOAuth2ClientSecret }}
+ cookieSecret: {{ .Values.PiholeOAuth2CookieSecret }}
+ secretName: oauth2-secret
+ configName: oauth2-proxy
+ hydraAdmin: http://hydra-admin.{{ .Values.NamespacePrefix}}core-auth.svc.cluster.local
+ hydraPublic: https://hydra.{{ .Values.Domain }}/
+ profileUrl: https://accounts-ui.{{ .Values.Domain }}
+ ingressClassName: {{ .Values.Id }}-ingress-private
diff --git a/core/installer/values-tmpl/vaultwarden.yaml b/core/installer/values-tmpl/vaultwarden.yaml
new file mode 100644
index 0000000..32d66e7
--- /dev/null
+++ b/core/installer/values-tmpl/vaultwarden.yaml
@@ -0,0 +1,27 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: vaultwarden
+ namespace: {{ .Values.NamespacePrefix }}app-vaultwarden
+spec:
+ chart:
+ spec:
+ chart: charts/vaultwarden
+ sourceRef:
+ kind: GitRepository
+ name: pcloud
+ namespace: {{ .Values.Id }}
+ dependsOn:
+ - name: namespaces
+ namespace: {{ .Values.Id }}
+ interval: 1m0s
+ values:
+ image:
+ repository: vaultwarden/server
+ tag: 1.22.2
+ pullPolicy: IfNotPresent
+ storage:
+ size: 1Gi
+ domain: bitwarden.p.{{ .Values.Domain }}
+ certificateIssuer: {{ .Values.Id }}-private
+ ingressClassName: {{ .Values.Id }}-ingress-private
diff --git a/core/installer/values-tmpl/vpn-mesh-config.yaml b/core/installer/values-tmpl/vpn-mesh-config.yaml
new file mode 100644
index 0000000..20279a4
--- /dev/null
+++ b/core/installer/values-tmpl/vpn-mesh-config.yaml
@@ -0,0 +1,28 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: vpn-mesh-config
+ namespace: {{ .Values.NamespacePrefix }}ingress-private
+spec:
+ chart:
+ spec:
+ chart: charts/vpn-mesh-config
+ sourceRef:
+ kind: GitRepository
+ name: pcloud
+ namespace: {{ .Values.Id }}
+ dependsOn:
+ - name: namespaces
+ namespace: {{ .Values.Id }}
+ interval: 1m0s
+ values:
+ domain: {{ .Values.Domain }}
+ ingressClassName: {{ .Values.PCloudEnvName }}-ingress-public
+ certificateIssuer: {{ .Values.Id }}-public
+ certificateAuthority:
+ name: {{ .Values.Id }}
+ secretName: ca-{{ .Values.Id }}-cert
+ lighthouse:
+ internalIP: {{ .Values.LighthouseMainIP }}
+ externalIP: {{ .Values.PublicIP }}
+ port: "{{ .Values.LighthouseMainPort }}"