blob: 6a5f3de2a91d2628e966c5b00cf2053a750b8381 [file] [log] [blame]
gio636d1302024-08-01 09:17:28 +04001import (
2 "strings"
3)
4
giocb34ad22024-07-11 08:01:13 +04005input: {
gio9bd87ca2025-04-20 08:05:34 +04006 name: string
giocb34ad22024-07-11 08:01:13 +04007 domain: string
8}
9
gio9bd87ca2025-04-20 08:05:34 +040010name: "Network"
11namespace: "ingress-custom"
12readme: "Configure custom public domain"
giocb34ad22024-07-11 08:01:13 +040013description: readme
gio8c942d22024-07-17 13:43:02 +040014icon: """
giod2d2df02025-05-03 19:15:17 +040015 <svg width='50px' height='50px' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 39.68503937 35.84897203'>
16 <defs>
17 <style>
18 .cls-1 {
19 fill: currentColor;
20 }
21
22 .cls-2 {
23 fill: none;
24 stroke: #3a3a3a;
25 stroke-miterlimit: 10;
26 stroke-width: .98133445px;
27 }
28 </style>
29 </defs>
30 <rect class='cls-2' x='-9.97439025' y='-11.89242392' width='59.63381987' height='59.63381987'/>
31 <g>
32 <path class='cls-1' d='m8.33392163,35.84897203H.66139092c-.36534918,0-.66139092-.29623977-.66139092-.66139092v-7.67213467c0-.36515115.29604174-.66139092.66139092-.66139092h7.67253071c.36534918,0,.66139092.29623977.66139092.66139092v7.67213467c0,.36515115-.29604174.66139092-.66139092.66139092Zm-7.01113979-1.32278184h6.34974887v-6.34935283H1.32278184v6.34935283Zm18.51973785-6.34935283c-.36534918,0-.66139092-.29623977-.66139092-.66139092v-14.68367051H4.49765628c-.36534918,0-.66139092-.29623977-.66139092-.66139092V.66139092c0-.36515115.29604174-.66139092.66139092-.66139092h30.68972682c.36534918,0,.66139092.29623977.66139092.66139092v11.50899409c0,.36515115-.29604174.66139092-.66139092.66139092h-14.68347249v14.68367051c0,.36515115-.29604174.66139092-.66139092.66139092Zm0-16.66784327h14.68347249V1.32278184H5.1590472v10.18621225h14.68347249Z'/>
33 <path class='cls-1' d='m39.02364845,35.84897203h-7.67253071c-.36534918,0-.66139092-.29623977-.66139092-.66139092v-7.67213467c0-.36515115.29604174-.66139092.66139092-.66139092h3.17487444v-6.35014492H5.1590472v7.01153584c0,.36515115-.29604174.66139092-.66139092.66139092s-.66139092-.29623977-.66139092-.66139092v-7.67292676c0-.36515115.29604174-.66139092.66139092-.66139092h30.68972682c.36534918,0,.66139092.29623977.66139092.66139092v7.01153584h3.17487444c.36534918,0,.66139092.29623977.66139092.66139092v7.67213467c0,.36515115-.29604174.66139092-.66139092.66139092Zm-7.01113979-1.32278184h6.34974887v-6.34935283h-6.34974887v6.34935283Zm-8.33372361,1.32278184h-7.67253071c-.36534918,0-.66139092-.29623977-.66139092-.66139092v-7.67213467c0-.36515115.29604174-.66139092.66139092-.66139092h7.67253071c.36534918,0,.66139092.29623977.66139092.66139092v7.67213467c0,.36515115-.29604174.66139092-.66139092.66139092Zm-7.01113979-1.32278184h6.34974887v-6.34935283h-6.34974887v6.34935283ZM12.16998897,7.07727889h-1.91803367c-.36534918,0-.66139092-.29623977-.66139092-.66139092s.29604174-.66139092.66139092-.66139092h1.91803367c.36534918,0,.66139092.29623977.66139092.66139092s-.29604174.66139092-.66139092.66139092Z'/>
34 </g>
35 </svg>"""
giocb34ad22024-07-11 08:01:13 +040036
gio7fbd4ad2024-08-27 10:06:39 +040037out: {
38 charts: {
39 "certificate-issuer": {
gio9bd87ca2025-04-20 08:05:34 +040040 kind: "GitRepository"
gio7fbd4ad2024-08-27 10:06:39 +040041 address: "https://code.v1.dodo.cloud/helm-charts"
gio9bd87ca2025-04-20 08:05:34 +040042 branch: "main"
43 path: "charts/certificate-issuer-public"
gio7fbd4ad2024-08-27 10:06:39 +040044 }
giocb34ad22024-07-11 08:01:13 +040045 }
giocb34ad22024-07-11 08:01:13 +040046
gio7fbd4ad2024-08-27 10:06:39 +040047 helm: {
48 "certificate-issuer": {
49 chart: charts["certificate-issuer"]
gio9bd87ca2025-04-20 08:05:34 +040050 Info: "Configuring SSL certificate issuer for \(input.domain)"
gio7fbd4ad2024-08-27 10:06:39 +040051 dependsOn: [{
gio9bd87ca2025-04-20 08:05:34 +040052 name: "ingress-nginx"
gio7fbd4ad2024-08-27 10:06:39 +040053 namespace: "\(global.namespacePrefix)ingress-private"
54 }]
55 values: {
56 issuer: {
gio9bd87ca2025-04-20 08:05:34 +040057 name: input.name
58 server: "https://acme-v02.api.letsencrypt.org/directory"
59 domain: input.domain
gio7fbd4ad2024-08-27 10:06:39 +040060 contactEmail: global.contactEmail
61 ingressClass: networks.public.ingressClass
62 }
giocb34ad22024-07-11 08:01:13 +040063 }
64 }
65 }
66}
gio636d1302024-08-01 09:17:28 +040067
68help: [{
69 title: "DNS"
gio9bd87ca2025-04-20 08:05:34 +040070 _records: [for ip in global.nameserverIP {"* 10800 IN A \(ip)"}]
gio636d1302024-08-01 09:17:28 +040071 _allRecords: strings.Join(_records, "<br>")
gio9bd87ca2025-04-20 08:05:34 +040072 contents: """
gio636d1302024-08-01 09:17:28 +040073 Publish following DNS records using \(input.domain) Domain Name Registrar<br><br>
74 \(_allRecords)
75 """
76}]