installer: migrate apps to cuelang
diff --git a/core/installer/values-tmpl/matrix.cue b/core/installer/values-tmpl/matrix.cue
new file mode 100644
index 0000000..606c7f8
--- /dev/null
+++ b/core/installer/values-tmpl/matrix.cue
@@ -0,0 +1,120 @@
+input: {
+ network: #Network
+ subdomain: string
+}
+
+_domain: "\(input.subdomain).\(input.network.domain)"
+
+readme: "matrix application will be installed on \(input.network.name) network and be accessible to any user on https://\(_domain)"
+
+images: {
+ matrix: {
+ repository: "matrixdotorg"
+ name: "synapse"
+ tag: "latest"
+ pullPolicy: "IfNotPresent"
+ }
+ postgres: {
+ repository: "library"
+ name: "postgres"
+ tag: "15.3"
+ pullPolicy: "IfNotPresent"
+ }
+}
+
+charts: {
+ matrix: {
+ chart: "charts/matrix"
+ sourceRef: {
+ kind: "GitRepository"
+ name: "pcloud"
+ namespace: global.id
+ }
+ }
+ postgres: {
+ chart: "charts/postgresql"
+ sourceRef: {
+ kind: "GitRepository"
+ name: "pcloud"
+ namespace: global.id
+ }
+ }
+}
+
+helm: {
+ matrix: {
+ dependsOn: [
+ postgres
+ ]
+ chart: charts.matrix
+ values: {
+ domain: global.domain
+ subdomain: input.subdomain
+ oauth2: {
+ hydraAdmin: "http://hydra-admin.\(global.namespacePrefix)core-auth.svc.cluster.local"
+ hydraPublic: "https://hydra.\(global.domain)"
+ secretName: "oauth2-client"
+ }
+ postgresql: {
+ host: "postgres"
+ port: 5432
+ database: "matrix"
+ user: "matrix"
+ password: "matrix"
+ }
+ certificateIssuer: _issuerPublic
+ ingressClassName: _ingressPublic
+ configMerge: {
+ configName: "config-to-merge"
+ fileName: "to-merge.yaml"
+ }
+ image: {
+ repository: images.matrix.fullName
+ tag: images.matrix.tag
+ pullPolicy: images.matrix.pullPolicy
+ }
+ }
+ }
+ postgres: {
+ chart: charts.postgres
+ values: {
+ fullnameOverride: "postgres"
+ image: {
+ registry: images.postgres.registry
+ repository: images.postgres.imageName
+ tag: images.postgres.tag
+ pullPolicy: images.postgres.pullPolicy
+ }
+ service: {
+ type: "ClusterIP"
+ port: 5432
+ }
+ primary: {
+ initdb: {
+ scripts: {
+ "init.sql": """
+ CREATE USER matrix WITH PASSWORD 'matrix';
+ CREATE DATABASE matrix WITH OWNER = matrix ENCODING = UTF8 LOCALE = 'C' TEMPLATE = template0;
+ """
+ }
+ }
+ persistence: {
+ size: "10Gi"
+ }
+ securityContext: {
+ enabled: true
+ fsGroup: 0
+ }
+ containerSecurityContext: {
+ enabled: true
+ runAsUser: 0
+ }
+ }
+ volumePermissions: {
+ securityContext: {
+ runAsUser: 0
+ }
+ }
+ }
+ }
+}