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
 		}
