From 98da86fc2e9fa89b0ef0482c35a0103d7e3f170d Mon Sep 17 00:00:00 2001 From: Oscar Krause Date: Mon, 12 Jun 2023 09:31:43 +0200 Subject: [PATCH 1/4] removed debian bookworm testing notes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b972c92..4d78b1e 100644 --- a/README.md +++ b/README.md @@ -310,7 +310,7 @@ Packages are available here: Successful tested with: -- Debian 12 (Bookworm) (works but not recommended because it is currently in *testing* state) +- Debian 12 (Bookworm) - Ubuntu 22.10 (Kinetic Kudu) Not working with: From 7e5f8b6c8a75ee3785d8dcfc40a7c76e501747ac Mon Sep 17 00:00:00 2001 From: Oscar Krause Date: Mon, 12 Jun 2023 10:48:00 +0200 Subject: [PATCH 2/4] implemented endpoint to remove expired leases --- app/main.py | 6 ++++++ app/orm.py | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/app/main.py b/app/main.py index f5388c8..45b53aa 100644 --- a/app/main.py +++ b/app/main.py @@ -186,6 +186,12 @@ async def _leases(request: Request, origin: bool = False): return JSONr(response) +@app.delete('/-/leases/expired', summary='* Leases') +async def _lease_delete_expired(request: Request): + Lease.delete_expired(db) + return Response(status_code=201) + + @app.delete('/-/lease/{lease_ref}', summary='* Lease') async def _lease_delete(request: Request, lease_ref: str): if Lease.delete(db, lease_ref) == 1: diff --git a/app/orm.py b/app/orm.py index c78ca95..0b19e92 100644 --- a/app/orm.py +++ b/app/orm.py @@ -160,6 +160,14 @@ class Lease(Base): session.close() return deletions + @staticmethod + def delete_expired(engine: Engine) -> int: + session = sessionmaker(bind=engine)() + deletions = session.query(Lease).filter(Lease.lease_expires <= datetime.utcnow()).delete() + session.commit() + session.close() + return deletions + @staticmethod def calculate_renewal(renewal_period: float, delta: timedelta) -> timedelta: """ From 801d1786efc624c59187df51fcd36551844b2d7b Mon Sep 17 00:00:00 2001 From: Oscar Krause Date: Mon, 12 Jun 2023 10:52:13 +0200 Subject: [PATCH 3/4] requirements.txt updated --- requirements.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/requirements.txt b/requirements.txt index a1838b5..a460548 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ -fastapi==0.92.0 -uvicorn[standard]==0.20.0 +fastapi==0.97.0 +uvicorn[standard]==0.22.0 python-jose==3.3.0 -pycryptodome==3.17 +pycryptodome==3.18.0 python-dateutil==2.8.2 -sqlalchemy==2.0.3 -markdown==3.4.1 -python-dotenv==0.21.1 +sqlalchemy==2.0.16 +markdown==3.4.3 +python-dotenv==1.0.0 From c79636b1c279c55e9f1158f5ce82053fbeac4fbd Mon Sep 17 00:00:00 2001 From: Oscar Krause Date: Mon, 12 Jun 2023 11:03:03 +0200 Subject: [PATCH 4/4] fixed .gitlab-ci.yml deprecated build-ref varialbes ref. https://gitlab.com/gitlab-org/gitlab/-/issues/352957 --- .gitlab-ci.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 69d8ba9..eac63af 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,8 +24,8 @@ build:docker: - 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 --build-arg VERSION=$CI_BUILD_REF_NAME --build-arg COMMIT=$CI_COMMIT_SHA --tag $IMAGE --push . + - IMAGE=$CI_REGISTRY/$CI_PROJECT_PATH/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHA + - docker buildx build --progress=plain --platform linux/amd64,linux/arm64 --build-arg VERSION=$CI_COMMIT_REF_NAME --build-arg COMMIT=$CI_COMMIT_SHA --tag $IMAGE --push . - docker buildx imagetools inspect $IMAGE - echo "CS_IMAGE=$IMAGE" > container_scanning.env artifacts: @@ -39,7 +39,7 @@ build:apt: rules: - if: $CI_COMMIT_TAG variables: - VERSION: $CI_BUILD_REF_NAME + VERSION: $CI_COMMIT_REF_NAME - if: $CI_COMMIT_BRANCH && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH changes: - app/**/* @@ -72,7 +72,7 @@ build:apt: # cd into "build/" - cd build/ script: - # set version based on value in "$CI_BUILD_REF_NAME" + # set version based on value in "$CI_COMMIT_REF_NAME" - sed -i -E 's/(Version\:\s)0.0/\1'"$VERSION"'/g' DEBIAN/control # build - dpkg -b . build.deb @@ -89,7 +89,7 @@ build:pacman: rules: - if: $CI_COMMIT_TAG variables: - VERSION: $CI_BUILD_REF_NAME + VERSION: $CI_COMMIT_REF_NAME - if: $CI_COMMIT_BRANCH && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH changes: - app/**/* @@ -265,21 +265,21 @@ deploy:docker: extends: .deploy stage: deploy before_script: - - 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_COMMIT_REF_NAME" script: - echo "========== GitLab-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 . --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 + - IMAGE=$CI_REGISTRY/$CI_PROJECT_PATH/$CI_COMMIT_REF_NAME + - docker build . --build-arg VERSION=$CI_COMMIT_REF_NAME --build-arg COMMIT=$CI_COMMIT_SHA --tag $IMAGE:$CI_COMMIT_REF_NAME + - docker build . --build-arg VERSION=$CI_COMMIT_REF_NAME --build-arg COMMIT=$CI_COMMIT_SHA --tag $IMAGE:latest + - docker push $IMAGE:$CI_COMMIT_REF_NAME - docker push $IMAGE:latest - echo "========== Docker-Hub ==========" - docker login -u $PUBLIC_REGISTRY_USER -p $PUBLIC_REGISTRY_TOKEN - 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 build . --build-arg VERSION=$CI_COMMIT_REF_NAME --build-arg COMMIT=$CI_COMMIT_SHA --tag $IMAGE:$CI_COMMIT_REF_NAME + - docker build . --build-arg VERSION=$CI_COMMIT_REF_NAME --build-arg COMMIT=$CI_COMMIT_SHA --tag $IMAGE:latest + - docker push $IMAGE:$CI_COMMIT_REF_NAME - docker push $IMAGE:latest deploy:apt: @@ -333,9 +333,9 @@ deploy:pacman: - source .PKGBUILD/PKGBUILD - source version.env # fastapi-dls-1.0-1-any.pkg.tar.zst - - BUILD_NAME=${pkgname}-${CI_BUILD_REF_NAME}-${pkgrel}-any.pkg.tar.zst + - BUILD_NAME=${pkgname}-${CI_COMMIT_REF_NAME}-${pkgrel}-any.pkg.tar.zst - PACKAGE_NAME=${pkgname} - - PACKAGE_VERSION=${CI_BUILD_REF_NAME} + - PACKAGE_VERSION=${CI_COMMIT_REF_NAME} - PACKAGE_ARCH=any - EXPORT_NAME=${BUILD_NAME} - 'echo "PACKAGE_NAME: ${PACKAGE_NAME}"'