Happyface at ETP **************** This page discusses the setup of the `Happyface instance `_ hosted at the `Institute of Experimental Particle Physics `_. It monitors the services for the `WLCG `_ Tier 1 site operated at `GridKa `_. The complete setup is dockerized. The `Dockerfile of the Happyface service `_ sets up the necessary environment using the `nginx:alpine `_ image as base. We are using `docker compose `_ to build the images and start up the server. The Happyface analyses are tested and the Docker image is built and deployed automatically using the `GitLab CI pipeline `_, whose build, deploy and stop jobs are defined centrally in the project ``admins/docker-services/gitlab-ci`` and included here. The project-local configuration adds documentation (Pages), security audit (pip-audit) and dependency update (Renovate) jobs on top. Developing Happyface ==================== For development purposes, a test instance can be set up locally. For this some tweaks need to be done: 1. Put your ``RUCIO_ACCOUNT``-name in the ``docker-compose.dev.yml`` file. 2. Place a (valid) voms-proxy in the file :file:`secrets/x509up_for_rucio`. .. note:: In the development override the secrets directory is mounted from the host path ``/tmp/happyface/secrets/`` (``docker-compose.dev.yml``), so place the proxy there, e.g. ``/tmp/happyface/secrets/x509up_for_rucio``, for it to be visible inside the container. Then you can start a local instance of Happyface by running: .. code-block:: bash docker compose -f docker-compose.yml -f docker-compose.dev.yml build docker compose -f docker-compose.yml -f docker-compose.dev.yml up .. note:: The default ``docker-compose.yml`` attaches the service to the external ``webgateway`` network (used by the ETP traefik reverse proxy). Because ``docker compose`` *appends* the ``networks`` list of an override file to the base one, the ``webgateway`` network must exist on the machine (``docker network create webgateway``) even when developing locally.