├── .github ├── dependabot.yml └── workflows │ ├── code-checks.yml │ ├── code-ql-analysys.yml │ ├── python-publish.yml │ └── update_broker_image.yml ├── .gitignore ├── .pre-commit-config.yaml ├── AGENTS.md ├── CLAUDE.md ├── Dockerfile ├── LICENSE ├── README.md ├── broker ├── __init__.py ├── binds │ ├── __init__.py │ ├── beaker.py │ ├── containers.py │ ├── foreman.py │ ├── hussh.py │ ├── paramiko.py │ ├── pylibssh.py │ ├── ssh2.py │ └── utils.py ├── broker.py ├── commands.py ├── config_manager.py ├── config_migrations │ ├── example_migration.py │ ├── v0_6_0.py │ ├── v0_6_12.py │ ├── v0_6_3.py │ └── v0_6_9.py ├── exceptions.py ├── helpers.py ├── hosts.py ├── logger.py ├── providers │ ├── __init__.py │ ├── ansible_tower.py │ ├── beaker.py │ ├── container.py │ ├── foreman.py │ ├── openstack.py │ └── test_provider.py ├── session.py └── settings.py ├── broker_settings.yaml.example ├── catalog-info.yaml ├── catalog └── system │ └── broker.yaml ├── logs └── .gitignore ├── pyproject.toml ├── tests ├── conftest.py ├── data │ ├── ansible_tower │ │ ├── fake_children.json │ │ ├── fake_jobs.json │ │ └── fake_workflows.json │ ├── args_file.json │ ├── args_file.yaml │ ├── beaker │ │ ├── job_result.json │ │ └── test_job.xml │ ├── broker_args.json │ ├── broker_args.yaml │ ├── broker_settings.yaml │ ├── cli_scenarios │ │ ├── beaker │ │ │ ├── checkout_test_job-2.yaml │ │ │ └── checkout_test_job.yaml │ │ ├── containers │ │ │ ├── checkout_ch-d_ubi8.yaml │ │ │ ├── checkout_ch-d_ubi8_2.yaml │ │ │ └── execute_ch-d_ubi8.yaml │ │ └── satlab │ │ │ ├── checkout_latest_rhel.yaml │ │ │ ├── checkout_latest_sat.yaml │ │ │ ├── checkout_rhel96.yaml │ │ │ ├── checkout_sat_618.yaml │ │ │ └── execute_templates_list.yaml │ ├── container │ │ ├── fake_containers.json │ │ ├── fake_images.json │ │ └── fake_networks.json │ ├── fake_inventory.yaml │ ├── foreman │ │ ├── fake_get.json │ │ ├── fake_hosts.json │ │ ├── fake_jobs.json │ │ └── fake_resources.json │ └── ssh │ │ ├── auth_test_key │ │ ├── auth_test_key.pub │ │ ├── hp.txt │ │ ├── puppy.jpeg │ │ ├── test_key │ │ └── test_key.pub ├── functional │ ├── README.md │ ├── test_containers.py │ ├── test_rh_beaker.py │ └── test_satlab.py ├── providers │ ├── test_ansible_tower.py │ ├── test_beaker.py │ ├── test_container.py │ ├── test_foreman.py │ └── test_openstack.py ├── test_broker.py ├── test_config_manager.py ├── test_helpers.py ├── test_settings.py └── test_ssh.py ├── tox.toml └── uv.lock /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/code-checks.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/.github/workflows/code-checks.yml -------------------------------------------------------------------------------- /.github/workflows/code-ql-analysys.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/.github/workflows/code-ql-analysys.yml -------------------------------------------------------------------------------- /.github/workflows/python-publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/.github/workflows/python-publish.yml -------------------------------------------------------------------------------- /.github/workflows/update_broker_image.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/.github/workflows/update_broker_image.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /AGENTS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/AGENTS.md -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- 1 | AGENTS.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/README.md -------------------------------------------------------------------------------- /broker/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/__init__.py -------------------------------------------------------------------------------- /broker/binds/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/binds/__init__.py -------------------------------------------------------------------------------- /broker/binds/beaker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/binds/beaker.py -------------------------------------------------------------------------------- /broker/binds/containers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/binds/containers.py -------------------------------------------------------------------------------- /broker/binds/foreman.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/binds/foreman.py -------------------------------------------------------------------------------- /broker/binds/hussh.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/binds/hussh.py -------------------------------------------------------------------------------- /broker/binds/paramiko.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/binds/paramiko.py -------------------------------------------------------------------------------- /broker/binds/pylibssh.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/binds/pylibssh.py -------------------------------------------------------------------------------- /broker/binds/ssh2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/binds/ssh2.py -------------------------------------------------------------------------------- /broker/binds/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/binds/utils.py -------------------------------------------------------------------------------- /broker/broker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/broker.py -------------------------------------------------------------------------------- /broker/commands.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/commands.py -------------------------------------------------------------------------------- /broker/config_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/config_manager.py -------------------------------------------------------------------------------- /broker/config_migrations/example_migration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/config_migrations/example_migration.py -------------------------------------------------------------------------------- /broker/config_migrations/v0_6_0.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/config_migrations/v0_6_0.py -------------------------------------------------------------------------------- /broker/config_migrations/v0_6_12.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/config_migrations/v0_6_12.py -------------------------------------------------------------------------------- /broker/config_migrations/v0_6_3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/config_migrations/v0_6_3.py -------------------------------------------------------------------------------- /broker/config_migrations/v0_6_9.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/config_migrations/v0_6_9.py -------------------------------------------------------------------------------- /broker/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/exceptions.py -------------------------------------------------------------------------------- /broker/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/helpers.py -------------------------------------------------------------------------------- /broker/hosts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/hosts.py -------------------------------------------------------------------------------- /broker/logger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/logger.py -------------------------------------------------------------------------------- /broker/providers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/providers/__init__.py -------------------------------------------------------------------------------- /broker/providers/ansible_tower.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/providers/ansible_tower.py -------------------------------------------------------------------------------- /broker/providers/beaker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/providers/beaker.py -------------------------------------------------------------------------------- /broker/providers/container.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/providers/container.py -------------------------------------------------------------------------------- /broker/providers/foreman.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/providers/foreman.py -------------------------------------------------------------------------------- /broker/providers/openstack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/providers/openstack.py -------------------------------------------------------------------------------- /broker/providers/test_provider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/providers/test_provider.py -------------------------------------------------------------------------------- /broker/session.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/session.py -------------------------------------------------------------------------------- /broker/settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker/settings.py -------------------------------------------------------------------------------- /broker_settings.yaml.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/broker_settings.yaml.example -------------------------------------------------------------------------------- /catalog-info.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/catalog-info.yaml -------------------------------------------------------------------------------- /catalog/system/broker.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/catalog/system/broker.yaml -------------------------------------------------------------------------------- /logs/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/logs/.gitignore -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/pyproject.toml -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/data/ansible_tower/fake_children.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/ansible_tower/fake_children.json -------------------------------------------------------------------------------- /tests/data/ansible_tower/fake_jobs.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/ansible_tower/fake_jobs.json -------------------------------------------------------------------------------- /tests/data/ansible_tower/fake_workflows.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/ansible_tower/fake_workflows.json -------------------------------------------------------------------------------- /tests/data/args_file.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/args_file.json -------------------------------------------------------------------------------- /tests/data/args_file.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/args_file.yaml -------------------------------------------------------------------------------- /tests/data/beaker/job_result.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/beaker/job_result.json -------------------------------------------------------------------------------- /tests/data/beaker/test_job.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/beaker/test_job.xml -------------------------------------------------------------------------------- /tests/data/broker_args.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/broker_args.json -------------------------------------------------------------------------------- /tests/data/broker_args.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/broker_args.yaml -------------------------------------------------------------------------------- /tests/data/broker_settings.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/broker_settings.yaml -------------------------------------------------------------------------------- /tests/data/cli_scenarios/beaker/checkout_test_job-2.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/cli_scenarios/beaker/checkout_test_job-2.yaml -------------------------------------------------------------------------------- /tests/data/cli_scenarios/beaker/checkout_test_job.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/cli_scenarios/beaker/checkout_test_job.yaml -------------------------------------------------------------------------------- /tests/data/cli_scenarios/containers/checkout_ch-d_ubi8.yaml: -------------------------------------------------------------------------------- 1 | container_host: ubi8:latest 2 | -------------------------------------------------------------------------------- /tests/data/cli_scenarios/containers/checkout_ch-d_ubi8_2.yaml: -------------------------------------------------------------------------------- 1 | container_host: ubi8:latest 2 | count: 2 3 | -------------------------------------------------------------------------------- /tests/data/cli_scenarios/containers/execute_ch-d_ubi8.yaml: -------------------------------------------------------------------------------- 1 | container_app: ubi8:latest 2 | command: pwd 3 | -------------------------------------------------------------------------------- /tests/data/cli_scenarios/satlab/checkout_latest_rhel.yaml: -------------------------------------------------------------------------------- 1 | workflow: deploy-rhel 2 | -------------------------------------------------------------------------------- /tests/data/cli_scenarios/satlab/checkout_latest_sat.yaml: -------------------------------------------------------------------------------- 1 | workflow: deploy-satellite 2 | -------------------------------------------------------------------------------- /tests/data/cli_scenarios/satlab/checkout_rhel96.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/cli_scenarios/satlab/checkout_rhel96.yaml -------------------------------------------------------------------------------- /tests/data/cli_scenarios/satlab/checkout_sat_618.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/cli_scenarios/satlab/checkout_sat_618.yaml -------------------------------------------------------------------------------- /tests/data/cli_scenarios/satlab/execute_templates_list.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/cli_scenarios/satlab/execute_templates_list.yaml -------------------------------------------------------------------------------- /tests/data/container/fake_containers.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/container/fake_containers.json -------------------------------------------------------------------------------- /tests/data/container/fake_images.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/container/fake_images.json -------------------------------------------------------------------------------- /tests/data/container/fake_networks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/container/fake_networks.json -------------------------------------------------------------------------------- /tests/data/fake_inventory.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/fake_inventory.yaml -------------------------------------------------------------------------------- /tests/data/foreman/fake_get.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/foreman/fake_get.json -------------------------------------------------------------------------------- /tests/data/foreman/fake_hosts.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/foreman/fake_hosts.json -------------------------------------------------------------------------------- /tests/data/foreman/fake_jobs.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/foreman/fake_jobs.json -------------------------------------------------------------------------------- /tests/data/foreman/fake_resources.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/foreman/fake_resources.json -------------------------------------------------------------------------------- /tests/data/ssh/auth_test_key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/ssh/auth_test_key -------------------------------------------------------------------------------- /tests/data/ssh/auth_test_key.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/ssh/auth_test_key.pub -------------------------------------------------------------------------------- /tests/data/ssh/hp.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/ssh/hp.txt -------------------------------------------------------------------------------- /tests/data/ssh/puppy.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/ssh/puppy.jpeg -------------------------------------------------------------------------------- /tests/data/ssh/test_key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/ssh/test_key -------------------------------------------------------------------------------- /tests/data/ssh/test_key.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/data/ssh/test_key.pub -------------------------------------------------------------------------------- /tests/functional/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/functional/README.md -------------------------------------------------------------------------------- /tests/functional/test_containers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/functional/test_containers.py -------------------------------------------------------------------------------- /tests/functional/test_rh_beaker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/functional/test_rh_beaker.py -------------------------------------------------------------------------------- /tests/functional/test_satlab.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/functional/test_satlab.py -------------------------------------------------------------------------------- /tests/providers/test_ansible_tower.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/providers/test_ansible_tower.py -------------------------------------------------------------------------------- /tests/providers/test_beaker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/providers/test_beaker.py -------------------------------------------------------------------------------- /tests/providers/test_container.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/providers/test_container.py -------------------------------------------------------------------------------- /tests/providers/test_foreman.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/providers/test_foreman.py -------------------------------------------------------------------------------- /tests/providers/test_openstack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/providers/test_openstack.py -------------------------------------------------------------------------------- /tests/test_broker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/test_broker.py -------------------------------------------------------------------------------- /tests/test_config_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/test_config_manager.py -------------------------------------------------------------------------------- /tests/test_helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/test_helpers.py -------------------------------------------------------------------------------- /tests/test_settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/test_settings.py -------------------------------------------------------------------------------- /tests/test_ssh.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tests/test_ssh.py -------------------------------------------------------------------------------- /tox.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/tox.toml -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SatelliteQE/broker/HEAD/uv.lock --------------------------------------------------------------------------------