|
4 | 4 | push: |
5 | 5 | branches: |
6 | 6 | - main |
| 7 | + - WD-37906-dev-refresh-canonical-com-careers-progression |
7 | 8 | workflow_dispatch: |
8 | 9 | inputs: |
9 | 10 | environment: |
@@ -181,55 +182,55 @@ jobs: |
181 | 182 | juju refresh canonical-com-careers --path ./canonical-com_ubuntu-22.04-amd64.charm --resource flask-app-image=${{ needs.publish-image.outputs.image_url }} |
182 | 183 | juju wait-for application canonical-com --query='name=="canonical-com" && (status=="active" || status=="idle")' |
183 | 184 |
|
184 | | - deploy-production: |
185 | | - runs-on: [self-hosted, self-hosted-linux-amd64-noble-private-endpoint-medium] |
186 | | - if: | |
187 | | - always() && |
188 | | - needs.pack-charm.result == 'success' && |
189 | | - needs.publish-image.result == 'success' && |
190 | | - (needs.deploy-staging.result == 'success' || needs.deploy-staging.result == 'skipped') && |
191 | | - ( |
192 | | - github.event_name == 'push' || |
193 | | - ( |
194 | | - github.event_name == 'workflow_dispatch' && |
195 | | - github.event.inputs.environment == 'production' && |
196 | | - github.event.inputs.branch == 'main' |
197 | | - ) |
198 | | - ) |
199 | | - needs: [pack-charm, publish-image, deploy-staging] |
200 | | - steps: |
201 | | - - name: Checkout Code |
202 | | - uses: actions/checkout@v3 |
203 | | - |
204 | | - - name: Install Dependencies |
205 | | - run: | |
206 | | - sudo snap install juju --channel=3.6/stable --classic |
207 | | - sudo snap install vault --classic |
208 | | - |
209 | | - - name: Download Charm Artifact |
210 | | - uses: actions/download-artifact@v4 |
211 | | - with: |
212 | | - name: canonical-com-charm |
213 | | - |
214 | | - - name: Configure Vault and Juju |
215 | | - run: | |
216 | | - export VAULT_ADDR=https://vault.admin.canonical.com:8200 |
217 | | - export TF_VAR_login_approle_role_id=${{ secrets.PROD_VAULT_APPROLE_ROLE_ID }} |
218 | | - export TF_VAR_login_approle_secret_id=${{ secrets.PROD_VAULT_APPROLE_SECRET_ID }} |
219 | | - export VAULT_SECRET_PATH_ROLE=secret/prodstack6/roles/prod-canonical-com |
220 | | - export VAULT_SECRET_PATH_COMMON=secret/prodstack6/juju/common |
221 | | - VAULT_TOKEN=$(vault write -f -field=token auth/approle/login role_id=${TF_VAR_login_approle_role_id} secret_id=${TF_VAR_login_approle_secret_id}) |
222 | | - export VAULT_TOKEN |
223 | | - mkdir -p ~/.local/share/juju |
224 | | - vault read -field=controller_config "${VAULT_SECRET_PATH_COMMON}/controllers/juju-controller-36-production-ps6" | base64 -d > ~/.local/share/juju/controllers.yaml |
225 | | - USERNAME=$(vault read -field=username "${VAULT_SECRET_PATH_ROLE}/juju") |
226 | | - PASSWORD=$(vault read -field=password "${VAULT_SECRET_PATH_ROLE}/juju") |
227 | | - printf "controllers:\n juju-controller-36-production-ps6:\n user: %s\n password: %s\n" "$USERNAME" "$PASSWORD" > ~/.local/share/juju/accounts.yaml |
228 | | -
|
229 | | - - name: Deploy Application to production |
230 | | - run: | |
231 | | - export JUJU_MODEL=admin/prod-canonical-com |
232 | | - juju refresh canonical-com --path ./canonical-com_ubuntu-22.04-amd64.charm --resource flask-app-image=${{ needs.publish-image.outputs.image_url }} |
233 | | - juju refresh canonical-com-blog --path ./canonical-com_ubuntu-22.04-amd64.charm --resource flask-app-image=${{ needs.publish-image.outputs.image_url }} |
234 | | - juju refresh canonical-com-careers --path ./canonical-com_ubuntu-22.04-amd64.charm --resource flask-app-image=${{ needs.publish-image.outputs.image_url }} |
235 | | - juju wait-for application canonical-com --query='name=="canonical-com" && (status=="active" || status=="idle")' |
| 185 | +# deploy-production: |
| 186 | +# runs-on: [self-hosted, self-hosted-linux-amd64-noble-private-endpoint-medium] |
| 187 | +# if: | |
| 188 | +# always() && |
| 189 | +# needs.pack-charm.result == 'success' && |
| 190 | +# needs.publish-image.result == 'success' && |
| 191 | +# (needs.deploy-staging.result == 'success' || needs.deploy-staging.result == 'skipped') && |
| 192 | +# ( |
| 193 | +# github.event_name == 'push' || |
| 194 | +# ( |
| 195 | +# github.event_name == 'workflow_dispatch' && |
| 196 | +# github.event.inputs.environment == 'production' && |
| 197 | +# github.event.inputs.branch == 'main' |
| 198 | +# ) |
| 199 | +# ) |
| 200 | +# needs: [pack-charm, publish-image, deploy-staging] |
| 201 | +# steps: |
| 202 | +# - name: Checkout Code |
| 203 | +# uses: actions/checkout@v3 |
| 204 | +# |
| 205 | +# - name: Install Dependencies |
| 206 | +# run: | |
| 207 | +# sudo snap install juju --channel=3.6/stable --classic |
| 208 | +# sudo snap install vault --classic |
| 209 | +# |
| 210 | +# - name: Download Charm Artifact |
| 211 | +# uses: actions/download-artifact@v4 |
| 212 | +# with: |
| 213 | +# name: canonical-com-charm |
| 214 | +# |
| 215 | +# - name: Configure Vault and Juju |
| 216 | +# run: | |
| 217 | +# export VAULT_ADDR=https://vault.admin.canonical.com:8200 |
| 218 | +# export TF_VAR_login_approle_role_id=${{ secrets.PROD_VAULT_APPROLE_ROLE_ID }} |
| 219 | +# export TF_VAR_login_approle_secret_id=${{ secrets.PROD_VAULT_APPROLE_SECRET_ID }} |
| 220 | +# export VAULT_SECRET_PATH_ROLE=secret/prodstack6/roles/prod-canonical-com |
| 221 | +# export VAULT_SECRET_PATH_COMMON=secret/prodstack6/juju/common |
| 222 | +# VAULT_TOKEN=$(vault write -f -field=token auth/approle/login role_id=${TF_VAR_login_approle_role_id} secret_id=${TF_VAR_login_approle_secret_id}) |
| 223 | +# export VAULT_TOKEN |
| 224 | +# mkdir -p ~/.local/share/juju |
| 225 | +# vault read -field=controller_config "${VAULT_SECRET_PATH_COMMON}/controllers/juju-controller-36-production-ps6" | base64 -d > ~/.local/share/juju/controllers.yaml |
| 226 | +# USERNAME=$(vault read -field=username "${VAULT_SECRET_PATH_ROLE}/juju") |
| 227 | +# PASSWORD=$(vault read -field=password "${VAULT_SECRET_PATH_ROLE}/juju") |
| 228 | +# printf "controllers:\n juju-controller-36-production-ps6:\n user: %s\n password: %s\n" "$USERNAME" "$PASSWORD" > ~/.local/share/juju/accounts.yaml |
| 229 | +# |
| 230 | +# - name: Deploy Application to production |
| 231 | +# run: | |
| 232 | +# export JUJU_MODEL=admin/prod-canonical-com |
| 233 | +# juju refresh canonical-com --path ./canonical-com_ubuntu-22.04-amd64.charm --resource flask-app-image=${{ needs.publish-image.outputs.image_url }} |
| 234 | +# juju refresh canonical-com-blog --path ./canonical-com_ubuntu-22.04-amd64.charm --resource flask-app-image=${{ needs.publish-image.outputs.image_url }} |
| 235 | +# juju refresh canonical-com-careers --path ./canonical-com_ubuntu-22.04-amd64.charm --resource flask-app-image=${{ needs.publish-image.outputs.image_url }} |
| 236 | +# juju wait-for application canonical-com --query='name=="canonical-com" && (status=="active" || status=="idle")' |
0 commit comments