| gio | 636d130 | 2024-08-01 09:17:28 +0400 | [diff] [blame] | 1 | import ( |
| 2 | "strings" |
| 3 | ) |
| 4 | |
| gio | cb34ad2 | 2024-07-11 08:01:13 +0400 | [diff] [blame] | 5 | input: { |
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 6 | name: string |
| gio | cb34ad2 | 2024-07-11 08:01:13 +0400 | [diff] [blame] | 7 | domain: string |
| 8 | } |
| 9 | |
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 10 | name: "Network" |
| 11 | namespace: "ingress-custom" |
| 12 | readme: "Configure custom public domain" |
| gio | cb34ad2 | 2024-07-11 08:01:13 +0400 | [diff] [blame] | 13 | description: readme |
| gio | 8c942d2 | 2024-07-17 13:43:02 +0400 | [diff] [blame] | 14 | icon: """ |
| gio | d2d2df0 | 2025-05-03 19:15:17 +0400 | [diff] [blame] | 15 | <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>""" |
| gio | cb34ad2 | 2024-07-11 08:01:13 +0400 | [diff] [blame] | 36 | |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 37 | out: { |
| 38 | charts: { |
| 39 | "certificate-issuer": { |
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 40 | kind: "GitRepository" |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 41 | address: "https://code.v1.dodo.cloud/helm-charts" |
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 42 | branch: "main" |
| 43 | path: "charts/certificate-issuer-public" |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 44 | } |
| gio | cb34ad2 | 2024-07-11 08:01:13 +0400 | [diff] [blame] | 45 | } |
| gio | cb34ad2 | 2024-07-11 08:01:13 +0400 | [diff] [blame] | 46 | |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 47 | helm: { |
| 48 | "certificate-issuer": { |
| 49 | chart: charts["certificate-issuer"] |
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 50 | Info: "Configuring SSL certificate issuer for \(input.domain)" |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 51 | dependsOn: [{ |
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 52 | name: "ingress-nginx" |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 53 | namespace: "\(global.namespacePrefix)ingress-private" |
| 54 | }] |
| 55 | values: { |
| 56 | issuer: { |
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 57 | name: input.name |
| 58 | server: "https://acme-v02.api.letsencrypt.org/directory" |
| 59 | domain: input.domain |
| gio | 7fbd4ad | 2024-08-27 10:06:39 +0400 | [diff] [blame] | 60 | contactEmail: global.contactEmail |
| 61 | ingressClass: networks.public.ingressClass |
| 62 | } |
| gio | cb34ad2 | 2024-07-11 08:01:13 +0400 | [diff] [blame] | 63 | } |
| 64 | } |
| 65 | } |
| 66 | } |
| gio | 636d130 | 2024-08-01 09:17:28 +0400 | [diff] [blame] | 67 | |
| 68 | help: [{ |
| 69 | title: "DNS" |
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 70 | _records: [for ip in global.nameserverIP {"* 10800 IN A \(ip)"}] |
| gio | 636d130 | 2024-08-01 09:17:28 +0400 | [diff] [blame] | 71 | _allRecords: strings.Join(_records, "<br>") |
| gio | 9bd87ca | 2025-04-20 08:05:34 +0400 | [diff] [blame] | 72 | contents: """ |
| gio | 636d130 | 2024-08-01 09:17:28 +0400 | [diff] [blame] | 73 | Publish following DNS records using \(input.domain) Domain Name Registrar<br><br> |
| 74 | \(_allRecords) |
| 75 | """ |
| 76 | }] |