name: Deployment AppFlowy Cloud and Admin Frontend for Kube Environment on: push: branches: - 'main' - 'test_deploy_*' jobs: image_build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: build docker images run: | docker compose build appflowy_cloud admin_frontend docker images - name: push docker images to docker hub run: | docker images docker tag appflowyinc/appflowy_cloud appflowyinc/appflowy_cloud:dev docker tag appflowyinc/admin_frontend appflowyinc/admin_frontend:dev echo ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | docker login --username appflowyinc --password-stdin docker push appflowyinc/appflowy_cloud:dev docker push appflowyinc/admin_frontend:dev image_deploy: runs-on: [test-kube-worker] steps: - name: Checkout Deployment uses: actions/checkout@v4 with: repository: AppFlowy-IO/AppFlowy-Cloud-Deployment token: ${{ secrets.GH_PAT }} - name: apply images run: | # export env var source environments/base.env source environments/test.env export APPFLOWY_GOTRUE_JWT_SECRET=${{ secrets.TEST_GOTRUE_JWT_SECRET }} export APPFLOWY_S3_ACCESS_KEY=${{ secrets.TEST_APPFLOWY_S3_ACCESS_KEY }} export APPFLOWY_S3_SECRET_KEY=${{ secrets.TEST_APPFLOWY_S3_SECRET_KEY }} export APPFLOWY_GOTRUE_ADMIN_PASSWORD=${{ secrets.TEST_APPFLOWY_GOTRUE_ADMIN_PASSWORD }} export ADMIN_FRONTEND_IMAGE=appflowyinc/admin_frontend:dev export APPFLOWY_IMAGE=appflowyinc/appflowy_cloud:dev # keep track of final env deployment files mkdir deployed # dump all env var env > deployed/.env # create config map kubernetes/scripts/env_to_configmap.sh < deployed/.env | tee deployed/appflowy-configmap.yaml | kubectl apply -f - # deploy appflowy cloud envsubst < kubernetes/templates/appflowy-cloud-deployment.yaml | tee deployed/appflowy-cloud-deployment.yaml | kubectl apply -f - envsubst < kubernetes/templates/appflowy-cloud-service.yaml | tee deployed/appflowy-cloud-service.yaml | kubectl apply -f - # deploy admin_frontend envsubst < kubernetes/templates/admin-frontend-deployment.yaml | tee deployed/admin-frontend-deployment.yaml | kubectl apply -f - envsubst < kubernetes/templates/admin-frontend-service.yaml | tee deployed/admin-frontend-service.yaml | kubectl apply -f -