charts: replace use of metallb-config-env with metallb-ipaddresspool
diff --git a/charts/metallb-config-env/.helmignore b/charts/metallb-config-env/.helmignore
deleted file mode 100644
index 0e8a0eb..0000000
--- a/charts/metallb-config-env/.helmignore
+++ /dev/null
@@ -1,23 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*.orig
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
-.vscode/
diff --git a/charts/metallb-config-env/Chart.yaml b/charts/metallb-config-env/Chart.yaml
deleted file mode 100644
index b2daa62..0000000
--- a/charts/metallb-config-env/Chart.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-apiVersion: v2
-name: metallb-config-env
-description: A Helm chart to configure Metallb for one of the user PCloud environments
-type: application
-version: 0.0.1
-appVersion: "0.0.1"
diff --git a/charts/metallb-config-env/templates/ip-address-pool.yaml b/charts/metallb-config-env/templates/ip-address-pool.yaml
deleted file mode 100644
index 20639fb..0000000
--- a/charts/metallb-config-env/templates/ip-address-pool.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-apiVersion: metallb.io/v1beta1
-kind: IPAddressPool
-metadata:
- name: {{ .Values.id }}
- namespace: metallb-system
-spec:
- addresses:
- - {{ .Values.rest.from }}-{{ .Values.rest.to }}
----
-apiVersion: metallb.io/v1beta1
-kind: IPAddressPool
-metadata:
- name: {{ .Values.id }}-ingress-private
- namespace: metallb-system
-spec:
- addresses:
- - {{ .Values.ingressPrivate }}-{{ .Values.ingressPrivate }}
----
-apiVersion: metallb.io/v1beta1
-kind: IPAddressPool
-metadata:
- name: {{ .Values.id }}-headscale
- namespace: metallb-system
-spec:
- addresses:
- - {{ .Values.headscale }}-{{ .Values.headscale }}
----
-apiVersion: metallb.io/v1beta1
-kind: IPAddressPool
-metadata:
- name: {{ .Values.id }}-soft-serve
- namespace: metallb-system
-spec:
- addresses:
- - {{ .Values.softServe }}-{{ .Values.softServe }}
----
-apiVersion: metallb.io/v1beta1
-kind: L2Advertisement
-metadata:
- name: l2-advertisement-{{ .Values.id }}
- namespace: metallb-system
-spec:
- ipAddressPools:
- - {{ .Values.id }}
- - {{ .Values.id }}-ingress-private
- - {{ .Values.id }}-headscale
- - {{ .Values.id }}-soft-serve
diff --git a/charts/metallb-config-env/values.yaml b/charts/metallb-config-env/values.yaml
deleted file mode 100644
index 30054d6..0000000
--- a/charts/metallb-config-env/values.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-id: example
-ingressPrivate: 10.1.0.1
-headscale: 10.1.0.2
-softServe: 10.1.0.3
-rest:
- from: 10.1.0.10
- to: 10.1.0.255
diff --git a/core/installer/app.go b/core/installer/app.go
index 774bea8..902e686 100644
--- a/core/installer/app.go
+++ b/core/installer/app.go
@@ -89,7 +89,6 @@
CreateAppCoreAuth(valuesTmpls, tmpls),
CreateAppHeadscale(valuesTmpls, tmpls),
CreateAppTailscaleProxy(valuesTmpls, tmpls),
- CreateMetallbConfigEnv(valuesTmpls, tmpls),
CreateMetallbIPAddressPool(valuesTmpls, tmpls),
CreateEnvManager(valuesTmpls, tmpls),
CreateWelcome(valuesTmpls, tmpls),
@@ -385,22 +384,6 @@
}
}
-func CreateMetallbConfigEnv(fs embed.FS, tmpls *template.Template) App {
- schema, err := fs.ReadFile("values-tmpl/metallb-config-env.jsonschema")
- if err != nil {
- panic(err)
- }
- return App{
- "metallb-config-env",
- []string{"metallb-config"},
- []*template.Template{
- tmpls.Lookup("metallb-config-env.yaml"),
- },
- string(schema),
- tmpls.Lookup("metallb-config-env.md"),
- }
-}
-
func CreateMetallbIPAddressPool(fs embed.FS, tmpls *template.Template) App {
schema, err := fs.ReadFile("values-tmpl/metallb-ipaddresspool.jsonschema")
if err != nil {
diff --git a/core/installer/values-tmpl/metallb-config-env.jsonschema b/core/installer/values-tmpl/metallb-config-env.jsonschema
deleted file mode 100644
index 6eca710..0000000
--- a/core/installer/values-tmpl/metallb-config-env.jsonschema
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "type": "object",
- "properties": {
- "IngressPrivate": { "type": "string" },
- "Headscale": { "type": "string" },
- "SoftServe": { "type": "string" },
- "Rest": {
- "type": "object",
- "properties": {
- "From": { "type": "string" },
- "To": { "type": "string" }
- },
- "additionalProperties": false
- }
- },
- "additionalProperties": false
-}
diff --git a/core/installer/values-tmpl/metallb-config-env.md b/core/installer/values-tmpl/metallb-config-env.md
deleted file mode 100644
index 257cc56..0000000
--- a/core/installer/values-tmpl/metallb-config-env.md
+++ /dev/null
@@ -1 +0,0 @@
-foo
diff --git a/core/installer/values-tmpl/metallb-config-env.yaml b/core/installer/values-tmpl/metallb-config-env.yaml
deleted file mode 100644
index defa5ec..0000000
--- a/core/installer/values-tmpl/metallb-config-env.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-apiVersion: helm.toolkit.fluxcd.io/v2beta1
-kind: HelmRelease
-metadata:
- name: metallb-config-env
- namespace: {{ .Release.Namespace }}
-spec:
- chart:
- spec:
- chart: charts/metallb-config-env
- sourceRef:
- kind: GitRepository
- name: pcloud
- namespace: {{ .Global.Id }}
- interval: 1m0s
- values:
- id: {{ .Global.Id }}
- ingressPrivate: {{ .Values.IngressPrivate }}
- headscale: {{ .Values.Headscale }}
- softServe: {{ .Values.SoftServe }}
- rest:
- from: {{ .Values.Rest.From }}
- to: {{ .Values.Rest.To }}
diff --git a/core/installer/welcome/env.go b/core/installer/welcome/env.go
index 6fc03dc..4eea2c7 100644
--- a/core/installer/welcome/env.go
+++ b/core/installer/welcome/env.go
@@ -183,18 +183,39 @@
nsGen := installer.NewPrefixGenerator(req.Name + "-")
suffixGen := installer.NewEmptySuffixGenerator()
{
- app, err := appsRepo.Find("metallb-config-env")
+ app, err := appsRepo.Find("metallb-ipaddresspool")
if err != nil {
return err
}
if err := appManager.Install(*app, nsGen, suffixGen, map[string]any{
- "IngressPrivate": "10.1.0.1",
- "Headscale": "10.1.0.2",
- "SoftServe": "10.1.0.3",
- "Rest": map[string]any{
- "From": "10.1.0.100",
- "To": "10.1.0.255",
- },
+ "Name": fmt.Sprintf("%s-ingress-private", req.Name),
+ "From": "10.1.0.1",
+ "To": "10.1.0.1",
+ "AutoAssign": false,
+ }); err != nil {
+ return err
+ }
+ if err := appManager.Install(*app, nsGen, suffixGen, map[string]any{
+ "Name": fmt.Sprintf("%s-headscale", req.Name),
+ "From": "10.1.0.2",
+ "To": "10.1.0.2",
+ "AutoAssign": false,
+ }); err != nil {
+ return err
+ }
+ if err := appManager.Install(*app, nsGen, suffixGen, map[string]any{
+ "Name": fmt.Sprintf("%s-soft-serve", req.Name), // TODO(giolekva): rename to config repo
+ "From": "10.1.0.3",
+ "To": "10.1.0.3",
+ "AutoAssign": false,
+ }); err != nil {
+ return err
+ }
+ if err := appManager.Install(*app, nsGen, suffixGen, map[string]any{
+ "Name": req.Name,
+ "From": "10.1.0.100",
+ "To": "10.1.0.254",
+ "AutoAssign": false,
}); err != nil {
return err
}