blob: 8721e7f5add00412a98962b657bdade4e0c58827 [file] [log] [blame]
import (
"strings"
)
input: {
name: string
domain: string
}
name: "Network"
namespace: "ingress-custom"
readme: "Configure custom public domain"
description: readme
icon: """
<svg width='50px' height='50px' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 39.68503937 35.84897203'>
<defs>
<style>
.cls-1 {
fill: currentColor;
}
.cls-2 {
fill: none;
stroke: #3a3a3a;
stroke-miterlimit: 10;
stroke-width: .98133445px;
}
</style>
</defs>
<rect class='cls-2' x='-9.97439025' y='-11.89242392' width='59.63381987' height='59.63381987'/>
<g>
<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'/>
<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'/>
</g>
</svg>"""
out: {
charts: {
"certificate-issuer": {
kind: "GitRepository"
address: "https://code.v1.dodo.cloud/helm-charts"
branch: "main"
path: "charts/certificate-issuer-public"
}
}
helm: {
"certificate-issuer": {
chart: charts["certificate-issuer"]
dependsOn: [{
name: "ingress-nginx"
namespace: "\(global.namespacePrefix)ingress-private"
}]
values: {
issuer: {
name: input.name
server: "https://acme-v02.api.letsencrypt.org/directory"
domain: input.domain
contactEmail: global.contactEmail
ingressClass: networks.public.ingressClass
}
}
}
}
}
help: [{
title: "DNS"
_records: [for ip in global.nameserverIP { "* 10800 IN A \(ip)" }]
_allRecords: strings.Join(_records, "<br>")
contents: """
Publish following DNS records using \(input.domain) Domain Name Registrar<br><br>
\(_allRecords)
"""
}]