Skip to content

rafaelvzago/skupper-tests

Repository files navigation

Logo
Skupper Tests

Modular and scalable framework to test and manage Skupper environments with Ansible.
About · Documentation · Getting Started · Roles · Scenarios

About

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.


Documentation

Explore the full documentation for installation, role descriptions, testing instructions, and more.


Getting Started

Installing Dependencies

  1. Install Python and Ansible dependencies:
    make build
  2. Run the hello-world scenario:
    make hello
  3. Review test results in the test_results/ directory.

Roles

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.

Scenarios

Hello World Scenario

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.

Running the Hello World Scenario

  1. Run the scenario:

    ansible-playbook scenarios/hello-world/hello-world.yml -i scenarios/hello-world/inventory/hosts.yml
  2. Skip Skupper installation:

    ansible-playbook scenarios/hello-world/hello-world.yml -i scenarios/hello-world/inventory/hosts.yml -e skip_skupper_install=true
  3. Skip teardown:

    ansible-playbook scenarios/hello-world/hello-world.yml -i scenarios/hello-world/inventory/hosts.yml -e skip_teardown=true

Compatibility

  • Tested with: ansible-lint >= 24.2.0
  • Compatible with: ansible-core

License

This project is licensed under the Apache License 2.0. See the LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •