installer: migrate apps to cuelang
diff --git a/core/installer/values-tmpl/pihole.cue b/core/installer/values-tmpl/pihole.cue
new file mode 100644
index 0000000..de4529c
--- /dev/null
+++ b/core/installer/values-tmpl/pihole.cue
@@ -0,0 +1,90 @@
+input: {
+ network: #Network
+ subdomain: string
+}
+
+_domain: "\(input.subdomain).\(input.network.domain)"
+
+readme: "Installs pihole at https://\(_domain)"
+
+images: {
+ pihole: {
+ repository: "pihole"
+ name: "pihole"
+ tag: "v5.8.1"
+ pullPolicy: "IfNotPresent"
+ }
+}
+
+charts: {
+ pihole: {
+ chart: "charts/pihole"
+ sourceRef: {
+ kind: "GitRepository"
+ name: "pcloud"
+ namespace: global.id
+ }
+ }
+}
+
+helm: {
+ pihole: {
+ chart: charts.pihole
+ values: {
+ domain: _domain
+ pihole: {
+ fullnameOverride: "pihole"
+ persistentVolumeClaim: { // TODO(gio): create volume separately as a dependency
+ enabled: true
+ size: "5Gi"
+ }
+ admin: {
+ enabled: false
+ }
+ ingress: {
+ enabled: false
+ }
+ serviceDhcp: {
+ enabled: false
+ }
+ serviceDns: {
+ type: "ClusterIP"
+ }
+ serviceWeb: {
+ type: "ClusterIP"
+ http: {
+ enabled: true
+ }
+ https: {
+ enabled: false
+ }
+ }
+ virtualHost: _domain
+ resources: {
+ requests: {
+ cpu: "250m"
+ memory: "100M"
+ }
+ limits: {
+ cpu: "500m"
+ memory: "250M"
+ }
+ }
+ image: {
+ repository: images.pihole.fullName
+ tag: images.pihole.tag
+ pullPolicy: images.pihole.pullPolicy
+ }
+ }
+ oauth2: {
+ secretName: "oauth2-secret"
+ configName: "oauth2-proxy"
+ hydraAdmin: "http://hydra-admin.\(global.namespacePrefix)core-auth.svc"
+ }
+ hydraPublic: "https://hydra.\(global.domain)"
+ profileUrl: "https://accounts-ui.\(global.domain)"
+ ingressClassName: input.network.ingressClass
+ certificateIssuer: input.network.certificateIssuer
+ }
+ }
+}