debian-forge-composer/test/cases
Ondřej Budai cfb756b9ba api/{cloud,worker}: used channel name based on JWT claims for new jobs
This commit implements multi-tenancy. A tenant is defined based on a value
from JWT claims. The key of this value must be specified in the configuration
file. This allows us to pick different values when using multiple SSOs.

Let me explain more in depth how this works:

Cloud API gets a new compose request. Firstly, it extracts a tenant name from
JWT claims. The considered claims are configured as an array in
cloud_api.jwt.tenant_provider_fields in composer's config file. The channel
name for all jobs belonging to this compose is created by `"org-" + tenant`.

Why is the channel prefixed by "org-"? To give us options in the future. I can
imagine the request having a channel override. This basically means that
multiple tenants can share a channel. A real use-case for this is multiple
Fedora projects sharing one pool of workers.

Why this commit adds a whole new cloud_api section to the config? Because the
current config is a mess and we should stop adding new stuff into the koji
section. As the Koji API is basically deprecated, we will need to remove it
soon nevertheless.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2022-03-08 12:07:00 +01:00
..
api.sh api/{cloud,worker}: used channel name based on JWT claims for new jobs 2022-03-08 12:07:00 +01:00
aws.sh tests: add sudo to get_metadata function 2021-12-08 12:12:53 +01:00
azure.sh test: make test more resilient 2021-12-17 16:05:35 +01:00
azure_hyperv_gen2.sh Test Azure images on HyperV Gen1 and Gen2 2021-06-22 13:44:19 +03:00
base_tests.sh Revert "tests: Conditionally enable osbuild-dnf-json-tests" 2022-02-22 21:57:30 +01:00
cross-distro.sh tests/cross-distro: filter out beta and stream repos 2022-02-07 11:37:13 +02:00
filesystem.sh tests: Better implementation for ab30694 2022-02-26 17:53:09 +00:00
generation.sh Tests: trim dependencies for test generation 2021-12-16 10:21:25 +01:00
image_tests.sh tests/image-tests: filter out cases with ostree URL 2022-03-08 09:23:05 +01:00
installers.sh test/cases: add centos OS_VARIANTS to installers test 2022-02-18 10:39:08 +00:00
koji.sh cloudapi/v2: add koji-specific tests 2022-02-01 20:28:40 +00:00
libvirt.sh tests/libvirt: test uefi on cs9 2022-02-18 10:39:08 +00:00
manifest_tests.sh Test all manifests with depsolved package sets 2021-11-19 19:50:25 +01:00
ostree-ng.sh test: drop ANSIBLE_STDOUT_CALLBACK 2022-02-18 10:39:08 +00:00
ostree-raw-image.sh test/cases: use correct OS_VARIANT for CentOS Stream 9 2022-02-18 10:39:08 +00:00
ostree-rebase.sh test: Fix COMPOSE_URL issue and add set-env-variables.sh 2022-03-08 09:23:05 +01:00
ostree-simplified-installer.sh test/cases/simpl installer: bump to use fdo 0.4.0 2022-03-03 16:27:57 +01:00
ostree.sh test/ostree: update ostree compose request to match new requirements 2022-02-23 11:08:24 +01:00
regression-bigiso.sh rhel86/90: change isolevel of image-installer to 3 2022-02-24 17:56:22 +00:00
regression-composer-works-behind-satellite-fallback.sh test/cases: divide regression test 2022-01-06 09:45:38 +01:00
regression-composer-works-behind-satellite.sh test/cases: divide regression test 2022-01-06 09:45:38 +01:00
regression-excluded-dependency.sh test/regression: remove the composes after the build is done 2021-12-09 12:02:24 +01:00
regression-include-excluded-packages.sh test/regression: remove the composes after the build is done 2021-12-09 12:02:24 +01:00
regression-old-worker-new-composer.sh containers/osbuild-composer: Allow dnf-json to accept http connections 2022-02-02 11:15:46 +01:00
regression.sh rhel86/90: change isolevel of image-installer to 3 2022-02-24 17:56:22 +00:00
shared_lib.sh tests: Add nvr checking into a shared library 2022-02-04 23:43:43 +01:00
upgrade8to9.sh tests/upgrade: add user choice for vdo devices check 2022-03-08 09:23:05 +01:00
vmware.sh test/vmware: add test tag to vmware objects 2022-01-31 09:26:51 +01:00