blob: cd0fecaf8e3782796f665faca0d6b6f1dced98ed [file] [log] [blame]
gio4a9d83d2024-04-14 13:14:40 +04001import (
2 "encoding/json"
3)
4
5input: {
gio44f621b2024-04-29 09:44:38 +04006 network: #Network @name(Network)
7 subdomain: string @name(Subdomain)
gio4a9d83d2024-04-14 13:14:40 +04008}
9
10_domain: "\(input.subdomain).\(input.network.domain)"
gio09a3e5b2024-04-26 14:11:06 +040011url: "https://\(_domain)"
gio4a9d83d2024-04-14 13:14:40 +040012
gio44f621b2024-04-29 09:44:38 +040013name: "Zot"
gio4a9d83d2024-04-14 13:14:40 +040014namespace: "app-zot"
15readme: "OCI-native container image registry, simplified"
16description: "OCI-native container image registry, simplified"
17icon: "<svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 24 24'><path fill='currentColor' d='M21.231 2.462L7.18 20.923h14.564V24H2.256v-2.462L16.308 3.076H2.975V0h18.256z'/></svg>"
18
gio1de49582024-04-21 08:33:57 +040019ingress: {
20 zot: {
21 auth: enabled: false
gio4a9d83d2024-04-14 13:14:40 +040022 network: input.network
23 subdomain: input.subdomain
gio1de49582024-04-21 08:33:57 +040024 service: {
25 name: "zot"
26 port: number: _httpPort // TODO(gio): make optional
27 }
gio4a9d83d2024-04-14 13:14:40 +040028 }
29}
30
31// TODO(gio): configure busybox
gio1de49582024-04-21 08:33:57 +040032images: {
gio4a9d83d2024-04-14 13:14:40 +040033 zot: {
34 registry: "ghcr.io"
35 repository: "project-zot"
36 name: "zot-linux-amd64"
37 tag: "v2.0.3"
38 pullPolicy: "IfNotPresent"
39 }
40}
41
gio1de49582024-04-21 08:33:57 +040042charts: {
gio4a9d83d2024-04-14 13:14:40 +040043 zot: {
giof8843412024-05-22 16:38:05 +040044 kind: "GitRepository"
45 address: "https://github.com/giolekva/pcloud.git"
46 branch: "main"
47 path: "charts/zot"
gio4a9d83d2024-04-14 13:14:40 +040048 }
gio4a9d83d2024-04-14 13:14:40 +040049}
50
gio01cf5cb2024-06-28 00:18:18 +040051volumes: zot: size: "100Gi"
gio4a9d83d2024-04-14 13:14:40 +040052
53_httpPort: 80
54
gio1de49582024-04-21 08:33:57 +040055helm: {
gio4a9d83d2024-04-14 13:14:40 +040056 zot: {
57 chart: charts.zot
giof9f0bee2024-06-11 20:10:05 +040058 info: "Installing Zot server"
gio4a9d83d2024-04-14 13:14:40 +040059 values: {
60 image: {
61 repository: images.zot.fullName
62 tag: images.zot.tag
63 pullPolicy: images.zot.pullPolicy
64 }
65 service: {
66 type: "ClusterIP"
67 additionalAnnotations: {
68 "metallb.universe.tf/address-pool": global.id
69 }
70 port: _httpPort
71 }
72 ingress: enabled: false
73 mountConfig: true
74 configFiles: {
75 "config.json": json.Marshal({
76 storage: rootDirectory: "/var/lib/registry"
77 http: {
78 address: "0.0.0.0"
79 port: "5000"
80 }
81 log: level: "debug"
82 extensions: {
83 ui: enable: true
84 search: enable: true
85 }
86 })
87 }
giof8843412024-05-22 16:38:05 +040088 persistence: true
gio4a9d83d2024-04-14 13:14:40 +040089 pvc: {
90 create: false
91 name: volumes.zot.name
92 }
93 startupProbe: {}
94 }
95 }
gio4a9d83d2024-04-14 13:14:40 +040096}