Optim. Repo Structure

This commit is contained in:
Magnus Bender 2024-10-30 15:32:08 +01:00
parent 414c18ef08
commit 53bc4ac219
Signed by: bender
GPG Key ID: 5149A211831F2BD7
14 changed files with 31 additions and 22 deletions

2
.gitignore vendored
View File

@ -1,7 +1,9 @@
__pycache__ __pycache__
# data of containers
/data/* /data/*
# ignore local venv
/bin/ /bin/
/lib/ /lib/
/include/ /include/

View File

@ -1,26 +1,33 @@
> [!NOTE]
> In diesem Repository befinden sich die Implementierung des Management und der Agenten-Plattform. Sowie Skripte zur Erstellung der Docker-Images.
> [!WARNING]
> Um die Plattform zu benutzen, bitte das [Agent-Template](https://git.chai.uni-hamburg.de/UMS-Agenten/Agent-Template) benutzen!
# Agenten-Plattform # Agenten-Plattform
## Management ## Management
Verzeichnisse insb.:
- `./docker-mgmt/` - `./utils/mgmt/` Docker container configs
- `./ums/management/` - `./ums/management/` Python source
- `./web/` - `./web/` Jinja templates and web root
- `./build-mgmt.sh` - `./build-mgmt.sh` Container build script
## Basic Agent ## Basic Agent
Verzeichnisse insb.:
- `./docker-agent/` - `./utils/agent/` Docker container configs
- `./ums/agent/` - `./ums/agent/` Python source
- `./build-agent.sh` - `./build-agent.sh` Container build script
## Development ## Development
### Run via Docker ### Run via Docker
- `docker compose up` - `docker compose up`
### VS Code Autocomplete ... ### VS Code Autocomplete
(In VS Code)
- `python3 -m venv .` (only once) - `python3 -m venv .` (only once)
- `source ./bin/activate` - `source ./bin/activate`
- `pip install requests fastapi pdoc` (only once) - `pip install requests fastapi pdoc` (only once)

View File

@ -35,7 +35,7 @@ for platform in $PLATFORMS; do
docker build \ docker build \
--pull \ --pull \
--platform "linux/$platform" \ --platform "linux/$platform" \
--file "$SCRIPTPATH/docker-agent/Dockerfile" \ --file "$SCRIPTPATH/utils/agent/Dockerfile" \
--build-arg FROM_IMAGE="$IMAGE_REGISTRY/$IMAGE_OWNER/$IMAGE_AGENT_BASE:$tag" \ --build-arg FROM_IMAGE="$IMAGE_REGISTRY/$IMAGE_OWNER/$IMAGE_AGENT_BASE:$tag" \
--build-arg PIP_REQ_FILE="$requirements" \ --build-arg PIP_REQ_FILE="$requirements" \
--tag "$IMAGE_REGISTRY/$IMAGE_OWNER/$IMAGE_NAME_AGENT:$tag" \ --tag "$IMAGE_REGISTRY/$IMAGE_OWNER/$IMAGE_NAME_AGENT:$tag" \
@ -45,6 +45,6 @@ done;
if [ "$requirements" == "requirements.txt" ]; then if [ "$requirements" == "requirements.txt" ]; then
# extract requirements-frozen.txt # extract requirements-frozen.txt
cid=$(docker create "$IMAGE_REGISTRY/$IMAGE_OWNER/$IMAGE_NAME_AGENT:cpu-arm64") cid=$(docker create "$IMAGE_REGISTRY/$IMAGE_OWNER/$IMAGE_NAME_AGENT:cpu-arm64")
docker cp "$cid:/ums-agenten/requirements-frozen.txt" "$SCRIPTPATH/docker-agent/requirements-frozen.txt" docker cp "$cid:/ums-agenten/requirements-frozen.txt" "$SCRIPTPATH/utils/agent/requirements-frozen.txt"
docker rm "$cid" docker rm "$cid"
fi; fi;

View File

@ -29,7 +29,7 @@ for platform in $PLATFORMS; do
docker build \ docker build \
--pull \ --pull \
--platform "linux/$platform" \ --platform "linux/$platform" \
--file "$SCRIPTPATH/docker-mgmt/Dockerfile" \ --file "$SCRIPTPATH/utils/mgmt/Dockerfile" \
--build-arg H_UID=1050 \ --build-arg H_UID=1050 \
--build-arg PIP_REQ_FILE="$requirements" \ --build-arg PIP_REQ_FILE="$requirements" \
--build-arg H_GID=1050 \ --build-arg H_GID=1050 \
@ -41,6 +41,6 @@ done;
if [ "$requirements" == "requirements.txt" ]; then if [ "$requirements" == "requirements.txt" ]; then
# extract requirements-frozen.txt # extract requirements-frozen.txt
cid=$(docker create "$IMAGE_REGISTRY/$IMAGE_OWNER/$IMAGE_NAME_MGMT:arm64") cid=$(docker create "$IMAGE_REGISTRY/$IMAGE_OWNER/$IMAGE_NAME_MGMT:arm64")
docker cp "$cid:/ums-agenten/requirements.txt" "$SCRIPTPATH/docker-mgmt/requirements-frozen.txt" docker cp "$cid:/ums-agenten/requirements.txt" "$SCRIPTPATH/utils/mgmt/requirements-frozen.txt"
docker rm "$cid" docker rm "$cid"
fi; fi;

View File

@ -16,12 +16,12 @@ ARG PIP_REQ_FILE
USER root USER root
RUN mkdir -p /ums-agenten/plattform/ && mkdir -p /ums-agenten/persist/ RUN mkdir -p /ums-agenten/plattform/ && mkdir -p /ums-agenten/persist/
COPY ./docker-agent/$PIP_REQ_FILE /ums-agenten/requirements.txt COPY ./utils/agent/$PIP_REQ_FILE /ums-agenten/requirements.txt
RUN pip3 install --break-system-packages --no-cache-dir -r /ums-agenten/requirements.txt \ RUN pip3 install --break-system-packages --no-cache-dir -r /ums-agenten/requirements.txt \
&& pip3 freeze -q -r /ums-agenten/requirements.txt > /ums-agenten/requirements-frozen.txt && pip3 freeze -q -r /ums-agenten/requirements.txt > /ums-agenten/requirements-frozen.txt
# install the code of the repo # install the code of the repo
COPY ./docker-mgmt/setup.py /ums-agenten/plattform/ COPY ./utils/setup.py /ums-agenten/plattform/
RUN pip3 install --break-system-packages -e /ums-agenten/plattform/ RUN pip3 install --break-system-packages -e /ums-agenten/plattform/
COPY --chown=user:user ./ums/ /ums-agenten/plattform/ums/ COPY --chown=user:user ./ums/ /ums-agenten/plattform/ums/

View File

@ -38,17 +38,17 @@ RUN ln -s /usr/bin/python3 /usr/local/bin/python \
RUN mkdir -p /ums-agenten/plattform/ && mkdir -p /ums-agenten/persist/ RUN mkdir -p /ums-agenten/plattform/ && mkdir -p /ums-agenten/persist/
COPY ./docker-mgmt/$PIP_REQ_FILE /ums-agenten/requirements.txt COPY ./utils/mgmt/$PIP_REQ_FILE /ums-agenten/requirements.txt
RUN pip3 install --break-system-packages --no-cache-dir -r /ums-agenten/requirements.txt \ RUN pip3 install --break-system-packages --no-cache-dir -r /ums-agenten/requirements.txt \
&& pip3 freeze > /ums-agenten/requirements.txt && pip3 freeze > /ums-agenten/requirements.txt
# nginx settings and startup # nginx settings and startup
COPY ./docker-mgmt/supervisor.conf /etc/supervisor/supervisord.conf COPY ./utils/mgmt/supervisor.conf /etc/supervisor/supervisord.conf
COPY ./docker-mgmt/nginx.conf /etc/nginx/nginx.conf COPY ./utils/mgmt/nginx.conf /etc/nginx/nginx.conf
COPY ./docker-mgmt/app.conf /etc/nginx/sites-enabled/default COPY ./utils/mgmt/app.conf /etc/nginx/sites-enabled/default
# install the code of the repo # install the code of the repo
COPY ./docker-mgmt/setup.py /ums-agenten/plattform/ COPY ./utils/setup.py /ums-agenten/plattform/
RUN pip3 install --break-system-packages -e /ums-agenten/plattform/ RUN pip3 install --break-system-packages -e /ums-agenten/plattform/
WORKDIR /ums-agenten/plattform/ums/ WORKDIR /ums-agenten/plattform/ums/