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 -