Преглед изворни кода

use pg password for provisioner

Alexander Belanger пре 5 година
родитељ
комит
095343e947
4 измењених фајлова са 25 додато и 50 уклоњено
  1. 2 0
      go.sum
  2. 3 3
      internal/kubernetes/agent.go
  3. 15 27
      internal/kubernetes/provisioner/provisioner.go
  4. 5 20
      server/api/provision_handler.go

+ 2 - 0
go.sum

@@ -670,6 +670,8 @@ github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFB
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs=
 github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
+github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
 github.com/kr/pty v1.1.8 h1:AkaSdXYQOWeaO3neb8EM634ahkXXe3jYbVh/F9lq+GI=
 github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=

+ 3 - 3
internal/kubernetes/agent.go

@@ -241,7 +241,7 @@ func (a *Agent) ProvisionECR(
 	ecrName string,
 	awsInfra *models.AWSInfra,
 	operation provisioner.ProvisionerOperation,
-	pgConf *provisioner.PostgresConf,
+	pgConf *config.DBConf,
 	redisConf *config.RedisConf,
 ) (*batchv1.Job, error) {
 	id := awsInfra.GetID()
@@ -272,7 +272,7 @@ func (a *Agent) ProvisionEKS(
 	eksName string,
 	awsInfra *models.AWSInfra,
 	operation provisioner.ProvisionerOperation,
-	pgConf *provisioner.PostgresConf,
+	pgConf *config.DBConf,
 	redisConf *config.RedisConf,
 ) (*batchv1.Job, error) {
 	id := awsInfra.GetID()
@@ -300,7 +300,7 @@ func (a *Agent) ProvisionEKS(
 func (a *Agent) ProvisionTest(
 	projectID uint,
 	operation provisioner.ProvisionerOperation,
-	pgConf *provisioner.PostgresConf,
+	pgConf *config.DBConf,
 	redisConf *config.RedisConf,
 ) (*batchv1.Job, error) {
 	prov := &provisioner.Conf{

+ 15 - 27
internal/kubernetes/provisioner/provisioner.go

@@ -31,7 +31,7 @@ type Conf struct {
 	Namespace string
 	ID        string
 	Redis     *config.RedisConf
-	Postgres  *PostgresConf
+	Postgres  *config.DBConf
 	Operation ProvisionerOperation
 
 	// provider-specific configurations
@@ -40,12 +40,6 @@ type Conf struct {
 	EKS *eks.Conf
 }
 
-// PostgresConf is the postgres config for the provisioner container
-type PostgresConf struct {
-	Host string
-	Port int
-}
-
 type ProvisionerOperation string
 
 const (
@@ -172,19 +166,20 @@ func (conf *Conf) addRedisEnv(env []v1.EnvVar) []v1.EnvVar {
 
 	env = append(env, v1.EnvVar{
 		Name:  "REDIS_USER",
-		Value: "default",
+		Value: conf.Redis.Username,
 	})
 
 	env = append(env, v1.EnvVar{
-		Name: "REDIS_PASS",
-		ValueFrom: &v1.EnvVarSource{
-			SecretKeyRef: &v1.SecretKeySelector{
-				LocalObjectReference: v1.LocalObjectReference{
-					Name: "redis",
-				},
-				Key: "redis-password",
-			},
-		},
+		Name:  "REDIS_PASS",
+		Value: conf.Redis.Password,
+		// ValueFrom: &v1.EnvVarSource{
+		// 	SecretKeyRef: &v1.SecretKeySelector{
+		// 		LocalObjectReference: v1.LocalObjectReference{
+		// 			Name: "redis",
+		// 		},
+		// 		Key: "redis-password",
+		// 	},
+		// },
 	})
 
 	env = append(env, v1.EnvVar{
@@ -209,19 +204,12 @@ func (conf *Conf) addPostgresEnv(env []v1.EnvVar) []v1.EnvVar {
 
 	env = append(env, v1.EnvVar{
 		Name:  "PG_USER",
-		Value: "postgres",
+		Value: conf.Postgres.Username,
 	})
 
 	env = append(env, v1.EnvVar{
-		Name: "PG_PASS",
-		ValueFrom: &v1.EnvVarSource{
-			SecretKeyRef: &v1.SecretKeySelector{
-				LocalObjectReference: v1.LocalObjectReference{
-					Name: "postgres-postgresql",
-				},
-				Key: "postgresql-password",
-			},
-		},
+		Name:  "PG_PASS",
+		Value: conf.Postgres.Password,
 	})
 
 	return env

+ 5 - 20
server/api/provision_handler.go

@@ -36,10 +36,7 @@ func (app *App) HandleProvisionTest(w http.ResponseWriter, r *http.Request) {
 	_, err = agent.ProvisionTest(
 		uint(projID),
 		provisioner.Apply,
-		&provisioner.PostgresConf{
-			Host: app.DBConf.Host,
-			Port: app.DBConf.Port,
-		},
+		&app.DBConf,
 		app.RedisConf,
 	)
 
@@ -119,10 +116,7 @@ func (app *App) HandleProvisionAWSECRInfra(w http.ResponseWriter, r *http.Reques
 		form.ECRName,
 		infra,
 		provisioner.Apply,
-		&provisioner.PostgresConf{
-			Host: app.DBConf.Host,
-			Port: app.DBConf.Port,
-		},
+		&app.DBConf,
 		app.RedisConf,
 	)
 
@@ -212,10 +206,7 @@ func (app *App) HandleDestroyAWSECRInfra(w http.ResponseWriter, r *http.Request)
 		form.ECRName,
 		infra,
 		provisioner.Destroy,
-		&provisioner.PostgresConf{
-			Host: app.DBConf.Host,
-			Port: app.DBConf.Port,
-		},
+		&app.DBConf,
 		app.RedisConf,
 	)
 
@@ -297,10 +288,7 @@ func (app *App) HandleProvisionAWSEKSInfra(w http.ResponseWriter, r *http.Reques
 		form.EKSName,
 		infra,
 		provisioner.Apply,
-		&provisioner.PostgresConf{
-			Host: app.DBConf.Host,
-			Port: app.DBConf.Port,
-		},
+		&app.DBConf,
 		app.RedisConf,
 	)
 
@@ -390,10 +378,7 @@ func (app *App) HandleDestroyAWSEKSInfra(w http.ResponseWriter, r *http.Request)
 		form.EKSName,
 		infra,
 		provisioner.Destroy,
-		&provisioner.PostgresConf{
-			Host: app.DBConf.Host,
-			Port: app.DBConf.Port,
-		},
+		&app.DBConf,
 		app.RedisConf,
 	)