Skip to content
This repository has been archived by the owner on Apr 14, 2024. It is now read-only.

Commit

Permalink
Rename to collabry (#256)
Browse files Browse the repository at this point in the history
  • Loading branch information
OlegYurchik authored Mar 30, 2024
2 parents bef8d46 + 77673d3 commit 192e186
Show file tree
Hide file tree
Showing 302 changed files with 1,012 additions and 1,350 deletions.
4 changes: 2 additions & 2 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ projects_base_url=http://localhost:3000/projects
storage_base_url=http://localhost:3000/storage
users_base_url=http://localhost:3000/users
oauth2_habr_callback_url=http://localhost:3000/users/api/rest/auth/oauth2/habr/callback
oleg_email=sapphire1user@gmail.com
oleg_email=collabry1user@gmail.com
oleg_email_password=<any_password>
matvey_email=sapphire2user@gmail.com
matvey_email=collabry2user@gmail.com
matvey_email_password=<any_password>
jwt_access_token_private_key="-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDf6p+1rxqSbg7T
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/autotests-stage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,26 @@ jobs:
with:
ref: main
- name: Build
run: docker build -t sapphire:test-${{ github.sha }} --target full .
run: docker build -t collabry:test-${{ github.sha }} --target full .
test:
needs: [build]
runs-on: self-hosted
steps:
- name: Autotests
run: >
docker run --rm
-e "MESSENGER_BASE_URL=${STAGE__MESSENGER__API__ROOT_URL}${STAGE__MESSENGER__API__ROOT_PATH}"
-e "NOTIFICATIONS_BASE_URL=${STAGE__NOTIFICATIONS__API__ROOT_URL}${STAGE__NOTIFICATIONS__API__ROOT_PATH}"
-e "PROJECTS_BASE_URL=${STAGE__PROJECTS__API__ROOT_URL}${STAGE__PROJECTS__API__ROOT_PATH}"
-e "STORAGE_BASE_URL=${STAGE__STORAGE__API__ROOT_URL}${STAGE__STORAGE__API__ROOT_PATH}"
-e "USERS_BASE_URL=${STAGE__USERS__API__ROOT_URL}${STAGE__USERS__API__ROOT_PATH}"
-e "OAUTH2_HABR_CALLBACK_URL=${STAGE__USERS__API__OAUTH2_HABR_CALLBACK_URL}"
-e "MESSENGER_BASE_URL=${STAGE__COLLABRY__MESSENGER__API__ROOT_URL}${STAGE__COLLABRY__MESSENGER__API__ROOT_PATH}"
-e "NOTIFICATIONS_BASE_URL=${STAGE__COLLABRY__NOTIFICATIONS__API__ROOT_URL}${STAGE__COLLABRY__NOTIFICATIONS__API__ROOT_PATH}"
-e "PROJECTS_BASE_URL=${STAGE__COLLABRY__PROJECTS__API__ROOT_URL}${STAGE__COLLABRY__PROJECTS__API__ROOT_PATH}"
-e "STORAGE_BASE_URL=${STAGE__COLALBRY__STORAGE__API__ROOT_URL}${STAGE__COLLABRY__STORAGE__API__ROOT_PATH}"
-e "USERS_BASE_URL=${STAGE__COLALBRY__USERS__API__ROOT_URL}${STAGE__COLLABRY__USERS__API__ROOT_PATH}"
-e "OAUTH2_HABR_CALLBACK_URL=${STAGE__COLLABRY__USERS__API__OAUTH2_HABR_CALLBACK_URL}"
-e "OLEG_EMAIL=${OLEG_EMAIL}"
-e "OLEG_EMAIL_PASSWORD=${OLEG_EMAIL_PASSWORD}"
-e "MATVEY_EMAIL=${MATVEY_EMAIL}"
-e "MATVEY_EMAIL_PASSWORD=${MATVEY_EMAIL_PASSWORD}"
-v /sapphire/stage/secrets:/run/secrets
sapphire:test-${{ github.sha }} pytest autotests
-v /collabry/stage/secrets:/run/secrets
collabry:test-${{ github.sha }} pytest autotests
- name: Notification
if: failure()
uses: appleboy/telegram-action@master
Expand Down
100 changes: 47 additions & 53 deletions .github/workflows/deploy-production.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,64 +11,58 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: docker build -t sapphire:${{ github.ref_name }} --target slim .
run: docker build -t collabry:${{ github.ref_name }} --target slim .
deploy:
needs: [build]
runs-on: self-hosted
steps:
- name: Set environment variables
run: |
echo "ENV=production" >> $GITHUB_ENV
echo "SAPPHIRE_IMAGE=sapphire:${GITHUB_SHA}" >> $GITHUB_ENV
echo "PORT=${PRODUCTION__PORT}" >> $GITHUB_ENV
echo "OAUTH2_HABR_CLIENT_ID_NAME=${PRODUCTION__OAUTH2_HABR_CLIENT_ID_NAME}" >> $GITHUB_ENV
echo "OAUTH2_HABR_CLIENT_SECRET_NAME=${PRODUCTION__OAUTH2_HABR_CLIENT_SECRET_NAME}" >> $GITHUB_ENV
echo "HABR_API_KEY_NAME=${PRODUCTION__HABR_API_KEY_NAME}" >> $GITHUB_ENV
echo "HABR_CAREER_API_KEY_NAME=${PRODUCTION__HABR_CAREER_API_KEY_NAME}" >> $GITHUB_ENV
echo "JWT_ACCESS_TOKEN_PRIVATE_KEY_NAME=${PRODUCTION__JWT_ACCESS_TOKEN_PRIVATE_KEY_NAME}" >> $GITHUB_ENV
echo "JWT_ACCESS_TOKEN_PUBLIC_KEY_NAME=${PRODUCTION__JWT_ACCESS_TOKEN_PUBLIC_KEY_NAME}" >> $GITHUB_ENV
echo "JWT_REFRESH_TOKEN_PRIVATE_KEY_NAME=${PRODUCTION__JWT_REFRESH_TOKEN_PRIVATE_KEY_NAME}" >> $GITHUB_ENV
echo "JWT_REFRESH_TOKEN_PUBLIC_KEY_NAME=${PRODUCTION__JWT_REFRESH_TOKEN_PUBLIC_KEY_NAME}" >> $GITHUB_ENV
echo "DATABASE_PASSWORD=${PRODUCTION__DATABASE_PASSWORD}" >> $GITHUB_ENV
echo "SWAGGER_ROOT_PATH=${PRODUCTION__SWAGGER_ROOT_PATH}" >> $GITHUB_ENV
echo "KAFKA_UI_ROOT_PATH=${PRODUCTION__KAFKA_UI_ROOT_PATH}" >> $GITHUB_ENV
echo "KAFKA_UI_PASSWORD=${PRODUCTION__KAFKA_UI_PASSWORD}" >> $GITHUB_ENV
echo "GRAFANA_ROOT_URL=${PRODUCTION__GRAFANA_ROOT_URL}" >> $GITHUB_ENV
echo "GRAFANA_ROOT_PATH=${PRODUCTION__GRAFANA_ROOT_PATH}" >> $GITHUB_ENV
echo "BROKER_DIR=${PRODUCTION__BROKER_DIR}" >> $GITHUB_ENV
echo "DATABASE_DIR=${PRODUCTION__DATABASE_DIR}" >> $GITHUB_ENV
echo "GRAFANA_DIR=${PRODUCTION__GRAFANA_DIR}" >> $GITHUB_ENV
echo "PROMETHEUS_DIR=${PRODUCTION__PROMETHEUS_DIR}" >> $GITHUB_ENV
echo "REDIS_DIR=${PRODUCTION__REDIS_DIR}" >> $GITHUB_ENV
echo "PROJECTS_MEDIA_DIR_PATH=${PRODUCTION__PROJECTS_MEDIA_DIR_PATH}" >> $GITHUB_ENV
echo "USERS_MEDIA_DIR_PATH=${PRODUCTION__USERS_MEDIA_DIR_PATH}" >> $GITHUB_ENV
echo "DATABASE__DSN=${PRODUCTION__DATABASE__DSN}" >> $GITHUB_ENV
echo "EMAIL__SENDER__USERNAME=${PRODUCTION__EMAIL__SENDER__USERNAME}" >> $GITHUB_ENV
echo "EMAIL__SENDER__PASSWORD=${PRODUCTION__EMAIL__SENDER__PASSWORD}" >> $GITHUB_ENV
echo "EMAIL__SENDER__HOST=${PRODUCTION__EMAIL__SENDER__HOST}" >> $GITHUB_ENV
echo "EMAIL__SENDER__PORT=${PRODUCTION__EMAIL__SENDER__PORT}" >> $GITHUB_ENV
echo "EMAIL__SENDER__START_TLS=${PRODUCTION__EMAIL__SENDER__START_TLS}" >> $GITHUB_ENV
echo "EMAIL__SENDER__TLS=${PRODUCTION__EMAIL__SENDER__TLS}" >> $GITHUB_ENV
echo "MESSENGER__API__ALLOWED_ORIGINS=${PRODUCTION__MESSENGER__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
echo "MESSENGER__API__ROOT_PATH=${PRODUCTION__MESSENGER__API__ROOT_PATH}" >> $GITHUB_ENV
echo "MESSENGER__API__ROOT_URL=${PRODUCTION__MESSENGER__API__ROOT_URL}" >> $GITHUB_ENV
echo "MESSENGER__DATABASE__DSN=${PRODUCTION__MESSENGER__DATABASE__DSN}" >> $GITHUB_ENV
echo "NOTIFICATIONS__API__ALLOWED_ORIGINS=${PRODUCTION__NOTIFICATIONS__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
echo "NOTIFICATIONS__API__ROOT_PATH=${PRODUCTION__NOTIFICATIONS__API__ROOT_PATH}" >> $GITHUB_ENV
echo "NOTIFICATIONS__API__ROOT_URL=${PRODUCTION__NOTIFICATIONS__API__ROOT_URL}" >> $GITHUB_ENV
echo "NOTIFICATIONS__DATABASE__DSN=${PRODUCTION__NOTIFICATIONS__DATABASE__DSN}" >> $GITHUB_ENV
echo "PROJECTS__API__ALLOWED_ORIGINS=${PRODUCTION__PROJECTS__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
echo "PROJECTS__API__ROOT_PATH=${PRODUCTION__PROJECTS__API__ROOT_PATH}" >> $GITHUB_ENV
echo "PROJECTS__API__ROOT_URL=${PRODUCTION__PROJECTS__API__ROOT_URL}" >> $GITHUB_ENV
echo "PROJECTS__DATABASE__DSN=${PRODUCTION__PROJECTS__DATABASE__DSN}" >> $GITHUB_ENV
echo "STORAGE__API__ALLOWED_ORIGINS=${PRODUCTION__STORAGE__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
echo "STORAGE__API__ROOT_PATH=${PRODUCTION__STORAGE__API__ROOT_PATH}" >> $GITHUB_ENV
echo "STORAGE__API__ROOT_URL=${PRODUCTION__STORAGE__API__ROOT_URL}" >> $GITHUB_ENV
echo "STORAGE__DATABASE__DSN=${PRODUCTION__STORAGE__DATABASE__DSN}" >> $GITHUB_ENV
echo "USERS__API__ALLOWED_ORIGINS=${PRODUCTION__USERS__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
echo "USERS__API__OAUTH2_HABR_CALLBACK_URL=${PRODUCTION__USERS__API__OAUTH2_HABR_CALLBACK_URL}" >> $GITHUB_ENV
echo "USERS__API__ROOT_PATH=${PRODUCTION__USERS__API__ROOT_PATH}" >> $GITHUB_ENV
echo "USERS__API__ROOT_URL=${PRODUCTION__USERS__API__ROOT_URL}" >> $GITHUB_ENV
echo "USERS__DATABASE__DSN=${PRODUCTION__USERS__DATABASE__DSN}" >> $GITHUB_ENV
echo "COLLABRY__IMAGE=collabry:${GITHUB_SHA}" >> $GITHUB_ENV
for e in $(env | grep 'PRODUCTION__'); do echo "${e#'PRODUCTION__'}" >> $GITHUB_ENV; done
# echo "TRAEFIK__PORT=${PRODUCTION__TRAEFIK__PORT}" >> $GITHUB_ENV
# echo "SECRETS__OAUTH2_HABR_CLIENT_ID_NAME=${PRODUCTION__SECRETS__OAUTH2_HABR_CLIENT_ID_NAME}" >> $GITHUB_ENV
# echo "SECRETS__OAUTH2_HABR_CLIENT_SECRET_NAME=${PRODUCTION__SECRETS__OAUTH2_HABR_CLIENT_SECRET_NAME}" >> $GITHUB_ENV
# echo "SECRETS__HABR_API_KEY_NAME=${PRODUCTION__SECRETS__HABR_API_KEY_NAME}" >> $GITHUB_ENV
# echo "SECRETS__HABR_CAREER_API_KEY_NAME=${PRODUCTION__SECRETS__HABR_CAREER_API_KEY_NAME}" >> $GITHUB_ENV
# echo "SECRETS__JWT_ACCESS_TOKEN_PRIVATE_KEY_NAME=${PRODUCTION__SECRETS__JWT_ACCESS_TOKEN_PRIVATE_KEY_NAME}" >> $GITHUB_ENV
# echo "SECRETS__JWT_ACCESS_TOKEN_PUBLIC_KEY_NAME=${PRODUCTION__SECRETS__JWT_ACCESS_TOKEN_PUBLIC_KEY_NAME}" >> $GITHUB_ENV
# echo "SECRETS__JWT_REFRESH_TOKEN_PRIVATE_KEY_NAME=${PRODUCTION__SECRETS__JWT_REFRESH_TOKEN_PRIVATE_KEY_NAME}" >> $GITHUB_ENV
# echo "SECRETS__JWT_REFRESH_TOKEN_PUBLIC_KEY_NAME=${PRODUCTION__SECRETS__JWT_REFRESH_TOKEN_PUBLIC_KEY_NAME}" >> $GITHUB_ENV
# echo "POSTGRES__PASSWORD=${PRODUCTION__POSTGRES__PASSWORD}" >> $GITHUB_ENV
# echo "SWAGGER__ROOT_PATH=${PRODUCTION__SWAGGER__ROOT_PATH}" >> $GITHUB_ENV
# echo "KAFKA_UI__ROOT_PATH=${PRODUCTION__KAFKA_UI__ROOT_PATH}" >> $GITHUB_ENV
# echo "KAFKA_UI__PASSWORD=${PRODUCTION__KAFKA_UI__PASSWORD}" >> $GITHUB_ENV
# echo "GRAFANA__ROOT_URL=${PRODUCTION__GRAFANA__ROOT_URL}" >> $GITHUB_ENV
# echo "GRAFANA__ROOT_PATH=${PRODUCTION__GRAFANA__ROOT_PATH}" >> $GITHUB_ENV
# echo "COLLABRY__DATABASE__DSN=${PRODUCTION__COLLABRY__DATABASE__DSN}" >> $GITHUB_ENV
# echo "COLLABRY__EMAIL__SENDER__USERNAME=${PRODUCTION__COLLABRY__EMAIL__SENDER__USERNAME}" >> $GITHUB_ENV
# echo "COLLABRY__EMAIL__SENDER__PASSWORD=${PRODUCTION__COLLABRY__EMAIL__SENDER__PASSWORD}" >> $GITHUB_ENV
# echo "COLLABRY__EMAIL__SENDER__HOST=${PRODUCTION__COLLABRY__EMAIL__SENDER__HOST}" >> $GITHUB_ENV
# echo "COLLABRY__EMAIL__SENDER__PORT=${PRODUCTION__COLLABRY__EMAIL__SENDER__PORT}" >> $GITHUB_ENV
# echo "COLLABRY__EMAIL__SENDER__START_TLS=${PRODUCTION__COLLABRY__EMAIL__SENDER__START_TLS}" >> $GITHUB_ENV
# echo "COLLABRY__EMAIL__SENDER__TLS=${PRODUCTION__COLLABRY__EMAIL__SENDER__TLS}" >> $GITHUB_ENV
# echo "COLLABRY__MESSENGER__API__ALLOWED_ORIGINS=${PRODUCTION__COLLABRY__MESSENGER__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
# echo "COLLABRY__MESSENGER__API__ROOT_PATH=${PRODUCTION__COLLABRY__MESSENGER__API__ROOT_PATH}" >> $GITHUB_ENV
# echo "COLLABRY__MESSENGER__API__ROOT_URL=${PRODUCTION__COLLABRY__MESSENGER__API__ROOT_URL}" >> $GITHUB_ENV
# echo "COLLABRY__MESSENGER__DATABASE__DSN=${PRODUCTION__COLLABRY__MESSENGER__DATABASE__DSN}" >> $GITHUB_ENV
# echo "COLLABRY__NOTIFICATIONS__API__ALLOWED_ORIGINS=${PRODUCTION__COLLABRY__NOTIFICATIONS__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
# echo "COLLABRY__NOTIFICATIONS__API__ROOT_PATH=${PRODUCTION__COLLABRY__NOTIFICATIONS__API__ROOT_PATH}" >> $GITHUB_ENV
# echo "COLLABRY__NOTIFICATIONS__API__ROOT_URL=${PRODUCTION__COLLABRY__NOTIFICATIONS__API__ROOT_URL}" >> $GITHUB_ENV
# echo "COLLABRY__NOTIFICATIONS__DATABASE__DSN=${PRODUCTION__COLLABRY__NOTIFICATIONS__DATABASE__DSN}" >> $GITHUB_ENV
# echo "COLLABRY__PROJECTS__API__ALLOWED_ORIGINS=${PRODUCTION__COLLABRY__PROJECTS__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
# echo "COLLABRY__PROJECTS__API__ROOT_PATH=${PRODUCTION__COLLABRY__PROJECTS__API__ROOT_PATH}" >> $GITHUB_ENV
# echo "COLLABRY__PROJECTS__API__ROOT_URL=${PRODUCTION__COLLABRY__PROJECTS__API__ROOT_URL}" >> $GITHUB_ENV
# echo "COLLABRY__PROJECTS__DATABASE__DSN=${PRODUCTION__COLLABRY__PROJECTS__DATABASE__DSN}" >> $GITHUB_ENV
# echo "COLLABRY__STORAGE__API__ALLOWED_ORIGINS=${PRODUCTION__COLLABRY__STORAGE__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
# echo "COLLABRY__STORAGE__API__ROOT_PATH=${PRODUCTION__COLLABRY__STORAGE__API__ROOT_PATH}" >> $GITHUB_ENV
# echo "COLLABRY__STORAGE__API__ROOT_URL=${PRODUCTION__COLLABRY__STORAGE__API__ROOT_URL}" >> $GITHUB_ENV
# echo "COLLABRY__STORAGE__DATABASE__DSN=${PRODUCTION__COLLABRY__STORAGE__DATABASE__DSN}" >> $GITHUB_ENV
# echo "COLLABRY__USERS__API__ALLOWED_ORIGINS=${PRODUCTION__COLLABRY__USERS__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
# echo "COLLABRY__USERS__API__OAUTH2_HABR_CALLBACK_URL=${PRODUCTION__COLLABRY__USERS__API__OAUTH2_HABR_CALLBACK_URL}" >> $GITHUB_ENV
# echo "COLLABRY__USERS__API__ROOT_PATH=${PRODUCTION__COLLABRY__USERS__API__ROOT_PATH}" >> $GITHUB_ENV
# echo "COLLABRY__USERS__API__ROOT_URL=${PRODUCTION__COLLABRY__USERS__API__ROOT_URL}" >> $GITHUB_ENV
# echo "COLLABRY__USERS__DATABASE__DSN=${PRODUCTION__COLLABRY__USERS__DATABASE__DSN}" >> $GITHUB_ENV
- name: Deploy
run: docker stack deploy -c docker-compose.yaml sapphire-production
run: docker stack deploy -c docker-compose.yaml collabry-production
Loading

0 comments on commit 192e186

Please sign in to comment.