installer: use soft-serve keygen lib
diff --git a/core/installer/bootstrapper.go b/core/installer/bootstrapper.go
index 957f1ab..7e3cb8a 100644
--- a/core/installer/bootstrapper.go
+++ b/core/installer/bootstrapper.go
@@ -32,8 +32,7 @@
 }
 
 func (b Bootstrapper) Run(env EnvConfig) error {
-	bootstrapJobKeys, err := NewSSHKeyPair()
-	if err != nil {
+	if err := b.ns.Create(env.Name); err != nil {
 		return err
 	}
 	if err := b.installMetallb(env); err != nil {
@@ -43,13 +42,17 @@
 		return err
 	}
 	time.Sleep(1 * time.Minute) // TODO(giolekva): implement proper wait
-	if err := b.installSoftServe(bootstrapJobKeys.Public, env.Name, env.ServiceIPs.ConfigRepo); err != nil {
+	bootstrapJobKeys, err := NewSSHKeyPair("bootstrapper")
+	if err != nil {
+		return err
+	}
+	if err := b.installSoftServe(bootstrapJobKeys.AuthorizedKey(), env.Name, env.ServiceIPs.ConfigRepo); err != nil {
 		return err
 	}
 	var ss *soft.Client
 	err = backoff.Retry(func() error {
 		var err error
-		ss, err = soft.NewClient(netip.AddrPortFrom(env.ServiceIPs.ConfigRepo, 22), []byte(bootstrapJobKeys.Private), log.Default())
+		ss, err = soft.NewClient(netip.AddrPortFrom(env.ServiceIPs.ConfigRepo, 22), bootstrapJobKeys.RawPrivateKey(), log.Default())
 		return err
 	}, backoff.NewConstantBackOff(5*time.Second))
 	if err != nil {
@@ -76,7 +79,7 @@
 	if err := b.installEnvManager(ss, repoIO, nsGen, b.ns, env); err != nil {
 		return err
 	}
-	if ss.RemovePublicKey("admin", bootstrapJobKeys.Public); err != nil {
+	if ss.RemovePublicKey("admin", bootstrapJobKeys.AuthorizedKey()); err != nil {
 		return err
 	}
 	return nil
@@ -242,7 +245,7 @@
 
 func (b Bootstrapper) installSoftServe(adminPublicKey string, envName string, repoIP netip.Addr) error {
 	fmt.Println("Installing SoftServe")
-	keys, err := NewSSHKeyPair()
+	keys, err := NewSSHKeyPair("soft-serve")
 	if err != nil {
 		return err
 	}
@@ -260,8 +263,8 @@
 			"tag":        "v0.5.4",
 			"pullPolicy": "IfNotPresent",
 		},
-		"privateKey": keys.Private,
-		"publicKey":  keys.Public,
+		"privateKey": string(keys.RawPrivateKey()),
+		"publicKey":  string(keys.RawAuthorizedKey()),
 		"adminKey":   adminPublicKey,
 		"reservedIP": repoIP.String(),
 	}
@@ -279,11 +282,11 @@
 }
 
 func (b Bootstrapper) installFluxcd(ss *soft.Client, envName string) error {
-	keys, err := NewSSHKeyPair()
+	keys, err := NewSSHKeyPair("fluxcd")
 	if err != nil {
 		return err
 	}
-	if err := ss.AddUser("flux", keys.Public); err != nil {
+	if err := ss.AddUser("flux", keys.AuthorizedKey()); err != nil {
 		return err
 	}
 	if err := ss.MakeUserAdmin("flux"); err != nil {
@@ -302,7 +305,7 @@
 		ss.GetRepoAddress(envName),
 		ss.Addr.Addr().String(),
 		string(ssPublic),
-		keys.Private,
+		string(keys.RawPrivateKey()),
 		envName,
 	); err != nil {
 		return err
@@ -443,12 +446,12 @@
 }
 
 func (b Bootstrapper) installEnvManager(ss *soft.Client, repo RepoIO, nsGen NamespaceGenerator, nsCreator NamespaceCreator, env EnvConfig) error {
-	keys, err := NewSSHKeyPair()
+	keys, err := NewSSHKeyPair("env-manager")
 	if err != nil {
 		return err
 	}
 	user := fmt.Sprintf("%s-env-manager", env.Name)
-	if err := ss.AddUser(user, keys.Public); err != nil {
+	if err := ss.AddUser(user, keys.AuthorizedKey()); err != nil {
 		return err
 	}
 	if err := ss.MakeUserAdmin(user); err != nil {
@@ -479,7 +482,7 @@
 			"RepoIP":        env.ServiceIPs.ConfigRepo,
 			"RepoPort":      22,
 			"RepoName":      env.Name,
-			"SSHPrivateKey": keys.Private,
+			"SSHPrivateKey": string(keys.RawPrivateKey()),
 		},
 	}
 	if len(namespaces) > 0 {