diff --git a/config.yml b/config.yml new file mode 100644 index 0000000..61e531c --- /dev/null +++ b/config.yml @@ -0,0 +1,148 @@ +version: 2.1 +commands: + build_and_deploy: + steps: + - checkout + - setup_remote_docker: + docker_layer_caching: true + - run: + name: install and login doctl + command: | + sudo apt-get update + sudo apt install -y gettext-base openssl + wget https://github.com/digitalocean/doctl/releases/download/v1.45.1/doctl-1.45.1-linux-amd64.tar.gz + tar xf doctl-1.45.1-linux-amd64.tar.gz + sudo mv doctl /usr/local/bin + doctl registry login + - run: + name: install kubectl + command: | + curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl + chmod +x ./kubectl + sudo mv ./kubectl /usr/local/bin/kubectl + sudo apt-get update + sudo apt-get install apt-transport-https ca-certificates gnupg curl + curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg + echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list + sudo apt-get update && sudo apt-get install google-cloud-cli && sudo apt-get install google-cloud-cli-gke-gcloud-auth-plugin -y + echo $GOOGLE_CREDENTIALS > ${HOME}/gcloud-service-key.json + gcloud auth activate-service-account --key-file=${HOME}/gcloud-service-key.json + + - run: + name: configure credentials + command: | + if [ "$CIRCLE_BRANCH" == "dev-rke" ] || [ "$CIRCLE_BRANCH" == "development" ]; then + mkdir ~/.kube + touch ~/.kube/config + cat \< ~/.kube/config + apiVersion: v1 + clusters: + - cluster: + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJlRENDQVIrZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWtNU0l3SUFZRFZRUUREQmx5YTJVeUxYTmwKY25abGNpMWpZVUF4TnpBME1EWTJOekV5TUI0WERUSXpNVEl6TVRJek5URTFNbG9YRFRNek1USXlPREl6TlRFMQpNbG93SkRFaU1DQUdBMVVFQXd3WmNtdGxNaTF6WlhKMlpYSXRZMkZBTVRjd05EQTJOamN4TWpCWk1CTUdCeXFHClNNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJEdzZ1d0xxU3pQWjNUWU1CYURrMmppZklXbmVkQlBGQnZIOG8vVnoKYkdvQUJ4bUFkcTF2Z2dmODN2YWxIVU91QmpWZm1ZQkJsb1lrM1k1bFZHZ3hGeDZqUWpCQU1BNEdBMVVkRHdFQgovd1FFQXdJQ3BEQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CMEdBMVVkRGdRV0JCU21ScVRzU3hKYlNKU3ZNaGEvCnc2VzVPOHFjMkRBS0JnZ3Foa2pPUFFRREFnTkhBREJFQWlCclZwQXRoZmNreHlvZnc1b3FKcWtmSVliRUc3ajkKNmMrQ05hWlE1NVNBNUFJZ1l1QWs4NjQyK0hrb2dLODljYk1aMHRVVEpRZ1BKZjBVMUVoZzFRVGZsVWs9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K + server: https://rke-k8s.blackdice.ai:6443 + name: default + contexts: + - context: + cluster: default + user: default + name: default + current-context: default + kind: Config + preferences: {} + users: + - name: default + user: + client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrakNDQVRpZ0F3SUJBZ0lJWTJBQVVxbUFIZTB3Q2dZSUtvWkl6ajBFQXdJd0pERWlNQ0FHQTFVRUF3d1oKY210bE1pMWpiR2xsYm5RdFkyRkFNVGN3TkRBMk5qY3hNakFlRncweU16RXlNekV5TXpVeE5USmFGdzB5TkRFeQpNekF5TXpVeE5USmFNREF4RnpBVkJnTlZCQW9URG5ONWMzUmxiVHB0WVhOMFpYSnpNUlV3RXdZRFZRUURFd3h6CmVYTjBaVzA2WVdSdGFXNHdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUXVJTVJWc0NGeURXN0sKVm1JY0tZRFhwOXRLNmJpaE16MU42RStOZXB5VStQRDdzbjE4RUFVQ0lMVW44V09VTUc3WHYzUXV5REhGcE9PMAoydG5rV0lyUG8wZ3dSakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUhBd0l3Ckh3WURWUjBqQkJnd0ZvQVUxOEM3RUxzU1NKa1dsaWJyRGVNNkZ3R09CbDh3Q2dZSUtvWkl6ajBFQXdJRFNBQXcKUlFJZ0RQQUY4QkwzSGk5QitCSTJvTTRId2h6TnpJZ0JMbmd3Z2swa25GWExNdUVDSVFEdTAxVS8rcnlRbTFTSApZaTUrTVhqV25Tb040QjY0VE9xdGNVYkZEaVhOTVE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlCZVRDQ0FSK2dBd0lCQWdJQkFEQUtCZ2dxaGtqT1BRUURBakFrTVNJd0lBWURWUVFEREJseWEyVXlMV05zCmFXVnVkQzFqWVVBeE56QTBNRFkyTnpFeU1CNFhEVEl6TVRJek1USXpOVEUxTWxvWERUTXpNVEl5T0RJek5URTEKTWxvd0pERWlNQ0FHQTFVRUF3d1pjbXRsTWkxamJHbGxiblF0WTJGQU1UY3dOREEyTmpjeE1qQlpNQk1HQnlxRwpTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCTlFjVS9IdG1admw0eWkwWDB2WDljbXN6YmNZRVZGWkRmWiszdHBYCmR6Ky9tSTJsVmtYaVlHZDF1WlNXTy9pbXVzOFhnaHl3STR1cmR0L0xWNE03S3kyalFqQkFNQTRHQTFVZER3RUIKL3dRRUF3SUNwREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjBHQTFVZERnUVdCQlRYd0xzUXV4SkltUmFXSnVzTgo0em9YQVk0R1h6QUtCZ2dxaGtqT1BRUURBZ05JQURCRkFpRUE5LzJBNTZ1UXlpMGhxUFNMV0VseEFzV0srRTl5CjZTckJIUm1IS2JLeERDVUNJQlRzZ1U1VHp0K1pmTDlkbkt5K2YrVU4vRVlsczFmakd1ckpPV1ZIbVYwbwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + client-key-data: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSU9kK1FNZDN3elQzMEJ4UHEyUmlCUzU2Z1N6ZG9NeGhUUXk3YTJMNzB1RTZvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFTGlERVZiQWhjZzF1eWxaaUhDbUExNmZiU3VtNG9UTTlUZWhQalhxY2xQancrN0o5ZkJBRgpBaUMxSi9GamxEQnUxNzkwTHNneHhhVGp0TnJaNUZpS3p3PT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo= + EOF + elif [ "$CIRCLE_BRANCH" == "qa" ] || [ "$CIRCLE_BRANCH" == "qa-rke" ]; then + mkdir ~/.kube + touch ~/.kube/config + cat \< ~/.kube/config + apiVersion: v1 + clusters: + - cluster: + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJlVENDQVIrZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWtNU0l3SUFZRFZRUUREQmx5YTJVeUxYTmwKY25abGNpMWpZVUF4TnpFd01qYzJOalE0TUI0WERUSTBNRE14TWpJd05UQTBPRm9YRFRNME1ETXhNREl3TlRBMApPRm93SkRFaU1DQUdBMVVFQXd3WmNtdGxNaTF6WlhKMlpYSXRZMkZBTVRjeE1ESTNOalkwT0RCWk1CTUdCeXFHClNNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJBNHZXRGh3WEhzZm9ESWtWS1l0S2xBL1hleTl1TERPaDkrd1FGbGgKYllQWmVpRjd0WTZMVlBFQWQvUXhvbG5CT05EWWZlR3hRQitWYUx3d3RGOUxVMWFqUWpCQU1BNEdBMVVkRHdFQgovd1FFQXdJQ3BEQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CMEdBMVVkRGdRV0JCUnZzd3N4RjNvNjJyVnRsZWNzCndWTFZiMkxROURBS0JnZ3Foa2pPUFFRREFnTklBREJGQWlCcndxcVY4amhrVFlvTTByWHZpZGtweWREODRYaEYKQkkzV1VFUFh3cGRtcWdJaEFNOEV3bkNnNTdFUm1zRzhWYzdRckw2OTk2MHJORlovUGF2RXpZTmNlOWdLCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K + server: https://rke-qa.blackdice.ai:6443 + name: default + contexts: + - context: + cluster: default + user: default + name: default + current-context: default + kind: Config + preferences: {} + users: + - name: default + user: + client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrekNDQVRpZ0F3SUJBZ0lJTE00cTcvSElMRmN3Q2dZSUtvWkl6ajBFQXdJd0pERWlNQ0FHQTFVRUF3d1oKY210bE1pMWpiR2xsYm5RdFkyRkFNVGN4TURJM05qWTBPREFlRncweU5EQXpNVEl5TURVd05EaGFGdzB5TlRBegpNVE14TXpNeU1qTmFNREF4RnpBVkJnTlZCQW9URG5ONWMzUmxiVHB0WVhOMFpYSnpNUlV3RXdZRFZRUURFd3h6CmVYTjBaVzA2WVdSdGFXNHdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU1VQWVBBdVhUT29wOUkKclM3VGExYmN0ZXVMTVhmdDJOWlJjVDBma2wzRGxjVzdpMFl0UE9LNWh3Vm56QjRTZmVjcHlSVFZON05UQkZPRgpNRWF5RHZENm8wZ3dSakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUhBd0l3Ckh3WURWUjBqQkJnd0ZvQVVTcDVWeExjUkMrRUlCcG1XWEFtTnhWanphYVl3Q2dZSUtvWkl6ajBFQXdJRFNRQXcKUmdJaEFMakp0YjdBb0xsaFByL1ZHL0ZFdlhCYjlKSkpKUzd0RFFkc1FjTjJrbHIzQWlFQXlXUmdPWGtWZjRKOQpmeDd5TlA4dHg1a05XQWdsakxLNHEyUEZ0bzh1b3ZvPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlCZURDQ0FSK2dBd0lCQWdJQkFEQUtCZ2dxaGtqT1BRUURBakFrTVNJd0lBWURWUVFEREJseWEyVXlMV05zCmFXVnVkQzFqWVVBeE56RXdNamMyTmpRNE1CNFhEVEkwTURNeE1qSXdOVEEwT0ZvWERUTTBNRE14TURJd05UQTAKT0Zvd0pERWlNQ0FHQTFVRUF3d1pjbXRsTWkxamJHbGxiblF0WTJGQU1UY3hNREkzTmpZME9EQlpNQk1HQnlxRwpTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCRG5IckZiMjVNK3RsZzlOdTFFd0FCSE5hcVdyZGtucW45bGpkSHJOCkFnQyt4Z3FOblVWeU16THM3UEQzZ0svYlp3R0FmYWZZTVlCaE9iR2o3dXFOMXEralFqQkFNQTRHQTFVZER3RUIKL3dRRUF3SUNwREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjBHQTFVZERnUVdCQlJLbmxYRXR4RUw0UWdHbVpaYwpDWTNGV1BOcHBqQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQXBRMm02UDkwc1pDYzZRKzNGUFJWV3hUL1JVeGxaCk53YndlaEdGVnJBa3pRSWdkc0JKWVpwazh1WGtEVFRDNkZ4WGlxWjBObjU4akNYUThnN2lhNkxRZHhnPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + client-key-data: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUpjSnF4bFYxeElLNmgrczVuTURZWkQrTW9xbENoUGx4S1YxTXJKODlGaXNvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFbEQyRHdMbDB6cUtmU0swdTAydFczTFhyaXpGMzdkaldVWEU5SDVKZHc1WEZ1NHRHTFR6aQp1WWNGWjh3ZUVuM25LY2tVMVRlelV3UlRoVEJHc2c3dytnPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo= + EOF + elif [ "$CIRCLE_BRANCH" == "staging" ]; then + export CLUSTER=$STAG_CLUSTER + doctl kubernetes cluster kubeconfig save $CLUSTER + elif [ "$CIRCLE_BRANCH" == "gke-staging" ] || [ "$CIRCLE_BRANCH" == "orion" ] || [ "$CIRCLE_BRANCH" == "landatel" ]; then + gcloud container clusters get-credentials blackdice-stag --region europe-central2 --project gke-blackdice + elif [ "$CIRCLE_BRANCH" == "gke-pov" ]; then + gcloud container clusters get-credentials blackdice-pov --region europe-central2 --project gke-blackdice + elif [ "$CIRCLE_BRANCH" == "production" ]; then + gcloud container clusters get-credentials blackdice-prod --region europe-central2 --project gke-blackdice + elif [ -n "${CIRCLE_TAG}" ]; then + gcloud container clusters get-credentials blackdice-prod --region europe-central2 --project gke-blackdice + fi + - run: + name: build and deploy to cluster + command: | + if [ -n "${CIRCLE_TAG}" ]; then + docker build -t $DO_CONTAINER_REGISTRY/$CIRCLE_PROJECT_REPONAME:${CIRCLE_TAG} . + docker push $DO_CONTAINER_REGISTRY/$CIRCLE_PROJECT_REPONAME:${CIRCLE_TAG} + export IMAGE_NAME=$DO_CONTAINER_REGISTRY/$CIRCLE_PROJECT_REPONAME:${CIRCLE_TAG} + else + TAG=`echo $CIRCLE_SHA1 | cut -c1-8` + docker build -t $DO_CONTAINER_REGISTRY/$CIRCLE_PROJECT_REPONAME:$TAG . + docker push $DO_CONTAINER_REGISTRY/$CIRCLE_PROJECT_REPONAME:$TAG + export IMAGE_NAME=$DO_CONTAINER_REGISTRY/$CIRCLE_PROJECT_REPONAME:$TAG + fi + + #Deploy to K8s + export DEPLOYMENT_NAME=netstar-categorizer + + if [ "$CIRCLE_BRANCH" == "staging" ]; then + cat deployment/staging/deployment.yaml | envsubst | kubectl apply -f - + else + cat deployment/deployment.yaml | envsubst | kubectl apply -f - + fi + + +jobs: + build_and_deploy: + docker: + - image: cimg/base:2024.02 + steps: + - build_and_deploy + +workflows: + version: 2 + build-deploy-dev: + jobs: + - build_and_deploy: + filters: + branches: + only: + - dev-rke + - development + - qa + - staging + - production + - dev-rke + - gke-staging + - gke-pov + circleci-serviceplatform-tags: + jobs: + - build_and_deploy: + filters: + tags: + only: /.*/ + branches: + ignore: /.*/ diff --git a/deployment.yaml b/deployment.yaml new file mode 100644 index 0000000..d4d78f4 --- /dev/null +++ b/deployment.yaml @@ -0,0 +1,226 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: $DEPLOYMENT_NAME + name: $DEPLOYMENT_NAME + namespace: blackdice +spec: + replicas: 1 + selector: + matchLabels: + app: $DEPLOYMENT_NAME + template: + metadata: + labels: + app: $DEPLOYMENT_NAME + spec: + imagePullSecrets: + - name: do-registry + containers: + - env: + - name: NODE_ENV + valueFrom: + secretKeyRef: + key: NODE_ENV + name: serviceplatform-env + - name: MYSQL_URL + valueFrom: + secretKeyRef: + key: MYSQL_URL + name: serviceplatform-env + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + key: MYSQL_PASSWORD + name: serviceplatform-env + - name: MYSQL_PORT + valueFrom: + secretKeyRef: + key: MYSQL_PORT + name: serviceplatform-env + - name: MYSQL_DATABASE + valueFrom: + secretKeyRef: + key: MYSQL_DATABASE + name: serviceplatform-env + - name: MYSQL_USER + valueFrom: + secretKeyRef: + key: MYSQL_USER + name: serviceplatform-env + - name: DB_DIALECT + valueFrom: + secretKeyRef: + key: DB_DIALECT + name: serviceplatform-env + - name: REDIS_URL + valueFrom: + secretKeyRef: + key: REDIS_URL + name: serviceplatform-env + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + key: REDIS_PASSWORD + name: serviceplatform-env + - name: REDIS_PORT + valueFrom: + secretKeyRef: + key: REDIS_PORT + name: serviceplatform-env + - name: COMMUNICATOR_ADDRESS + valueFrom: + secretKeyRef: + key: COMMUNICATOR_ADDRESS + name: serviceplatform-env + - name: SIGNING_KEY + valueFrom: + secretKeyRef: + key: SIGNING_KEY + name: serviceplatform-env + - name: MQTT_HOST + valueFrom: + secretKeyRef: + key: MQTT_HOST + name: serviceplatform-env + - name: MQTT_USERNAME + valueFrom: + secretKeyRef: + key: MQTT_USERNAME + name: serviceplatform-env + - name: MQTT_PASSWORD + valueFrom: + secretKeyRef: + key: MQTT_PASSWORD + name: serviceplatform-env + - name: FIREBASE_ENV + valueFrom: + secretKeyRef: + key: FIREBASE_ENV + name: serviceplatform-env + - name: APNS_TOPIC + valueFrom: + secretKeyRef: + key: APNS_TOPIC + name: serviceplatform-env + - name: MDM_API_TOKEN + valueFrom: + secretKeyRef: + key: MDM_API_TOKEN + name: serviceplatform-env + - name: MDM_AUTH + valueFrom: + secretKeyRef: + key: MDM_AUTH + name: serviceplatform-env + - name: MDM_SERVICE_URL + valueFrom: + secretKeyRef: + key: MDM_SERVICE_URL + name: serviceplatform-env + - name: DNS_URL + valueFrom: + secretKeyRef: + key: DNS_URL + name: serviceplatform-env + - name: MYSQL_DATABASE_THREAT + valueFrom: + secretKeyRef: + key: MYSQL_DATABASE_THREAT + name: serviceplatform-env + - name: MONGO_COLLECTION + valueFrom: + secretKeyRef: + key: MONGO_COLLECTION + name: serviceplatform-env + - name: MONGO_URI + valueFrom: + secretKeyRef: + key: MONGO_URI + name: serviceplatform-env + - name: MONGO_DATABASE + valueFrom: + secretKeyRef: + key: MONGO_DATABASE + name: serviceplatform-env + - name: RETINA_EMAIL_REDIRECT + valueFrom: + secretKeyRef: + key: RETINA_EMAIL_REDIRECT + name: serviceplatform-env + - name: CORS_ORIGINS + valueFrom: + secretKeyRef: + key: CORS_ORIGINS + name: serviceplatform-env + - name: AMA_OAUTH_SCOPE + valueFrom: + secretKeyRef: + key: AMA_OAUTH_SCOPE + name: serviceplatform-env + - name: AMA_PROJECT_ID + valueFrom: + secretKeyRef: + key: AMA_PROJECT_ID + name: serviceplatform-env + - name: AMA_PRIVATE_KEY + valueFrom: + secretKeyRef: + key: AMA_PRIVATE_KEY + name: serviceplatform-env + - name: AMA_SERVICE_EMAIL + valueFrom: + secretKeyRef: + key: AMA_SERVICE_EMAIL + name: serviceplatform-env + - name: AMA_SUBSCRIPTION_NAME + valueFrom: + secretKeyRef: + key: AMA_SUBSCRIPTION_NAME + name: serviceplatform-env + - name: AMA_PS_SERVICE_EMAIL + valueFrom: + secretKeyRef: + key: AMA_PS_SERVICE_EMAIL + name: serviceplatform-env + - name: AMA_PS_PRIVATE_KEY + valueFrom: + secretKeyRef: + key: AMA_PS_PRIVATE_KEY + name: serviceplatform-env + - name: AGENT_STORAGE + valueFrom: + secretKeyRef: + key: AGENT_STORAGE + name: serviceplatform-env + - name: AGENT_STORAGE_KEY + valueFrom: + secretKeyRef: + key: AGENT_STORAGE_KEY + name: serviceplatform-env + image: $IMAGE_NAME + imagePullPolicy: Always + name: $DEPLOYMENT_NAME + ports: + - containerPort: 3000 + protocol: TCP + restartPolicy: Always + + +--- +apiVersion: v1 +kind: Service +metadata: + name: $DEPLOYMENT_NAME + namespace: blackdice +spec: + ports: + - name: $DEPLOYMENT_NAME + port: 3000 + protocol: TCP + targetPort: 3000 + selector: + app: $DEPLOYMENT_NAME + type: ClusterIP diff --git a/staging/deployment.yaml b/staging/deployment.yaml new file mode 100644 index 0000000..dc6be67 --- /dev/null +++ b/staging/deployment.yaml @@ -0,0 +1,224 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: $DEPLOYMENT_NAME + name: $DEPLOYMENT_NAME + namespace: blackdice +spec: + replicas: 1 + selector: + matchLabels: + app: $DEPLOYMENT_NAME + template: + metadata: + labels: + app: $DEPLOYMENT_NAME + spec: + containers: + - env: + - name: NODE_ENV + valueFrom: + secretKeyRef: + key: NODE_ENV + name: serviceplatform-env + - name: MYSQL_URL + valueFrom: + secretKeyRef: + key: MYSQL_URL + name: serviceplatform-env + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + key: MYSQL_PASSWORD + name: serviceplatform-env + - name: MYSQL_PORT + valueFrom: + secretKeyRef: + key: MYSQL_PORT + name: serviceplatform-env + - name: MYSQL_DATABASE + valueFrom: + secretKeyRef: + key: MYSQL_DATABASE + name: serviceplatform-env + - name: MYSQL_USER + valueFrom: + secretKeyRef: + key: MYSQL_USER + name: serviceplatform-env + - name: DB_DIALECT + valueFrom: + secretKeyRef: + key: DB_DIALECT + name: serviceplatform-env + - name: REDIS_URL + valueFrom: + secretKeyRef: + key: REDIS_URL + name: serviceplatform-env + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + key: REDIS_PASSWORD + name: serviceplatform-env + - name: REDIS_PORT + valueFrom: + secretKeyRef: + key: REDIS_PORT + name: serviceplatform-env + - name: COMMUNICATOR_ADDRESS + valueFrom: + secretKeyRef: + key: COMMUNICATOR_ADDRESS + name: serviceplatform-env + - name: SIGNING_KEY + valueFrom: + secretKeyRef: + key: SIGNING_KEY + name: serviceplatform-env + - name: MQTT_HOST + valueFrom: + secretKeyRef: + key: MQTT_HOST + name: serviceplatform-env + - name: MQTT_USERNAME + valueFrom: + secretKeyRef: + key: MQTT_USERNAME + name: serviceplatform-env + - name: MQTT_PASSWORD + valueFrom: + secretKeyRef: + key: MQTT_PASSWORD + name: serviceplatform-env + - name: FIREBASE_ENV + valueFrom: + secretKeyRef: + key: FIREBASE_ENV + name: serviceplatform-env + - name: APNS_TOPIC + valueFrom: + secretKeyRef: + key: APNS_TOPIC + name: serviceplatform-env + - name: MDM_API_TOKEN + valueFrom: + secretKeyRef: + key: MDM_API_TOKEN + name: serviceplatform-env + - name: MDM_AUTH + valueFrom: + secretKeyRef: + key: MDM_AUTH + name: serviceplatform-env + - name: MDM_SERVICE_URL + valueFrom: + secretKeyRef: + key: MDM_SERVICE_URL + name: serviceplatform-env + - name: DNS_URL + valueFrom: + secretKeyRef: + key: DNS_URL + name: serviceplatform-env + - name: MYSQL_DATABASE_THREAT + valueFrom: + secretKeyRef: + key: MYSQL_DATABASE_THREAT + name: serviceplatform-env + - name: MONGO_COLLECTION + valueFrom: + secretKeyRef: + key: MONGO_COLLECTION + name: serviceplatform-env + - name: MONGO_URI + valueFrom: + secretKeyRef: + key: MONGO_URI + name: serviceplatform-env + - name: MONGO_DATABASE + valueFrom: + secretKeyRef: + key: MONGO_DATABASE + name: serviceplatform-env + - name: RETINA_EMAIL_REDIRECT + valueFrom: + secretKeyRef: + key: RETINA_EMAIL_REDIRECT + name: serviceplatform-env + - name: CORS_ORIGINS + valueFrom: + secretKeyRef: + key: CORS_ORIGINS + name: serviceplatform-env + - name: AMA_OAUTH_SCOPE + valueFrom: + secretKeyRef: + key: AMA_OAUTH_SCOPE + name: serviceplatform-env + - name: AMA_PROJECT_ID + valueFrom: + secretKeyRef: + key: AMA_PROJECT_ID + name: serviceplatform-env + - name: AMA_PRIVATE_KEY + valueFrom: + secretKeyRef: + key: AMA_PRIVATE_KEY + name: serviceplatform-env + - name: AMA_SERVICE_EMAIL + valueFrom: + secretKeyRef: + key: AMA_SERVICE_EMAIL + name: serviceplatform-env + - name: AMA_SUBSCRIPTION_NAME + valueFrom: + secretKeyRef: + key: AMA_SUBSCRIPTION_NAME + name: serviceplatform-env + - name: AMA_PS_SERVICE_EMAIL + valueFrom: + secretKeyRef: + key: AMA_PS_SERVICE_EMAIL + name: serviceplatform-env + - name: AMA_PS_PRIVATE_KEY + valueFrom: + secretKeyRef: + key: AMA_PS_PRIVATE_KEY + name: serviceplatform-env + - name: AGENT_STORAGE + valueFrom: + secretKeyRef: + key: AGENT_STORAGE + name: serviceplatform-env + - name: AGENT_STORAGE_KEY + valueFrom: + secretKeyRef: + key: AGENT_STORAGE_KEY + name: serviceplatform-env + image: $IMAGE_NAME + imagePullPolicy: Always + name: $DEPLOYMENT_NAME + ports: + - containerPort: 3000 + protocol: TCP + restartPolicy: Always + + +--- +apiVersion: v1 +kind: Service +metadata: + name: $DEPLOYMENT_NAME + namespace: blackdice +spec: + ports: + - name: $DEPLOYMENT_NAME + port: 3000 + protocol: TCP + targetPort: 3000 + selector: + app: $DEPLOYMENT_NAME + type: ClusterIP