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