Compare commits

...

5 Commits

Author SHA1 Message Date
20cc984799 FAQ.md 2023-01-16 10:30:55 +01:00
3495cc3af5 typos 2023-01-16 10:30:40 +01:00
ed13577e82 Dockerfile - updated to python 3.11 2023-01-16 10:30:21 +01:00
ca8a9df54c requirements.txt updated 2023-01-16 10:24:08 +01:00
5425eec545 .gitlab-ci.yml simplified 2023-01-16 10:23:58 +01:00
5 changed files with 36 additions and 18 deletions

View File

@ -97,7 +97,7 @@ build:pacman:
- "*.pkg.tar.zst" - "*.pkg.tar.zst"
test: test:
image: python:3.10-slim-bullseye image: python:3.11-slim-bullseye
stage: test stage: test
rules: rules:
- if: $CI_COMMIT_BRANCH - if: $CI_COMMIT_BRANCH
@ -113,6 +113,9 @@ test:
- cd test - cd test
script: script:
- pytest main.py - pytest main.py
artifacts:
reports:
dotenv: version.env
.test:linux: .test:linux:
stage: test stage: test
@ -271,24 +274,11 @@ deploy:pacman:
- 'echo "EXPORT_NAME: ${EXPORT_NAME}"' - 'echo "EXPORT_NAME: ${EXPORT_NAME}"'
- 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ${EXPORT_NAME} "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${PACKAGE_NAME}/${PACKAGE_VERSION}/${EXPORT_NAME}"' - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ${EXPORT_NAME} "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${PACKAGE_NAME}/${PACKAGE_VERSION}/${EXPORT_NAME}"'
release:prepare:
stage: .pre
rules:
- if: $CI_COMMIT_TAG
when: never
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
script:
- source version.env
- echo $VERSION
artifacts:
reports:
dotenv: version.env
release: release:
image: registry.gitlab.com/gitlab-org/release-cli:latest image: registry.gitlab.com/gitlab-org/release-cli:latest
stage: .post stage: .post
needs: needs:
- job: release:prepare - job: test
artifacts: true artifacts: true
rules: rules:
- if: $CI_COMMIT_TAG - if: $CI_COMMIT_TAG

View File

@ -1,4 +1,4 @@
FROM python:3.10-alpine FROM python:3.11-alpine
COPY requirements.txt /tmp/requirements.txt COPY requirements.txt /tmp/requirements.txt

17
FAQ.md Normal file
View File

@ -0,0 +1,17 @@
# FAQ
## `Failed to acquire license from <ip> (Info: <license> - Error: The allowed time to process response has expired)`
- Did your timezone settings are correct on fastapi-dls **and your guest**?
- Did you download the client-token more than an hour ago?
Please download a new client-token. The guest have to register within an hour after client-token was created.
## `jose.exceptions.JWTError: Signature verification failed.`
- Did you recreated `instance.public.pem` / `instance.private.pem`?
Then you have to download a **new** client-token on each of your guests.

View File

@ -70,7 +70,7 @@ volumes:
dls-db: dls-db:
``` ```
## Debian/Ubuntu (manual method using `git clone`) ## Debian/Ubuntu (manual method using `git clone` and python virtual environment)
Tested on `Debian 11 (bullseye)`, Ubuntu may also work. Tested on `Debian 11 (bullseye)`, Ubuntu may also work.
@ -176,6 +176,7 @@ Successful tested with:
- Ubuntu 22.10 (Kinetic Kudu) - Ubuntu 22.10 (Kinetic Kudu)
Not working with: Not working with:
- Debian 11 (Bullseye) and lower (missing `python-jose` dependency) - Debian 11 (Bullseye) and lower (missing `python-jose` dependency)
- Ubuntu 22.04 (Jammy Jellyfish) (not supported as for 15.01.2023 due to [fastapi - uvicorn version missmatch](https://bugs.launchpad.net/ubuntu/+source/fastapi/+bug/1970557)) - Ubuntu 22.04 (Jammy Jellyfish) (not supported as for 15.01.2023 due to [fastapi - uvicorn version missmatch](https://bugs.launchpad.net/ubuntu/+source/fastapi/+bug/1970557))
@ -249,6 +250,16 @@ After first success you have to replace `--issue` with `--renew`.
every 4.8 hours. If network connectivity is lost, the loss of connectivity is detected during license renewal and the every 4.8 hours. If network connectivity is lost, the loss of connectivity is detected during license renewal and the
client has 19.2 hours in which to re-establish connectivity before its license expires. client has 19.2 hours in which to re-establish connectivity before its license expires.
```python
from datetime import timedelta
LEASE_RENEWAL_PERIOD=0.2 # 20%
delta = timedelta(days=1)
renew = delta.total_seconds() * LEASE_RENEWAL_PERIOD
renew = timedelta(seconds=renew)
expires = delta - renew # 19.2
```
\*2 Always use `https`, since guest-drivers only support secure connections! \*2 Always use `https`, since guest-drivers only support secure connections!
\*3 If you recreate instance keys you need to **recreate client-token for each guest**! \*3 If you recreate instance keys you need to **recreate client-token for each guest**!

View File

@ -1,4 +1,4 @@
fastapi==0.88.0 fastapi==0.89.1
uvicorn[standard]==0.20.0 uvicorn[standard]==0.20.0
python-jose==3.3.0 python-jose==3.3.0
pycryptodome==3.16.0 pycryptodome==3.16.0