Etherpad: Installer configuration

Change-Id: I808e3c1835e2f0bf5fe2e0da138710c979a38e38
diff --git a/core/installer/app_repository.go b/core/installer/app_repository.go
index e4f462e..e0f97fc 100644
--- a/core/installer/app_repository.go
+++ b/core/installer/app_repository.go
@@ -25,6 +25,7 @@
 	"values-tmpl/url-shortener.cue",
 	"values-tmpl/matrix.cue",
 	"values-tmpl/vaultwarden.cue",
+	"values-tmpl/etherpad.cue",
 	// "values-tmpl/open-project.cue",
 	"values-tmpl/gerrit.cue",
 	"values-tmpl/jenkins.cue",
diff --git a/core/installer/values-tmpl/etherpad.cue b/core/installer/values-tmpl/etherpad.cue
new file mode 100644
index 0000000..980c5eb
--- /dev/null
+++ b/core/installer/values-tmpl/etherpad.cue
@@ -0,0 +1,82 @@
+input: {
+	network: #Network @name(Network)
+	subdomain: string @name(Subdomain)
+	auth: #Auth @name(Authentication)
+}
+
+_domain: "\(input.subdomain).\(input.network.domain)"
+
+name: "etherpad"
+namespace: "app-etherpad"
+readme: "Etherpad is a highly customizable open source online editor providing collaborative editing in really real-time."
+description: "Etherpad is a highly customizable open source online editor providing collaborative editing in really real-time."
+icon: """
+<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 48 48"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M38.5 5.5h-29c-2.2 0-4 1.8-4 4v29c0 2.2 1.8 4 4 4h29c2.2 0 4-1.8 4-4v-29c0-2.2-1.8-4-4-4"/><circle cx="24" cy="24" r="13.9" fill="none" stroke="currentColor" stroke-miterlimit="7"/><path fill="none" stroke="currentColor" d="M14.5 5.5v37m19-37v37"/></svg>"""
+
+_httpPortName: "http"
+
+out: {
+	ingress: {
+		etherpad: {
+			auth: input.auth
+			network: input.network
+			subdomain: input.subdomain
+			service: {
+				name: "etherpad"
+				port: name: _httpPortName
+			}
+		}
+	}
+
+	images: {
+		etherpad: {
+			repository: "etherpad"
+			name: "etherpad"
+			tag: "2.2.5"
+			pullPolicy: "IfNotPresent"
+		}
+	}
+
+	charts: {
+		etherpad: {
+			kind: "GitRepository"
+			address: "https://code.v1.dodo.cloud/helm-charts"
+			branch: "main"
+			path: "charts/etherpad"
+		}
+	}
+
+	volumes: data: size: "1Gi"
+
+	postgresql: db: {
+		name: "db"
+		size: "10Gi"
+	}
+
+	helm: {
+		etherpad: {
+			chart: charts.etherpad
+			info: "Installing etherpad server"
+			values: {
+				image: {
+					repository: images.etherpad.fullName
+					tag: images.etherpad.tag
+					pullPolicy: images.etherpad.pullPolicy
+				}
+				portName: _httpPortName
+				persistentVolumeClaimName: volumes.data.name
+				db: {
+					type: "postgres"
+					host: "postgres-db.\(release.namespace).svc.cluster.local"
+					port: 5432
+					name: "postgres"
+					user: "postgres"
+					pass: "postgres"
+					charset: "utf8mb4"
+				}
+			}
+		}
+	}
+}
+
+url: "https://\(_domain)"