diff --git a/core/installer/tasks/dns.go b/core/installer/tasks/dns.go
index 0424cfe..7db2c3a 100644
--- a/core/installer/tasks/dns.go
+++ b/core/installer/tasks/dns.go
@@ -60,10 +60,6 @@
 			}
 		}
 		{
-			app, err := installer.FindInfraApp(st.appsRepo, "dns-gateway")
-			if err != nil {
-				return err
-			}
 			cfg, err := st.infraAppManager.FindInstance("dns-gateway")
 			if err != nil {
 				return err
@@ -84,7 +80,7 @@
 				env.Domain,
 				env.Network.DNSInClusterIP.String(),
 			})
-			if _, err := st.infraAppManager.Update(app, "dns-gateway", map[string]any{
+			if _, err := st.infraAppManager.Update("dns-gateway", map[string]any{
 				"servers": servers,
 			}); err != nil {
 				return err
diff --git a/core/installer/tasks/env.go b/core/installer/tasks/env.go
index a38e5b1..20528a3 100644
--- a/core/installer/tasks/env.go
+++ b/core/installer/tasks/env.go
@@ -15,6 +15,8 @@
 type state struct {
 	infoListener    EnvInfoListener
 	nsCreator       installer.NamespaceCreator
+	jc              installer.JobCreator
+	hf              installer.HelmFetcher
 	dnsFetcher      installer.ZoneStatusFetcher
 	httpClient      http.Client
 	dnsClient       dns.Client
@@ -34,6 +36,8 @@
 func NewCreateEnvTask(
 	env installer.EnvConfig,
 	nsCreator installer.NamespaceCreator,
+	jc installer.JobCreator,
+	hf installer.HelmFetcher,
 	dnsFetcher installer.ZoneStatusFetcher,
 	httpClient http.Client,
 	dnsClient dns.Client,
@@ -45,6 +49,8 @@
 	st := state{
 		infoListener:    infoListener,
 		nsCreator:       nsCreator,
+		jc:              jc,
+		hf:              hf,
 		dnsFetcher:      dnsFetcher,
 		httpClient:      httpClient,
 		dnsClient:       dnsClient,
diff --git a/core/installer/tasks/infra.go b/core/installer/tasks/infra.go
index e71de44..6f02fa3 100644
--- a/core/installer/tasks/infra.go
+++ b/core/installer/tasks/infra.go
@@ -18,7 +18,7 @@
 		if err != nil {
 			return err
 		}
-		appManager, err := installer.NewAppManager(r, st.nsCreator, "/apps")
+		appManager, err := installer.NewAppManager(r, st.nsCreator, st.jc, st.hf, "/apps")
 		if err != nil {
 			return err
 		}
@@ -57,31 +57,10 @@
 			if err := soft.WriteYaml(r, "config.yaml", env); err != nil {
 				return "", err
 			}
-			out, err := r.Writer("pcloud-charts.yaml")
-			if err != nil {
-				return "", err
-			}
-			defer out.Close()
-			_, err = fmt.Fprintf(out, `
-apiVersion: source.toolkit.fluxcd.io/v1
-kind: GitRepository
-metadata:
-  name: pcloud
-  namespace: %s
-spec:
-  interval: 1m0s
-  url: https://github.com/giolekva/pcloud
-  ref:
-    branch: main
-`, env.Id)
-			if err != nil {
-				return "", err
-			}
 			rootKust, err := soft.ReadKustomization(r, "kustomization.yaml")
 			if err != nil {
 				return "", err
 			}
-			rootKust.AddResources("pcloud-charts.yaml")
 			if err := soft.WriteYaml(r, "kustomization.yaml", rootKust); err != nil {
 				return "", err
 			}
