Compare commits
3 Commits
d1a77df0e1
...
14cf6a953f
Author | SHA1 | Date | |
---|---|---|---|
14cf6a953f | |||
6a5d3cb2f7 | |||
774a1c21a1 |
@ -20,13 +20,12 @@ build:docker:
|
||||
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
||||
tags: [ docker ]
|
||||
before_script:
|
||||
- echo -e "VERSION=$CI_BUILD_REF_NAME\nCOMMIT=$CI_COMMIT_SHA" > version.env # COMMIT=`git rev-parse HEAD`
|
||||
- docker buildx inspect
|
||||
- docker buildx create --use
|
||||
script:
|
||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||
- IMAGE=$CI_REGISTRY/$CI_PROJECT_PATH/$CI_BUILD_REF_NAME:$CI_BUILD_REF
|
||||
- docker buildx build --progress=plain --platform linux/amd64,linux/arm64 --tag $IMAGE --push .
|
||||
- docker buildx build --progress=plain --platform linux/amd64,linux/arm64 --build-arg VERSION=$CI_BUILD_REF_NAME --build-arg COMMIT=$CI_COMMIT_SHA --tag $IMAGE --push .
|
||||
- docker buildx imagetools inspect $IMAGE
|
||||
- echo "CS_IMAGE=$IMAGE" > container_scanning.env
|
||||
artifacts:
|
||||
@ -266,21 +265,22 @@ deploy:docker:
|
||||
extends: .deploy
|
||||
stage: deploy
|
||||
before_script:
|
||||
- echo -e "VERSION=$CI_BUILD_REF_NAME\nCOMMIT=$CI_COMMIT_SHA" > version.env
|
||||
- echo "Building docker image for commit $CI_COMMIT_SHA with version $CI_BUILD_REF_NAME"
|
||||
script:
|
||||
- echo "GitLab-Registry"
|
||||
- echo "========== GitLab-Registry =========="
|
||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||
- docker build . --tag $CI_REGISTRY/$CI_PROJECT_PATH/$CI_BUILD_REF_NAME:$CI_BUILD_REF_NAME
|
||||
- docker build . --tag $CI_REGISTRY/$CI_PROJECT_PATH/$CI_BUILD_REF_NAME:latest
|
||||
- docker push $CI_REGISTRY/$CI_PROJECT_PATH/$CI_BUILD_REF_NAME:$CI_BUILD_REF_NAME
|
||||
- docker push $CI_REGISTRY/$CI_PROJECT_PATH/$CI_BUILD_REF_NAME:latest
|
||||
- echo "Docker-Hub"
|
||||
- IMAGE=$CI_REGISTRY/$CI_PROJECT_PATH/$CI_BUILD_REF_NAME
|
||||
- docker build . --build-arg VERSION=$CI_BUILD_REF_NAME --build-arg COMMIT=$CI_COMMIT_SHA --tag $IMAGE:$CI_BUILD_REF_NAME
|
||||
- docker build . --build-arg VERSION=$CI_BUILD_REF_NAME --build-arg COMMIT=$CI_COMMIT_SHA --tag $IMAGE:latest
|
||||
- docker push $IMAGE:$CI_BUILD_REF_NAME
|
||||
- docker push $IMAGE:latest
|
||||
- echo "========== Docker-Hub =========="
|
||||
- docker login -u $PUBLIC_REGISTRY_USER -p $PUBLIC_REGISTRY_TOKEN
|
||||
- docker build . --tag $PUBLIC_REGISTRY_USER/$CI_PROJECT_NAME:$CI_BUILD_REF_NAME
|
||||
- docker build . --tag $PUBLIC_REGISTRY_USER/$CI_PROJECT_NAME:latest
|
||||
- docker push $PUBLIC_REGISTRY_USER/$CI_PROJECT_NAME:$CI_BUILD_REF_NAME
|
||||
- docker push $PUBLIC_REGISTRY_USER/$CI_PROJECT_NAME:latest
|
||||
- IMAGE=$PUBLIC_REGISTRY_USER/$CI_PROJECT_NAME
|
||||
- docker build . --build-arg VERSION=$CI_BUILD_REF_NAME --build-arg COMMIT=$CI_COMMIT_SHA --tag $IMAGE:$CI_BUILD_REF_NAME
|
||||
- docker build . --build-arg VERSION=$CI_BUILD_REF_NAME --build-arg COMMIT=$CI_COMMIT_SHA --tag $IMAGE:latest
|
||||
- docker push $IMAGE:$CI_BUILD_REF_NAME
|
||||
- docker push $IMAGE:latest
|
||||
|
||||
deploy:apt:
|
||||
# doc: https://git.collinwebdesigns.de/help/user/packages/debian_repository/index.md#install-a-package
|
||||
|
@ -1,5 +1,9 @@
|
||||
FROM python:3.11-alpine
|
||||
|
||||
ARG VERSION
|
||||
ARG COMMIT=""
|
||||
RUN echo -e "VERSION=$VERSION\nCOMMIT=$COMMIT" > /version.env
|
||||
|
||||
COPY requirements.txt /tmp/requirements.txt
|
||||
|
||||
RUN apk update \
|
||||
@ -11,7 +15,6 @@ RUN apk update \
|
||||
&& apk del build-deps
|
||||
|
||||
COPY app /app
|
||||
COPY version.env /version.env
|
||||
COPY README.md /README.md
|
||||
|
||||
HEALTHCHECK --start-period=30s --interval=10s --timeout=5s --retries=3 CMD curl --insecure --fail https://localhost/-/health || exit 1
|
||||
|
10
ROADMAP.md
10
ROADMAP.md
@ -1,13 +1,14 @@
|
||||
# Roadmap
|
||||
|
||||
I'am planning to implement the following features in future.
|
||||
I am planning to implement the following features in the future.
|
||||
|
||||
|
||||
## HA - High Availability
|
||||
|
||||
Support Failover-Mode (secondary ip address) as in official DLS.
|
||||
|
||||
**Note**: There is no Load-Balancing / Round-Robin HA Mode supported! If you want to use that, consider to use Docker-Swarm with shared/cluster database (e.g. postgres).
|
||||
**Note**: There is no Load-Balancing / Round-Robin HA Mode supported! If you want to use that, consider to use
|
||||
Docker-Swarm with shared/cluster database (e.g. postgres).
|
||||
|
||||
*See [ha branch](https://git.collinwebdesigns.de/oscar.krause/fastapi-dls/-/tree/ha) for current status.*
|
||||
|
||||
@ -21,5 +22,6 @@ Add a user interface to manage origins and leases.
|
||||
|
||||
## Config Database
|
||||
|
||||
Instead of using environment variables, configuration files and manually create certificates, store cofigs and certificates in databse (like origins and leases). Also there sould be provided a startup assistand to prefill required attributes and create instance-certificates.
|
||||
This is more user friendly and should improve setup.
|
||||
Instead of using environment variables, configuration files and manually create certificates, store configs and
|
||||
certificates in database (like origins and leases). Also, there should be provided a startup assistant to prefill
|
||||
required attributes and create instance-certificates. This is more user-friendly and should improve fist setup.
|
||||
|
@ -1,8 +1,8 @@
|
||||
fastapi==0.95.1
|
||||
uvicorn[standard]==0.21.1
|
||||
uvicorn[standard]==0.22.0
|
||||
python-jose==3.3.0
|
||||
pycryptodome==3.17
|
||||
python-dateutil==2.8.2
|
||||
sqlalchemy==2.0.9
|
||||
sqlalchemy==2.0.12
|
||||
markdown==3.4.3
|
||||
python-dotenv==1.0.0
|
||||
|
Loading…
Reference in New Issue
Block a user