Compare commits
10 Commits
5e66111182
...
f68533fbef
Author | SHA1 | Date | |
---|---|---|---|
f68533fbef | |||
59bc677f0d | |||
![]() |
b51bd5b03e | ||
![]() |
ed9c96ba9e | ||
![]() |
729b16a6fb | ||
![]() |
83556b2261 | ||
![]() |
84b70a07b4 | ||
![]() |
4b8950242a | ||
![]() |
5be090e4bc | ||
![]() |
903a596996 |
@ -7,7 +7,7 @@ services:
|
|||||||
image: mathwave/sprint-repo:b-jokes-nginx
|
image: mathwave/sprint-repo:b-jokes-nginx
|
||||||
networks:
|
networks:
|
||||||
- b-jokes-net
|
- b-jokes-net
|
||||||
- b-jokes-nginx
|
- common-infra-nginx
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
restart_policy:
|
restart_policy:
|
||||||
@ -49,5 +49,5 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
b-jokes-net:
|
b-jokes-net:
|
||||||
driver: overlay
|
driver: overlay
|
||||||
b-jokes-nginx:
|
common-infra-nginx:
|
||||||
external: true
|
external: true
|
@ -7,11 +7,15 @@ services:
|
|||||||
image: mathwave/sprint-repo:b-jokes-nginx
|
image: mathwave/sprint-repo:b-jokes-nginx
|
||||||
networks:
|
networks:
|
||||||
- b-jokes-net
|
- b-jokes-net
|
||||||
- b-jokes-nginx
|
- common-infra-nginx
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
|
placement:
|
||||||
|
constraints:
|
||||||
|
- node.role == worker
|
||||||
|
- node.labels.zone == ru
|
||||||
update_config:
|
update_config:
|
||||||
parallelism: 1
|
parallelism: 1
|
||||||
order: start-first
|
order: start-first
|
||||||
@ -23,12 +27,16 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
MONGO_HOST: "mongo.sprinthub.ru"
|
MONGO_HOST: "mongo.sprinthub.ru"
|
||||||
MONGO_PASSWORD: $MONGO_PASSWORD_PROD
|
MONGO_PASSWORD: $MONGO_PASSWORD_PROD
|
||||||
DEBUG: false
|
DEBUG: "false"
|
||||||
command: api
|
command: api
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
|
placement:
|
||||||
|
constraints:
|
||||||
|
- node.role == worker
|
||||||
|
- node.labels.zone == ru
|
||||||
update_config:
|
update_config:
|
||||||
parallelism: 1
|
parallelism: 1
|
||||||
order: start-first
|
order: start-first
|
||||||
@ -38,12 +46,16 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
MONGO_HOST: "mongo.sprinthub.ru"
|
MONGO_HOST: "mongo.sprinthub.ru"
|
||||||
MONGO_PASSWORD: $MONGO_PASSWORD_PROD
|
MONGO_PASSWORD: $MONGO_PASSWORD_PROD
|
||||||
DEBUG: false
|
DEBUG: "false"
|
||||||
command: poll
|
command: poll
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
|
placement:
|
||||||
|
constraints:
|
||||||
|
- node.role == worker
|
||||||
|
- node.labels.zone == ru
|
||||||
update_config:
|
update_config:
|
||||||
parallelism: 1
|
parallelism: 1
|
||||||
order: start-first
|
order: start-first
|
||||||
@ -51,5 +63,5 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
b-jokes-net:
|
b-jokes-net:
|
||||||
driver: overlay
|
driver: overlay
|
||||||
b-jokes-nginx:
|
common-infra-nginx:
|
||||||
external: true
|
external: true
|
||||||
|
47
.gitea/workflows/deploy-dev.yaml
Normal file
47
.gitea/workflows/deploy-dev.yaml
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
name: Deploy Dev
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- dev
|
||||||
|
types: [closed]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build
|
||||||
|
runs-on: [ dev ]
|
||||||
|
steps:
|
||||||
|
- name: login
|
||||||
|
run: docker login -u mathwave -p ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: dev
|
||||||
|
- name: build
|
||||||
|
run: docker build -t mathwave/sprint-repo:b-jokes .
|
||||||
|
- name: build-nginx
|
||||||
|
run: docker build -t mathwave/sprint-repo:b-jokes-nginx nginx
|
||||||
|
push:
|
||||||
|
name: Push
|
||||||
|
runs-on: [ dev ]
|
||||||
|
needs: build
|
||||||
|
steps:
|
||||||
|
- name: push
|
||||||
|
run: docker push mathwave/sprint-repo:b-jokes
|
||||||
|
- name: push-nginx
|
||||||
|
run: docker push mathwave/sprint-repo:b-jokes-nginx
|
||||||
|
deploy-dev:
|
||||||
|
name: Deploy dev
|
||||||
|
runs-on: [dev]
|
||||||
|
needs: push
|
||||||
|
steps:
|
||||||
|
- name: login
|
||||||
|
run: docker login -u mathwave -p ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: dev
|
||||||
|
- name: deploy
|
||||||
|
env:
|
||||||
|
MONGO_PASSWORD_DEV: ${{ secrets.MONGO_PASSWORD_DEV }}
|
||||||
|
run: docker stack deploy --with-registry-auth -c ./.deploy/deploy-dev.yaml b-jokes
|
43
.gitea/workflows/deploy-prod.yaml
Normal file
43
.gitea/workflows/deploy-prod.yaml
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
name: Deploy Prod
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- prod
|
||||||
|
types: [closed]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build
|
||||||
|
runs-on: [ dev ]
|
||||||
|
steps:
|
||||||
|
- name: login
|
||||||
|
run: docker login -u mathwave -p ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: prod
|
||||||
|
- name: build
|
||||||
|
run: docker build -t mathwave/sprint-repo:b-jokes .
|
||||||
|
push:
|
||||||
|
name: Push
|
||||||
|
runs-on: [ dev ]
|
||||||
|
needs: build
|
||||||
|
steps:
|
||||||
|
- name: push
|
||||||
|
run: docker push mathwave/sprint-repo:b-jokes
|
||||||
|
deploy-prod:
|
||||||
|
name: Deploy prod
|
||||||
|
runs-on: [prod]
|
||||||
|
needs: push
|
||||||
|
steps:
|
||||||
|
- name: login
|
||||||
|
run: docker login -u mathwave -p ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: prod
|
||||||
|
- name: deploy
|
||||||
|
env:
|
||||||
|
MONGO_PASSWORD_PROD: ${{ secrets.MONGO_PASSWORD_PROD }}
|
||||||
|
run: docker stack deploy --with-registry-auth -c ./.deploy/deploy-prod.yaml b-jokes
|
@ -18,7 +18,6 @@ build:
|
|||||||
.deploy:
|
.deploy:
|
||||||
before_script:
|
before_script:
|
||||||
- docker login -u mathwave -p $DOCKERHUB_PASSWORD
|
- docker login -u mathwave -p $DOCKERHUB_PASSWORD
|
||||||
- docker network create -d overlay --attachable b-jokes-nginx || true
|
|
||||||
|
|
||||||
deploy-dev:
|
deploy-dev:
|
||||||
extends:
|
extends:
|
||||||
|
7
main.py
7
main.py
@ -1,5 +1,6 @@
|
|||||||
from flask import Flask, request, make_response
|
from flask import Flask, request, make_response
|
||||||
|
|
||||||
|
import settings
|
||||||
from helpers.events import events
|
from helpers.events import events
|
||||||
from processor import Processor
|
from processor import Processor
|
||||||
|
|
||||||
@ -32,4 +33,8 @@ def run():
|
|||||||
def today():
|
def today():
|
||||||
return events.today_json()
|
return events.today_json()
|
||||||
|
|
||||||
app.run(host="0.0.0.0", port=8000)
|
@app.route('/check_sentry')
|
||||||
|
def check_sentry():
|
||||||
|
a = 1 / 0
|
||||||
|
|
||||||
|
app.run(host="0.0.0.0", port=8000, debug=settings.DEBUG)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
blinker==1.5
|
||||||
certifi==2022.9.24
|
certifi==2022.9.24
|
||||||
charset-normalizer==2.1.1
|
charset-normalizer==2.1.1
|
||||||
click==8.1.3
|
click==8.1.3
|
||||||
|
@ -2,6 +2,7 @@ import logging
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
import sentry_sdk
|
import sentry_sdk
|
||||||
|
from sentry_sdk.integrations.flask import FlaskIntegration
|
||||||
|
|
||||||
MONGO_USER = os.getenv("MONGO_USER", "mongo")
|
MONGO_USER = os.getenv("MONGO_USER", "mongo")
|
||||||
MONGO_PASSWORD = os.getenv("MONGO_PASSWORD", "password")
|
MONGO_PASSWORD = os.getenv("MONGO_PASSWORD", "password")
|
||||||
@ -14,7 +15,10 @@ def setup():
|
|||||||
if not DEBUG:
|
if not DEBUG:
|
||||||
sentry_sdk.init(
|
sentry_sdk.init(
|
||||||
dsn=f"https://{os.getenv('SENTRY_TOKEN')}@o1155463.ingest.sentry.io/4503964727050240",
|
dsn=f"https://{os.getenv('SENTRY_TOKEN')}@o1155463.ingest.sentry.io/4503964727050240",
|
||||||
traces_sample_rate=1.0
|
traces_sample_rate=1.0,
|
||||||
|
integrations=[
|
||||||
|
FlaskIntegration(),
|
||||||
|
]
|
||||||
)
|
)
|
||||||
logging.basicConfig(level=logging.INFO)
|
logging.basicConfig(level=logging.INFO)
|
||||||
logging.info("app is set up")
|
logging.info("app is set up")
|
||||||
|
Loading…
Reference in New Issue
Block a user