blob: 3f338424ebedb5f7e1b54f4afc97a5603f6fe628 [file] [log] [blame]
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +04001input: {
2 network: #Network
3 subdomain: string
Giorgi Lekveishvilia09fad72024-03-21 15:24:35 +04004 auth: #Auth
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +04005}
6
7_domain: "\(input.subdomain).\(input.network.domain)"
8
Giorgi Lekveishvilief21c132024-01-17 18:57:58 +04009name: "Pi-hole"
10namespace: "app-pihole"
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040011readme: "Installs pihole at https://\(_domain)"
Giorgi Lekveishvilief21c132024-01-17 18:57:58 +040012description: "Pi-hole is a Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole and optionally a DHCP server, intended for use on a private network."
13icon: "<svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 24 24'><path fill='currentColor' d='M4.344 0c.238 4.792 3.256 7.056 6.252 7.376c.165-1.692-4.319-5.6-4.319-5.6c-.008-.011.009-.025.019-.014c0 0 4.648 4.01 5.423 5.645c2.762-.15 5.196-1.947 5-4.912c0 0-4.12-.613-5 4.618C11.48 2.753 8.993 0 4.344 0zM12 7.682v.002a3.68 3.68 0 0 0-2.591 1.077L4.94 13.227a3.683 3.683 0 0 0-.86 1.356a3.31 3.31 0 0 0-.237 1.255A3.681 3.681 0 0 0 4.92 18.45l4.464 4.466a3.69 3.69 0 0 0 2.251 1.06l.002.001c.093.01.187.015.28.017l-.1-.008c.06.003.117.009.177.009l-.077-.001L12 24l-.004-.005a3.68 3.68 0 0 0 2.61-1.077l4.469-4.465a3.683 3.683 0 0 0 1.006-1.888l.012-.063a3.682 3.682 0 0 0 .057-.541l.003-.061c0-.017.003-.05.004-.06h-.002a3.683 3.683 0 0 0-1.077-2.607l-4.466-4.468a3.694 3.694 0 0 0-1.564-.927l-.07-.02a3.43 3.43 0 0 0-.946-.133L12 7.682zm3.165 3.357c.023 1.748-1.33 3.078-1.33 4.806c.164 2.227 1.733 3.207 3.266 3.146c-.035.003-.068.007-.104.009c-1.847.135-3.209-1.326-5.002-1.326c-2.23.164-3.21 1.736-3.147 3.27l-.008-.104c-.133-1.847 1.328-3.21 1.328-5.002c-.173-2.32-1.867-3.284-3.46-3.132c.1-.011.203-.021.31-.027c1.847-.133 3.209 1.328 5.002 1.328c2.082-.155 3.074-1.536 3.145-2.968zM4.344 0c.238 4.792 3.256 7.056 6.252 7.376c.165-1.692-4.319-5.6-4.319-5.6c-.008-.011.009-.025.019-.014c0 0 4.648 4.01 5.423 5.645c2.762-.15 5.196-1.947 5-4.912c0 0-4.12-.613-5 4.618C11.48 2.753 8.993 0 4.344 0zM12 7.682v.002a3.68 3.68 0 0 0-2.591 1.077L4.94 13.227a3.683 3.683 0 0 0-.86 1.356a3.31 3.31 0 0 0-.237 1.255A3.681 3.681 0 0 0 4.92 18.45l4.464 4.466a3.69 3.69 0 0 0 2.251 1.06l.002.001c.093.01.187.015.28.017l-.1-.008c.06.003.117.009.177.009l-.077-.001L12 24l-.004-.005a3.68 3.68 0 0 0 2.61-1.077l4.469-4.465a3.683 3.683 0 0 0 1.006-1.888l.012-.063a3.682 3.682 0 0 0 .057-.541l.003-.061c0-.017.003-.05.004-.06h-.002a3.683 3.683 0 0 0-1.077-2.607l-4.466-4.468a3.694 3.694 0 0 0-1.564-.927l-.07-.02a3.43 3.43 0 0 0-.946-.133L12 7.682zm3.165 3.357c.023 1.748-1.33 3.078-1.33 4.806c.164 2.227 1.733 3.207 3.266 3.146c-.035.003-.068.007-.104.009c-1.847.135-3.209-1.326-5.002-1.326c-2.23.164-3.21 1.736-3.147 3.27l-.008-.104c-.133-1.847 1.328-3.21 1.328-5.002c-.173-2.32-1.867-3.284-3.46-3.132c.1-.011.203-.021.31-.027c1.847-.133 3.209 1.328 5.002 1.328c2.082-.155 3.074-1.536 3.145-2.968z'/></svg>"
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040014
Giorgi Lekveishvili67383962024-03-22 19:27:34 +040015_serviceWebPort: 80
16
17_ingressWithAuthProxy: _IngressWithAuthProxy & {
18 inp: {
19 auth: input.auth
20 network: input.network
21 subdomain: input.subdomain
22 serviceName: "pihole-web"
23 port: number: _serviceWebPort
24 }
25}
26
27images: _ingressWithAuthProxy.out.images & {
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040028 pihole: {
29 repository: "pihole"
30 name: "pihole"
31 tag: "v5.8.1"
32 pullPolicy: "IfNotPresent"
33 }
34}
35
Giorgi Lekveishvili67383962024-03-22 19:27:34 +040036charts: _ingressWithAuthProxy.out.charts & {
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040037 pihole: {
38 chart: "charts/pihole"
39 sourceRef: {
40 kind: "GitRepository"
41 name: "pcloud"
42 namespace: global.id
43 }
44 }
Giorgi Lekveishvili0ba5e402024-03-20 15:56:30 +040045}
46
Giorgi Lekveishvili67383962024-03-22 19:27:34 +040047helm: _ingressWithAuthProxy.out.helm & {
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040048 pihole: {
49 chart: charts.pihole
50 values: {
Giorgi Lekveishvili0ba5e402024-03-20 15:56:30 +040051 fullnameOverride: "pihole"
52 persistentVolumeClaim: { // TODO(gio): create volume separately as a dependency
53 enabled: true
54 size: "5Gi"
55 }
56 admin: {
57 enabled: false
58 }
59 ingress: {
60 enabled: false
61 }
62 serviceDhcp: {
63 enabled: false
64 }
65 serviceDns: {
66 type: "ClusterIP"
67 }
68 serviceWeb: {
69 type: "ClusterIP"
70 http: {
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040071 enabled: true
Giorgi Lekveishvili0ba5e402024-03-20 15:56:30 +040072 port: _serviceWebPort
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040073 }
Giorgi Lekveishvili0ba5e402024-03-20 15:56:30 +040074 https: {
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040075 enabled: false
76 }
Giorgi Lekveishvili0ba5e402024-03-20 15:56:30 +040077 }
78 virtualHost: _domain
79 resources: {
80 requests: {
81 cpu: "250m"
82 memory: "100M"
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040083 }
Giorgi Lekveishvili0ba5e402024-03-20 15:56:30 +040084 limits: {
85 cpu: "500m"
86 memory: "250M"
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040087 }
Giorgi Lekveishvili0ba5e402024-03-20 15:56:30 +040088 }
89 image: {
90 repository: images.pihole.fullName
91 tag: images.pihole.tag
92 pullPolicy: images.pihole.pullPolicy
93 }
94 }
95 }
Giorgi Lekveishvilie009a5d2024-01-05 14:10:11 +040096}