Python backend for a Slack's kudos plugin.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: docker refactor

+25 -11
+4 -4
.travis.yml
··· 5 5 - "3.9" 6 6 env: 7 7 global: 8 - - PROJECT_NAME=deko 8 + - PROJECT_NAME=kefi 9 9 - PIP_CACHE_DIR=$HOME/.cache/pip 10 10 - DATABASE_URL=postgresql://postgres@localhost:5432/kefi 11 11 - SLACK_BOT_TOKEN=foo ··· 45 45 services: 46 46 - docker 47 47 script: 48 - - IMAGE_ID=registry.dekaside.com/$PROJECT_NAME/$PROJECT_NAME 48 + - IMAGE_ID=registry.dekaside.com/$PROJECT_NAME/$PROJECT_NAME-backend 49 49 - docker build . --tag $IMAGE_ID:latest 50 50 - echo "$HARBOR_PASSWORD" | docker login registry.dekaside.com --username "$HARBOR_USERNAME" 51 51 --password-stdin 52 52 - docker push $IMAGE_ID:latest 53 53 - stage: deploy staging 54 54 script: 55 - - curl -X POST $PORTAINER_HOOK_DEKO 56 - - curl -X POST $PORTAINER_HOOK_TASKS 55 + - curl -X POST $PORTAINER_HOOK_KEFI 56 + - curl -X POST $PORTAINER_HOOK_KEFI_TASKS 57 57
+8 -1
Dockerfile docker/Dockerfile
··· 10 10 RUN poetry config virtualenvs.create false && poetry install -n --no-ansi --no-dev 11 11 RUN rm -rf /pyproject.toml && rm -rf /poetry.lock 12 12 13 + # Start script 14 + COPY ./docker/start /start 15 + RUN sed -i 's/\r//' /start 16 + RUN chmod +x /start 17 + 13 18 # Copies the code 14 19 COPY . /app 15 20 WORKDIR /app 16 21 22 + # Expose port 17 23 EXPOSE 8000 18 24 19 - ENTRYPOINT [ "gunicorn", "-k", "uvicorn.workers.UvicornWorker", "-b", "0.0.0.0:8000", "kefi.main:app" ] 25 + # Use the start script as entry point 26 + ENTRYPOINT [ "/start" ]
+3 -3
Makefile
··· 1 1 # Variables 2 2 # ------------------------------------------------------------------------------ 3 - PROJECT_NAME=deko 4 - IMAGE_ID=registry.dekaside.com/${PROJECT_NAME}/${PROJECT_NAME} 3 + PROJECT_NAME=kefi 4 + IMAGE_ID=registry.dekaside.com/${PROJECT_NAME}/${PROJECT_NAME}-backend 5 5 6 6 # Common commands to handle the project. 7 7 # ------------------------------------------------------------------------------ ··· 17 17 # Build and push docker latest image 18 18 # ------------------------------------------------------------------------------ 19 19 build: 20 - docker build . -f ./Dockerfile --tag ${IMAGE_ID}:latest 20 + docker build . -f ./docker/Dockerfile --tag ${IMAGE_ID}:latest 21 21 22 22 push: build 23 23 docker push ${IMAGE_ID}:latest
+7
docker/start
··· 1 + #!/bin/sh 2 + 3 + set -o errexit 4 + set -o nounset 5 + 6 + /usr/local/bin/alembic upgrade head 7 + /usr/local/bin/gunicorn -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 kefi.main:app
+2 -2
kefi/templates.py
··· 26 26 "fields": [ 27 27 { 28 28 "type": "mrkdwn", 29 - "text": f"*Pendiente gastar:*\n {remaining_amount} dekas", 29 + "text": f"*Pendiente gastar:*\n {remaining_amount} kefis", 30 30 } 31 31 ], 32 32 }, ··· 35 35 "fields": [ 36 36 { 37 37 "type": "mrkdwn", 38 - "text": f"*Recibidos:*\n {received_amount} dekas", 38 + "text": f"*Recibidos:*\n {received_amount} kefis", 39 39 } 40 40 ], 41 41 },
+1 -1
pyproject.toml
··· 2 2 name = "Kefi" 3 3 version = "1.0.0" 4 4 description = "An awesome project from Deka" 5 - authors = ["Dekalabs <backend@dekalabs.com>"] 5 + authors = ["Deka <backend@deka.tech>"] 6 6 7 7 [tool.poetry.dependencies] 8 8 python = "^3.9"