From aa1eabf0ad367ab15cdd57f544b88c840604b315 Mon Sep 17 00:00:00 2001 From: EMMANUEL Date: Fri, 4 Mar 2022 21:20:45 +0000 Subject: [PATCH] fix: update migration test env --- .../workflows/treetracker-api-deploy-test.yml | 45 +++++++++++++++++++ deployment/base/database-migration-job.yaml | 2 +- deployment/base/deployment.yaml | 4 +- .../database-connection-sealed-secret.yaml | 2 +- ...se-migration-connection-sealed-secret.yaml | 2 +- deployment/overlays/test/kustomization.yaml | 2 +- 6 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/treetracker-api-deploy-test.yml diff --git a/.github/workflows/treetracker-api-deploy-test.yml b/.github/workflows/treetracker-api-deploy-test.yml new file mode 100644 index 0000000..95f6aff --- /dev/null +++ b/.github/workflows/treetracker-api-deploy-test.yml @@ -0,0 +1,45 @@ +name: Deploy Service to Test Env + +on: + workflow_dispatch: + inputs: + environment: + description: 'git-tag' + required: true + +env: + project-directory: ./ + +jobs: + deploy-test: + name: Deploy latest to test environment, requires approval + runs-on: ubuntu-latest + if: | + github.repository == "Greenstand/${{ github.event.repository.name }}" + steps: + - uses: actions/checkout@v2 + with: + ref: ${{ github.event.inputs.git-tag }} + - name: get-npm-version + id: package-version + uses: martinbeentjes/npm-get-version-action@master + with: + path: ${{ env.project-directory }} + - name: Install kustomize + run: curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash + working-directory: ${{ env.project-directory }} + - name: Run kustomize + run: (cd deployment/base && ../../kustomize edit set image greenstand/${{ github.event.repository.name }}:${{ steps.package-version.outputs.current-version }} ) + working-directory: ${{ env.project-directory }} + - name: Install doctl for kubernetes + uses: digitalocean/action-doctl@v2 + with: + token: ${{ secrets.TEST_DIGITALOCEAN_TOKEN }} + - name: Save DigitalOcean kubeconfig + run: doctl kubernetes cluster kubeconfig save ${{ secrets.TEST_CLUSTER_NAME }} + - name: Delete completed migration jobs prior to deployment + run: kubectl -n ${{ secrets.K8S_NAMESPACE }} delete job --ignore-not-found=true database-migration-job + - name: Update kubernetes resources + run: kustomize build deployment/overlays/test | kubectl apply -n ${{ secrets.K8S_NAMESPACE }} --wait -f - + - name: Attempt to wait for migration job to complete + run: kubectl wait -n ${{ secrets.K8S_NAMESPACE }} --for=condition=complete --timeout=45s job/database-migration-job diff --git a/deployment/base/database-migration-job.yaml b/deployment/base/database-migration-job.yaml index 9ec154e..3210850 100644 --- a/deployment/base/database-migration-job.yaml +++ b/deployment/base/database-migration-job.yaml @@ -8,7 +8,7 @@ spec: spec: containers: - name: migration - image: greenstand/treetracker-api:VERSION + image: greenstand/treetracker-stakeholder-api:VERSION env: - name: DATABASE_URL valueFrom: diff --git a/deployment/base/deployment.yaml b/deployment/base/deployment.yaml index 9d98666..2eb6604 100644 --- a/deployment/base/deployment.yaml +++ b/deployment/base/deployment.yaml @@ -24,8 +24,8 @@ spec: values: - microservices-node-pool containers: - - name: treetracker-api - image: greenstand/treetracker-api:VERSION + - name: treetracker-stakeholder-api + image: greenstand/treetracker-stakeholder-api:VERSION ports: - containerPort: 80 env: diff --git a/deployment/overlays/test/database-connection-sealed-secret.yaml b/deployment/overlays/test/database-connection-sealed-secret.yaml index dd9c872..d04314a 100644 --- a/deployment/overlays/test/database-connection-sealed-secret.yaml +++ b/deployment/overlays/test/database-connection-sealed-secret.yaml @@ -6,7 +6,7 @@ metadata: namespace: stakeholder-api spec: encryptedData: - db: AgDKfU8+M0/Afj/4omUbMYYWO15KHVNnOAa5wPAN2xg20TCO15q5c3UOXZVhgBiZ8hR+/Yy/xdu+rWXx7MvDbGEQIpcHKi2dO/b3l8uxJcLg4lc5MjP/t37KzNgDxk76i53VYoLwVzXJciktXu3VzNmbX+qMNMcS3zFTex+FHcMmYreva43FwWWYzgjl/0OeHpWM0n+l4EK0ehb9K+LmQ8vAVKFJDkBHdiVpi64AqzDFalvHWLqg5B4MUQkm9kAXNykoT8si+RlahAblGkqBlCo5iXvY3OIZ85qcSs5ziEMHtmHCO0quEbx63G22XBuCJvBf5gqCbRxatIoA2Q9Jd7lPORJS4jHscHGrq+PC5eDDzOjJERNJ5nnM26dz7rBDHT/RS+ks94DMXXjKrzyJxJF4B0yDSH+gngHBTS4pxFczCG8QGDwRaDVzQ+bacbmQYjrJys0LU6ON/trJjnNZmSlafO5h0s4VNNUl1hDINA8LB3gImXF0+OI2zcTjPUGXaCi2Q4XhIwnb0rNljZ5bxTI0DYUyqpWLKom5/tkL7TXAP89V+17zbSWeo9CDby9pkWutL+1q1sxn8pq46H0aY4MWK0kpRmYWKMGvArLTtsKSo4GzRj9MtVtsOSCQ17467afis/qTOt0HJ4GPvnGo0pYPQ03VpsMg62mXyChOJxJnRTkw3uPrOzfdOpOZzFGgyIhu25gbvNwgbduqa+TcHrD3N7D2sf5ciG05rOm7ukETnek3g+b3zQYtHuO3RIAffPpH8fl4eQ7YZ/aaF2It8GYzC+8HcF4m5Zm8qQDZM0TR7EtVtTydlafKnBh/Kdp7O4I1PE4fsJa+oGvpqT1WHKFW8lLXvwYsnbVit/Q/Oefkmaq9QIaApRBGvFoYmIZ66ktIY25i2D+WlsLK/oqEHSg= + db: AgCWuh156pMB9HBrMNd6CdcVE7TVUMSwwKfLryP+1/XeQ+IrohDdFUvlgqnjzNzT5s6ekN0nZvxiWdknIU8eGkjdjMSNZx01goWkMACL3s+Ga5UqhOl8g48VFejfLigkheFvruchf5nTnK4QC4063WryWBGjLJyYA7vftgxGmOSX8pGowCLm2V6b7ImTt0WvqajPBdQAR0bM0yVN2RnOcv7TJGXliDDLBihyTgGPB0bwwvAqBWipmC3H1Zna7HZ0uboqtYMqHemnydZc4Wj71N7cWy231i/+k05Q6mP/pMVl7Pwux/VMxSY/NRFpq8oxL5E4y+gyGXX1Z3O7UUdYu/4KsI+tGZ+JtRhf0Y4F/Evl4v1wXLRKuIUAxSLOt2w71i4O2zTfR/VTVOSnU/aA2We0JTIg796kl+vm5LQoElBL584mKtDqfKkcrRALCKXehL+1Az4LuhMEEJSAInu9al38pxrTZeoAtQvLK//PYKwTp7cAQJHq6oCtiMa04ZTEotlWzUfdkEihrN625RRw8JOFWJFsTRXoLSIouwHEE9F6A85jk8OdduDcBXkn2MvknlkRC8EW+KCntLBXZ4u+xswdiiUqEZdLyV6qOr+nYpA9y48CZVoZeMpu2vNUZGbZuKPk5oz1tbAeksNNF6JHKWm345+kjFHJzy0HcMLLTG60AGMDI1peicm5gLV3/mE0Lm/AVjT+P7pJ+tdOG0SHmkaRVSOyYF1kl5b08Og5dZvnrSRzHNTtTRDy2u2In3wRacETWGxOT3NQRq64iAzYFiy1AI2qxrepnHp4sQ1aktvYVhxGa8hjtihS8+dnh8RWW5Blxc0iwZ17HxZWkmLtQ0QIIgZHndvh4F8aiSZ5UMSCVFZX+TxMMk5JXioLp/d4oW6eBxYp0FUi+4eJ9pE/tbQ= template: data: null metadata: diff --git a/deployment/overlays/test/database-migration-connection-sealed-secret.yaml b/deployment/overlays/test/database-migration-connection-sealed-secret.yaml index e688685..476cc9e 100644 --- a/deployment/overlays/test/database-migration-connection-sealed-secret.yaml +++ b/deployment/overlays/test/database-migration-connection-sealed-secret.yaml @@ -6,7 +6,7 @@ metadata: namespace: stakeholder-api spec: encryptedData: - db: AgDH4aIwykFsnbm7/KfxsBK5oS56r4qhC57IE7eKN7Sovd9J1NtiXX1mSZPSa4Liyzv3H3sWykZ5clndWiMJlKVuMV5eZVtR6gNZHJhXHWdmqb/arHL+fIFX0DBpm4hASs4MIW3sGv5joH3fyFgVPUgvowkFXcV3S6UrxhKWrIzRXnWuP/lo7VTt/cXqqLiLA2y9jG47LcbQU6k96qZLt6570/GVoIli4xCx2vilww8bCjGUJm/cVHKNdPs3y4Xg6MhnbZg1LdoFJ2Od8vv+fpnbB+kanh4dpRpd3VGbo4AXU5ZFeW03i+0nN3FHTVZy5qKbtpi1bWFXHgnrbgY/1uRM7+wLdJX5BV65wMwImLZil8ViYVjYAJHVWcCSPPawucLmSSmZgI4u0DU1TCVBGCBnENb2UZl2Z2KtWPxitX70xR0pp8bvZFXwFnWFjRh2fdvV4NhENF69Pm8FvIyRQLetG04XYy35XrB3MbyDXNCbFWk/1MLBVLzRX7/1+m097+qHOLeAHpp2uilMH3V7R3zzRHXkJA8jBHc/u3xaaPA4HPS2pS1DWD6GLv3059Ej1QyatmKqKunaXpoRo1KuM7MZgd6DFMWMgfFSGOF/GKg79vaqKbxOSKZrjXXV8lV++WhTfars7ydPH/DQgNgWu5Iwq7CnxYKJ1R976XNBjp6Pt4jTujDYbdzZeQmc8zY3VZUPeWjpwFDj4YlwUy28pJhG7Uki+Rs/3ujjVeXVGAj27Ut97U4tbwI2ZGBSZPc2eGRPnxoJ3wQMR84cmPfvXhau9QCliBjiRUK06WN/KelU92al3npxT5IbTL+Rc5n2YuJ4v7yWyisbGmY632mo0yZNkNDQ9LUqUFOYGRvBc4wZiYhRmgidFYqwnvRZmXnHP5qjI0KTPygmx1dE3cah1CE= + db: AgA4kBpGV39d6XifzaYQwZGXjRQ7fynFWr7p5mZDgEu36TivcM/rsk4w6VDiHtgKCXpQCh8ljCTVpkfiZZxvHmWqs3AZ9q/Lrvwkc6JnOCAo+UxCzC7tTtuydTpeq2V+9SCqP4NXHoAvo1o+wRE7gJkrDy58GhPl5yMTCIql+ZHi4sty2+1mXPoIzNlhhwZ2vvH6FqXIj6jvPup2W4nGlZxJZXAXuerPN8neVtXl8/bdLBR3bsmqaAkVolJWcqf2ophM+jAS5Csb7b6uWDztuvOrb/pok7INm7xQcv7cjE+pe8OwfSPLZlOoq8agn/Tmhk0usngohEsqOWyg+XIkt/PQfYQf21XBl9GVbhRazs+1Euiw9Utv5+ZtlW6ZTjjVoP+yTlJiU1bWqa5MVA+xQJkhCA/spfOB7o2XrG0RVBWCDQVaIpLE7eFtWvKMb+6ZWy8gBa3haOHlfhURJaF0Mz4L/MVrMxiY5cKJibSozMzyl15TCJpdnLtBO6iKpcsXTyZxL9C2qHKS9DasQEN6kKTk1A36sp53jLJYfmboDBao1t0dvVwxwrQDI1dJmf0a8UdXp/Zlj6PpJlzk+S3e+pt9qK8bwtJECBlrK1FfQJDLjRlkc5MfKqlu5a9Jwm+l0JZqdkXtaTtjrr5pw3XwC3RYE0M/A0t7VGlBvCrWctrvLTNIWthkN395WwmH4tMgW3OzV9deMNuVE80CoPvtPwOHPKlOSoIbUApFJcygtzQKU49ycLaE8QSsoZDrtbgiIJ38bbaKBwVgrabIoj+rR+9pgULqze9UUYEoXM8X32F0qdo8lVvwvIaeb9jCrYsNzm5QhXg/xd+tsAchZKIA0NVcfHJ/G2DYjpCpy6cGW0LKjKN/9+f4xktzFUOSN0qgTu6jo1O2tY/hKlpBq/JWuJI= template: data: null metadata: diff --git a/deployment/overlays/test/kustomization.yaml b/deployment/overlays/test/kustomization.yaml index ff20572..e5d2dcd 100644 --- a/deployment/overlays/test/kustomization.yaml +++ b/deployment/overlays/test/kustomization.yaml @@ -2,4 +2,4 @@ bases: - ../../base patchesStrategicMerge: - database-connection-sealed-secret.yaml - - database-migration-connection-sealed-secret.yaml + - database-migration-connection-sealed-secret.yaml