diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ba8943c..04fa1ae 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,11 +73,11 @@ jobs: - name: Apply Kubernetes manifests run: | + kubectl apply -f k8s/db_deployment.yaml + kubectl apply -f k8s/db_config.yaml + kubectl apply -f k8s/db_service.yaml kubectl apply -f k8s/deployment.yaml kubectl apply -f k8s/service.yaml - kubectl apply -f k8s/db_secret.yaml - kubectl apply -f k8s/db_deployment.yaml - kubectl apply -f k8s/security_config.yaml - name: Deploy to GKE run: | diff --git a/k8s/db_config.yaml b/k8s/db_config.yaml new file mode 100644 index 0000000..d06274b --- /dev/null +++ b/k8s/db_config.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: db-config +data: + SPRING_DATASOURCE_URL: "jdbc:postgresql://micropay-db:5432" + SPRING_DATASOURCE_USERNAME: "user" \ No newline at end of file diff --git a/k8s/db_deployment.yaml b/k8s/db_deployment.yaml index f925c0a..b7edd02 100644 --- a/k8s/db_deployment.yaml +++ b/k8s/db_deployment.yaml @@ -2,7 +2,6 @@ apiVersion: apps/v1 kind: Deployment metadata: name: micropay-db - spec: replicas: 1 selector: @@ -19,15 +18,25 @@ spec: ports: - containerPort: 5432 env: - - name: POSTGRES_DB - value: security_db - name: POSTGRES_USER valueFrom: configMapKeyRef: - name: security-config + name: db-config key: SPRING_DATASOURCE_USERNAME - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: db-secret key: SPRING_DATASOURCE_PASSWORD + command: [ "bash", "-c", "--" ] + args: + - | + set -e + docker-entrypoint.sh postgres & + sleep 5 + psql -U "$POSTGRES_USER" -c "CREATE DATABASE security_db;" + psql -U "$POSTGRES_USER" -c "CREATE DATABASE payment_db;" + psql -U "$POSTGRES_USER" -c "CREATE DATABASE wallet_db;" + psql -U "$POSTGRES_USER" -c "CREATE DATABASE transaction_db;" + psql -U "$POSTGRES_USER" -c "CREATE DATABASE notification_db;" + wait diff --git a/k8s/db_service.yaml b/k8s/db_service.yaml new file mode 100644 index 0000000..3a9c207 --- /dev/null +++ b/k8s/db_service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: micropay-db +spec: + selector: + app: micropay-db + ports: + - port: 5432 + targetPort: 5432 diff --git a/k8s/deployment.yaml b/k8s/deployment.yaml index 155db4c..23c1c2b 100644 --- a/k8s/deployment.yaml +++ b/k8s/deployment.yaml @@ -20,8 +20,8 @@ spec: - containerPort: 8150 envFrom: - configMapRef: - name: security-config - - secretRef: + name: db-config + - configMapRef: name: db-secret env: - name: SECURITY_JWT_SECRET diff --git a/k8s/security_config.yaml b/k8s/security_config.yaml deleted file mode 100644 index f37bea5..0000000 --- a/k8s/security_config.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: security-config -data: - SPRING_DATASOURCE_URL: "jdbc:postgresql://micropay-db:5432/security_db" - SPRING_DATASOURCE_USERNAME: "user" \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 1396cb7..8b3bc9a 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -3,7 +3,7 @@ spring: name: micropay-security datasource: - url: ${SPRING_DATASOURCE_URL} + url: ${SPRING_DATASOURCE_URL}/security_db username: ${SPRING_DATASOURCE_USERNAME} password: ${SPRING_DATASOURCE_PASSWORD} driver-class-name: org.postgresql.Driver