chart: metallb-ipaddresspool
diff --git a/core/installer/app.go b/core/installer/app.go
index c139071..774bea8 100644
--- a/core/installer/app.go
+++ b/core/installer/app.go
@@ -90,6 +90,7 @@
CreateAppHeadscale(valuesTmpls, tmpls),
CreateAppTailscaleProxy(valuesTmpls, tmpls),
CreateMetallbConfigEnv(valuesTmpls, tmpls),
+ CreateMetallbIPAddressPool(valuesTmpls, tmpls),
CreateEnvManager(valuesTmpls, tmpls),
CreateWelcome(valuesTmpls, tmpls),
CreateAppManager(valuesTmpls, tmpls),
@@ -400,6 +401,22 @@
}
}
+func CreateMetallbIPAddressPool(fs embed.FS, tmpls *template.Template) App {
+ schema, err := fs.ReadFile("values-tmpl/metallb-ipaddresspool.jsonschema")
+ if err != nil {
+ panic(err)
+ }
+ return App{
+ "metallb-ipaddresspool",
+ []string{"metallb-ipaddresspool"},
+ []*template.Template{
+ tmpls.Lookup("metallb-ipaddresspool.yaml"),
+ },
+ string(schema),
+ tmpls.Lookup("metallb-ipaddresspool.md"),
+ }
+}
+
func CreateEnvManager(fs embed.FS, tmpls *template.Template) App {
schema, err := fs.ReadFile("values-tmpl/env-manager.jsonschema")
if err != nil {
diff --git a/core/installer/values-tmpl/metallb-ipaddresspool.jsonschema b/core/installer/values-tmpl/metallb-ipaddresspool.jsonschema
new file mode 100644
index 0000000..479ef98
--- /dev/null
+++ b/core/installer/values-tmpl/metallb-ipaddresspool.jsonschema
@@ -0,0 +1,10 @@
+{
+ "type": "object",
+ "properties": {
+ "Name": { "type": "string" },
+ "From": { "type": "string" },
+ "To": { "type": "string" },
+ "AutoAssign": { "type": "boolean" }
+ },
+ "additionalProperties": false
+}
diff --git a/core/installer/values-tmpl/metallb-ipaddresspool.md b/core/installer/values-tmpl/metallb-ipaddresspool.md
new file mode 100644
index 0000000..e0ba8e6
--- /dev/null
+++ b/core/installer/values-tmpl/metallb-ipaddresspool.md
@@ -0,0 +1 @@
+Metallb IPAddressPool
diff --git a/core/installer/values-tmpl/metallb-ipaddresspool.yaml b/core/installer/values-tmpl/metallb-ipaddresspool.yaml
new file mode 100644
index 0000000..4eeacc9
--- /dev/null
+++ b/core/installer/values-tmpl/metallb-ipaddresspool.yaml
@@ -0,0 +1,19 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+ name: metallb-ipaddresspool-{{ .Values.Name }}
+ namespace: {{ .Release.Namespace }}
+spec:
+ chart:
+ spec:
+ chart: charts/metallb-ipaddresspool
+ sourceRef:
+ kind: GitRepository
+ name: pcloud
+ namespace: {{ .Global.Id }}
+ interval: 10m0s
+ values:
+ name: {{ .Values.Name }}
+ from: {{ .Values.From }}
+ to: {{ .Values.To }}
+ autoAssign: {{ .Values.AutoAssign }}