Created
February 6, 2025 20:26
-
-
Save josephtate/686d34789b7edd4a24a9a5258760dbc2 to your computer and use it in GitHub Desktop.
A YAML file to describe the pulp setup for a release workflow with multiple sources(remotes) and protected final stage.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| peridot_config: &peridot_src | |
| base_url: https://mtnrepo.ciq.dev | |
| use_hashed_repo: false | |
| credentials: | |
| username: depot-sync | |
| password: arglebarglemarglefargle | |
| pulp_config: | |
| remote_defaults: &pulp_remote_defaults | |
| # These settings are used as default values for the remotes that are created using it. | |
| # Any of the fields can be overridden by merging. | |
| pulp_labels: | |
| # Serialized as a json object to the database. Pulp tracks this, but doesn't use it for anything internally. | |
| product: $product | |
| product_group: $product_group | |
| repository: $repository | |
| releasever: $releasever | |
| arch: $arch | |
| source: $source | |
| os-id: rocky | |
| repository_defaults: &pulp_repository_defaults | |
| # These settings are used as default values for the repositories that are created using it. | |
| # Any of the fields can be overridden by merging. | |
| retain_repo_versions: 0 # infinite | |
| retain_package_versions: 1 # only keep the latest version (release stages should override this to 0) | |
| auto_publish: true | |
| repo_config: |- | |
| priority=50 | |
| pulp_labels: | |
| # Serialized as a json object to the database. Pulp tracks this, but doesn't use it for anything internally. | |
| product: $product | |
| product_group: $product_group | |
| repository: $repository | |
| releasever: $releasever | |
| arch: $arch | |
| source: $source | |
| stage: $stage | |
| os-id: rocky | |
| distribution_defaults: &pulp_distribution_defaults | |
| # content_guard: null | |
| hidden: false | |
| pulp_labels: | |
| # Serialized as a json object to the database. Pulp tracks this, but doesn't use it for anything internally. | |
| product: $product | |
| product_group: $product_group | |
| repository: $repository | |
| releasever: $releasever | |
| arch: $arch | |
| source: $source | |
| stage: $stage | |
| os-id: rocky | |
| product_groups: | |
| sig-cloud-next: # set as $product_group | |
| products: | |
| scn-8: # set as $product | |
| # Note that the stage is prepended (with a dash) to this name template according to CIQ's naming convention | |
| repository_name_template: '$product_group-$repository-$releasever.$arch' | |
| distribution_basepath: "$stage/$product_group/$releasever/$repository/$arch" | |
| releasever: 8 | |
| arch: ['x86_64', 'aarch64'] | |
| # TODO: gpg keys? | |
| stages: | |
| # A list. Each stage name can be either a string or an object containing settings for remotes, repositories, | |
| # and distributions. If the name is a string, all default values are used. | |
| # The first stage is the collection stage, and uses the sources as the upstreams. Stages named "release", | |
| # "prod" or "final" are treated as final stages, and $stage is omitted from pulp object names. | |
| - dev | |
| - test | |
| - release: | |
| repository: | |
| <<: *pulp_repository_defaults | |
| # name can be overridden here if the template doesn't fit, or your release stage is not one of the known | |
| # final stage names | |
| retain_package_versions: 0 | |
| repositories: | |
| free: # set as $repository | |
| debug: true # if set, the debug repositories will automatically be created for each architecture | |
| source: true # if set, the src repository will be automatically created | |
| internal: true # if set, repositories will be set up. If false, no action will be taken | |
| sources: | |
| peridot: # set as $source | |
| name: source-$source-$product_group-$repository-$releasever.$arch | |
| type: remote:peridot | |
| peridot_repo: | |
| <<: *peridot_src | |
| project_id: 4d95ae1b-e545-4dc9-8655-caf0ececb8b5 | |
| repo_name: cloud | |
| priority: 50 | |
| enabled: true | |
| secureboot: | |
| name: source-$source-$product_group-$repository-$relesever.$arch | |
| type: post | |
| priority: 30 | |
| nonfree: | |
| just_like: free # just_like is used to inherit the configuration from another key in the same parent. | |
| sources: | |
| peridot: | |
| peridot_repo: | |
| project_id: 4b5b15ea-c832-4ef1-a728-89297eb5b9a4 | |
| scn-9: | |
| # just_like is used to inherit the configuration from another key in the same parent. | |
| just_like: scn-8 | |
| releasever: 9 | |
| repositories: | |
| free: | |
| sources: | |
| peridot: | |
| peridot_repo: | |
| project_id: 9b5a1007-9064-488a-9932-6c993bcf3b6f | |
| nonfree: | |
| sources: | |
| peridot: | |
| peridot_repo: | |
| project_id: f998d0c3-6d65-4bb3-88e8-a2b1961a5e90 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment