update PanKB interop API schema #63
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy the prod branch code to an Azure Virtual Machine | |
| on: | |
| push: | |
| branches: [ prod ] | |
| jobs: | |
| deployment: | |
| runs-on: [self-hosted, Linux, X64] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| persist-credentials: false | |
| - name: Copy files using SCP | |
| uses: appleboy/scp-action@v0.1.7 | |
| with: | |
| host: ${{ secrets.PANKB_PROD_HOST_VNET }} | |
| username: ${{ secrets.PANKB_PROD_SSH_USERNAME }} | |
| key: ${{ secrets.PANKB_PROD_PRIVATE_SSH_KEY }} | |
| source: "." | |
| target: "/projects/pankb_web/django_project" | |
| - name: Create the .env file and (re-)start containers over SSH | |
| uses: appleboy/ssh-action@v1.2.0 | |
| with: | |
| host: ${{ secrets.PANKB_PROD_HOST_VNET }} | |
| username: ${{ secrets.PANKB_PROD_SSH_USERNAME }} | |
| key: ${{ secrets.PANKB_PROD_PRIVATE_SSH_KEY }} | |
| port: 22 | |
| script: | | |
| cd /projects/pankb_web/django_project | |
| touch .env | |
| echo $"## Do not put this file under version control!" > .env | |
| echo "" >> .env | |
| echo "## Server type, where the web project is located, values = ('dev' for the DEV server, 'prod' for the both PRE-PROD and PROD servers)" >> .env | |
| echo PROJECT_SERVER="prod" >> .env | |
| echo "" >> .env | |
| echo "## MongoDB type. Only two possible values:" >> .env | |
| echo "# - 'self_deployed' (standalone, deployed on the DEV server in a docker container)" >> .env | |
| echo "# or" >> .env | |
| echo "# - 'cloud' (MongoDB Atlas or Azure CosmosDB for MongoDB)" >> .env | |
| echo DB_TYPE="self_deployed" >> .env | |
| echo "" >> .env | |
| echo "## Django: The secret key" >> .env | |
| echo SECRET_KEY="${{secrets.PANKB_PROD_DJANGO_SECRET_KEY}}" >> .env | |
| echo "" >> .env | |
| echo "## Django: Super-User Credentials" >> .env | |
| echo SUPER_USER_NAME="${{secrets.PANKB_PROD_DJANGO_SUPER_USER_NAME}}" >> .env | |
| echo SUPER_USER_PASSWORD="${{secrets.PANKB_PROD_DJANGO_SUPER_USER_PASSWORD}}" >> .env | |
| echo SUPER_USER_EMAIL="${{secrets.PANKB_PROD_DJANGO_SUPER_USER_EMAIL}}" >> .env | |
| echo "" >> .env | |
| echo "## Mongo database name - same both for the PROD and DEV servers" >> .env | |
| echo MONGODB_NAME="${{secrets.PANKB_PROD_MONGODB_NAME}}" >> .env | |
| echo "## Django: MongoDB-DEV (self-deployed) connection parameters" >> .env | |
| echo "MONGODB_HOST='mongodb://mongodb:27017'" >> .env | |
| echo "MONGODB_AUTH_MECHANISM='SCRAM-SHA-1'" >> .env | |
| echo "" >> .env | |
| echo "MONGODB_USERNAME='${{secrets.PANKB_PROD_MONGODB_USERNAME}}'" >> .env | |
| echo "MONGODB_PASSWORD='${{secrets.PANKB_PROD_MONGODB_PASSWORD}}'" >> .env | |
| echo "MONGODB_AUTH_SOURCE='${{secrets.PANKB_PROD_MONGODB_NAME}}'" >> .env | |
| echo "" >> .env | |
| echo "## MongoDB-PROD (Azure CosmosDB for MongoDB) Connection String" >> .env | |
| echo MONGODB_CONN_STRING="${{secrets.PANKB_PROD_MONGODB_CONN_STRING}}" >> .env | |
| echo "" >> .env | |
| echo "## URL address of the separately deployed AI Assistant Web Application" >> .env | |
| echo AI_ASSISTANT_APP_URL="${{vars.PANKB_PROD_AI_ASSISTANT_APP_URL}}" >> .env | |
| echo "" >> .env | |
| echo "## PanKB Base URL for interop query responses" >> .env | |
| echo PANKB_BASE_URL="${{secrets.PANKB_PROD_BASE_URL}}" >> .env | |
| cat .env | |
| docker compose --profile prod down | |
| docker compose --profile prod up -d --build --force-recreate --remove-orphans | |
| docker system prune --all --force |