Zuul Definitions

Zuul Definitions is the source for pulling data out of Zuul job definition repositories (usually repos with zuul.d directory).

Zuul definitions support two ways to gather data from Zuul job definition repositories:

  1. By Clonning and parsing files in zuul.d dir

  2. By Quering GitHub API and parsing files in zuul.d dir

Cibyl will clone repos to ~/.cibyl directory.

When remote: True option is set it will query using GitHub API instead of cloning the repositories and query them locally.

Warning

To prevent rate limiting on GitHub you might need to add username and token options in the config.

Usage

To following is a configuration sample of how to configure the Zuul definitions source to work with local repos

environments:                 # List of CI/CD environments
  production:                 # An environment called "production"
    production_zuul:          # A single system called "production_jenkins"
      system_type: zuul       # The type of the system
      sources:                # List of sources belong to "production_jenkins" system
        zuul_api:             # The name of the source which belongs to "production_zuul" system
          driver: zuul.d      # The driver the source will be using
          remote: False       # Optional as this is the default
          repos:              # The repos to clone and query when running Cibyl query commands
            - url: 'http://zuul_defitions_repo.git'
            - url: 'http://zuul_defitions_repo1.git'

To following is a configuration sample of how to configure the Zuul definitions source to work with GitHub API

environments:                   # List of CI/CD environments
  production:                 # An environment called "production"
    production_zuul:          # A single system called "production_jenkins"
      system_type: zuul       # The type of the system
      sources:                # List of sources belong to "production_jenkins" system
        zuul_api:             # The name of the source which belongs to "production_zuul" system
          driver: zuul.d      # The driver the source will be using
          remote: True        # Query GitHub API instead of querying local repos
          username: user      # Required only when 'remote: True'
          token: xyz          # Required only when 'remote: True'
          repos:              # The repos to query using GitHub API
            - url: 'http://localhost/zuul_defitions_repo.git'
            - url: 'http://localhost/zuul_defitions_repo1.git'

Plugin Support

The “Zuul Definitions” source is supported by the following built-in plugins:

  • OpenStack