TODO merge with idhub? | it allows to run everything done in this project as a docker compose
This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
pedro 78a79e69e9 preserve docker build cache on orchestra musician
produce docker build speedup

- git checkout produce docker cache invalidation, do it when needed
- use /opt/app PATH for the two containers
- use two different layers: one to do the pip requirements, the other
  for the rest of the sourcecode
2024-01-24 01:05:37 +01:00
docker preserve docker build cache on orchestra musician 2024-01-24 01:05:37 +01:00
.dockerignore useful dockerignores to ignore local python env 2023-11-16 17:17:56 +01:00
.env.example musician: make it build and run, missing IDP binds 2024-01-23 09:10:41 +01:00
.gitignore also ignore authentik ssikit 2024-01-23 10:42:00 +01:00
Makefile pangea p: add manual build of orchestra & musician 2024-01-23 09:00:27 +01:00
README.md README: capital title 2024-01-23 21:33:35 +01:00
build__all.sh bugfix namespace, build__all script, simple pilots 2024-01-19 11:01:49 +01:00
build__common.sh build_common: no branches, main; ensure git dir 2024-01-23 10:42:42 +01:00
build__pilot-lafede.sh bugfix namespace, build__all script, simple pilots 2024-01-19 11:01:49 +01:00
build__pilot-pangea.sh pangea p: add manual build of orchestra & musician 2024-01-23 09:00:27 +01:00
build__pilot-setem.sh bugfix namespace, build__all script, simple pilots 2024-01-19 11:01:49 +01:00
build__pilot-xo9b.sh bugfix namespace, build__all script, simple pilots 2024-01-19 11:01:49 +01:00
docker-compose__pilot-lafede.yml more bugfix namespace problm and pangeapilot files 2024-01-19 12:39:14 +01:00
docker-compose__pilot-pangea.yml pangea: authentik: fix wrong volumes 2024-01-23 10:41:40 +01:00
docker-compose__pilot-setem.yml more bugfix namespace problm and pangeapilot files 2024-01-19 12:39:14 +01:00
docker-compose__pilot-xo9b.yml more bugfix namespace problm and pangeapilot files 2024-01-19 12:39:14 +01:00
docker-compose_idhub-temp.yml idhub: make it more dev env friendly 2023-12-01 10:10:11 +01:00
docker-compose_orchestra-temp.yml orchestra temp build 2023-11-24 12:33:55 +01:00
orchestra_build.sh orchestra temp build 2023-11-24 12:33:55 +01:00
pull-repos.sh preserve docker build cache on orchestra musician 2024-01-24 01:05:37 +01:00

README.md

Docker deployment of IdHub and tools

About the pilots that this repository deploys

  • xo9b:
    • motivation: one idhub connects to the other using OIDC4VP flow
    • components: idhub1, idhub2
  • setem:
    • motivation: a user from org 1 connects to org 2 to get a discount code
    • components: idhub1, idhub2
  • lafede:
    • motivatiion: a user gets a verifiable credential presentation from idhub, optionally could be signed also using EIDAS1
    • components: idhub1
  • pangea:
    • motivation:
      • a user from org 1 connects to org 1 services
      • a user from org 1 connects to org 2 services
    • components: idhub1, idhub2, goauthentik services, orchestra (with also nginx api rproxy), musician
  • test: intended for software quality such as testing, CI/CD, etc.

Installation

Considering debian stable distribution (Debian 12 bookworm)

  • docker: install using the convenience script
  • make: some of the actions are declared in Makefile, you will need sudo apt install make.
  • figlet: display large texts, better visibility when running all the pilots together sudo apt install figlet.

Deployment

Execute ./build__all.sh to run all the pilots, that includes building locally all the docker images and deploying its docker compose (each pilot has its docker-compose__pilot-example.yml).

Or run a specific pilot with ./build__pilot-example.sh.

All the scripts are written in POSIX Shell. I hope they are easy enough and structured to be adapted to your needs.

Development

You can use these docker images for developing the software. This repo is targeted on integrating, deploying and testing the IdHub tools. You can do the same with the other tools, the trick used is to override the docker's directory with a local directory. Example found on all pilots instances

    volumes:
      - ./idhub1__pilot-example:/opt/idhub

If you are developing IdHub, all the instances generate a copy of the target repository such as idhub1__pilot-example, which you can modify there, and the changes will apply to the deployment

In the .env there are some variables intended to be used for debugging purposes

Commands that you might like

if you want to enter a shell inside a new container:

docker run -it --entrypoint= ${target_docker_image} bash

if you want to enter a shell on already running container:

docker exec -it ${target_docker_image} bash

Where target_docker_image contains the ID of the container you want to run (see docker ps or docker ps -a)