Modular and scalable framework to test and manage Skupper environments with Ansible.
About
·
Documentation
·
Getting Started
·
Roles
·
Scenarios
Skupper Tests is a project designed to provide a modular and scalable framework to test and manage Skupper environments using Ansible. Each role focuses on a specific aspect of Skupper-based architecture, ensuring flexibility, reliability, and adherence to Ansible best practices. This project includes comprehensive tests for each role to maintain robustness.
Explore the full documentation for installation, role descriptions, testing instructions, and more.
- Install Python and Ansible dependencies:
make build
- Run the hello-world scenario:
make hello
- Review test results in the
test_results/directory.
Below is the list of roles included in this project:
- Access Grant: Manages access credentials for Skupper endpoints.
- Create Connector: Creates and deploys connectors for application routing in Skupper.
- Create Listener: Configures listeners for consuming services via Skupper.
- Deploy Job: Deploys backend and frontend workloads in specified namespaces.
- Deploy Workload: Installs workloads and verifies readiness.
- Environment Shakeout: Validates and prepares the Kubernetes environment for Skupper.
- Expose Service: Exposes services for external access.
- Generate Namespaces: Creates namespaces with specific naming conventions.
- Host Setup: Configures the host for Skupper operations.
- Install Skupper: Installs Skupper by applying CRDs and deploying its controller.
- Link Site: Establishes site links between Skupper instances.
- Run Curl: Validates Skupper connectivity and service availability.
- Skupper Site: Configures Skupper sites with advanced settings.
- Teardown Test: Cleans up namespaces and Skupper-related resources after testing.
This scenario deploys a simple frontend and backend application in separate namespaces. The frontend consumes the backend service via Skupper, utilizing all the roles in the collection as a guide to create your own scenarios.
-
Run the scenario:
ansible-playbook scenarios/hello-world/hello-world.yml -i scenarios/hello-world/inventory/hosts.yml
-
Skip Skupper installation:
ansible-playbook scenarios/hello-world/hello-world.yml -i scenarios/hello-world/inventory/hosts.yml -e skip_skupper_install=true
-
Skip teardown:
ansible-playbook scenarios/hello-world/hello-world.yml -i scenarios/hello-world/inventory/hosts.yml -e skip_teardown=true
- Tested with:
ansible-lint >= 24.2.0 - Compatible with:
ansible-core
This project is licensed under the Apache License 2.0. See the LICENSE for details.