# Description
An environment is a basic organization structure that groups hosts, products, repositories, etc. Every host belongs to one environment and it's isolated inside so that it can see only content that is in its environment.
## Chains
Environments are ordered into chains and their content (products, repositories, tempaltes, packages) can be moved to an environment only from its prior environment. You can have for example chain like:
Library -> Development -> Testing -> Production
Each change in an environment is done through a changeset in an action called promotion.
## Library
Library is a special environment that has no ascendant: All the content starts in this environment. More chains can start from the library environment but no further branching of a chain is enabled.
GET /katello/api/environments 200 { "total": 14, "subtotal": 14, "selectable": 14, "page": 1, "per_page": 20, "error": null, "search": null, "sort": { "by": "id", "order": "asc" }, "results": [ { "library": false, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 9167524, "name": "QA Path1", "label": "qa_path1_label", "description": "QA environment.", "organization_id": 114267492, "organization": { "name": "Empty Organization", "label": "Empty_Organization", "id": 114267492 }, "created_at": "2022-11-08 19:09:32 UTC", "updated_at": "2022-11-08 19:09:32 UTC", "prior": { "name": "Dev Path1", "id": 413623389 }, "successor": { "name": "Staging Path1", "id": 507881024 }, "counts": { "content_hosts": 0, "content_views": 0 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": true, "promote_or_remove_content_views_to_environments": true }, "content_views": [] }, { "library": false, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 28194273, "name": "Dev Path2", "label": "dev_path2_label", "description": "Dev environment.", "organization_id": 114267492, "organization": { "name": "Empty Organization", "label": "Empty_Organization", "id": 114267492 }, "created_at": "2022-11-08 19:09:32 UTC", "updated_at": "2022-11-08 19:09:32 UTC", "prior": { "name": "Library", "id": 562075838 }, "successor": { "name": "QA Path2", "id": 427995936 }, "counts": { "content_hosts": 0, "content_views": 0 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": true, "promote_or_remove_content_views_to_environments": true }, "content_views": [] }, { "library": false, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 122484616, "name": "Staging Path2", "label": "staging_path2_label", "description": "Staging environment.", "organization_id": 114267492, "organization": { "name": "Empty Organization", "label": "Empty_Organization", "id": 114267492 }, "created_at": "2022-11-08 19:09:32 UTC", "updated_at": "2022-11-08 19:09:32 UTC", "prior": { "name": "QA Path2", "id": 427995936 }, "successor": null, "counts": { "content_hosts": 0, "content_views": 0 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": true, "promote_or_remove_content_views_to_environments": true }, "content_views": [] }, { "library": false, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 261162085, "name": "Beta", "label": "beta_label", "description": "Beta environment.", "organization_id": 114267492, "organization": { "name": "Empty Organization", "label": "Empty_Organization", "id": 114267492 }, "created_at": "2022-11-08 19:09:32 UTC", "updated_at": "2022-11-08 19:09:32 UTC", "prior": { "name": "Test_env", "id": 411008527 }, "successor": null, "counts": { "content_hosts": 0, "content_views": 0 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": true, "promote_or_remove_content_views_to_environments": true }, "content_views": [] }, { "library": false, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 292811013, "name": "Dev", "label": "dev_label", "description": "Dev environment.", "organization_id": 114267492, "organization": { "name": "Empty Organization", "label": "Empty_Organization", "id": 114267492 }, "created_at": "2022-11-08 19:09:32 UTC", "updated_at": "2022-11-08 19:09:32 UTC", "prior": { "name": "Library", "id": 562075838 }, "successor": { "name": "Test_env", "id": 411008527 }, "counts": { "content_hosts": 1, "content_views": 2 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": false, "promote_or_remove_content_views_to_environments": true }, "content_views": [ { "name": "Published Library and dev view", "id": 909058347 }, { "name": "Published Library - dev - staging view", "id": 419082953 } ] }, { "library": true, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 396772849, "name": "Library", "label": "candlepin_library", "description": "This is the Library", "organization_id": 61304186, "organization": { "name": "Organization 2", "label": "Organization_2", "id": 61304186 }, "created_at": "2022-11-08 19:09:32 UTC", "updated_at": "2022-11-08 19:09:32 UTC", "prior": null, "successor": null, "counts": { "content_hosts": 0, "content_views": 0, "packages": 0, "module_streams": 0, "errata": { "security": 0, "bugfix": 0, "enhancement": 0, "total": 0 }, "yum_repositories": 0, "docker_repositories": 0, "ostree_repositories": 0, "products": 0, "debs": 0, "deb_repositories": 0 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": false, "promote_or_remove_content_views_to_environments": true }, "content_views": [] }, { "library": false, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 411008527, "name": "Test_env", "label": "test_label", "description": "Test environment.", "organization_id": 114267492, "organization": { "name": "Empty Organization", "label": "Empty_Organization", "id": 114267492 }, "created_at": "2022-11-08 19:09:32 UTC", "updated_at": "2022-11-08 19:09:32 UTC", "prior": { "name": "Dev", "id": 292811013 }, "successor": { "name": "Beta", "id": 261162085 }, "counts": { "content_hosts": 0, "content_views": 0 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": true, "promote_or_remove_content_views_to_environments": true }, "content_views": [] }, { "library": false, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 413623389, "name": "Dev Path1", "label": "dev_path1_label", "description": "Dev environment.", "organization_id": 114267492, "organization": { "name": "Empty Organization", "label": "Empty_Organization", "id": 114267492 }, "created_at": "2022-11-08 19:09:32 UTC", "updated_at": "2022-11-08 19:09:32 UTC", "prior": { "name": "Library", "id": 562075838 }, "successor": { "name": "QA Path1", "id": 9167524 }, "counts": { "content_hosts": 0, "content_views": 0 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": true, "promote_or_remove_content_views_to_environments": true }, "content_views": [] }, { "library": false, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 427995936, "name": "QA Path2", "label": "qa_path2_label", "description": "QA environment.", "organization_id": 114267492, "organization": { "name": "Empty Organization", "label": "Empty_Organization", "id": 114267492 }, "created_at": "2022-11-08 19:09:32 UTC", "updated_at": "2022-11-08 19:09:32 UTC", "prior": { "name": "Dev Path2", "id": 28194273 }, "successor": { "name": "Staging Path2", "id": 122484616 }, "counts": { "content_hosts": 0, "content_views": 0 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": true, "promote_or_remove_content_views_to_environments": true }, "content_views": [] }, { "library": false, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 507881024, "name": "Staging Path1", "label": "staging_path1_label", "description": "Staging environment.", "organization_id": 114267492, "organization": { "name": "Empty Organization", "label": "Empty_Organization", "id": 114267492 }, "created_at": "2022-11-08 19:09:32 UTC", "updated_at": "2022-11-08 19:09:32 UTC", "prior": { "name": "QA Path1", "id": 9167524 }, "successor": null, "counts": { "content_hosts": 0, "content_views": 0 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": true, "promote_or_remove_content_views_to_environments": true }, "content_views": [] }, { "library": true, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 562075838, "name": "Library", "label": "library_label", "description": "This is the Library", "organization_id": 114267492, "organization": { "name": "Empty Organization", "label": "Empty_Organization", "id": 114267492 }, "created_at": "2022-11-08 19:09:32 UTC", "updated_at": "2022-11-08 19:09:32 UTC", "prior": null, "successor": null, "counts": { "content_hosts": 2, "content_views": 4, "packages": 5, "module_streams": 2, "errata": { "security": 1, "bugfix": 0, "enhancement": 1, "total": 2 }, "yum_repositories": 11, "docker_repositories": 4, "ostree_repositories": 1, "products": 8, "debs": 4, "deb_repositories": 5 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": false, "promote_or_remove_content_views_to_environments": true }, "content_views": [ { "name": "Published LIbrary view", "id": 405955044 }, { "name": "Published Library and dev view", "id": 909058347 }, { "name": "Published Library - dev - staging view", "id": 419082953 }, { "name": "Composite view", "id": 64601712 } ] }, { "library": true, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 779215191, "name": "Library", "label": "organization1_library", "description": "This is the Library", "organization_id": 447626438, "organization": { "name": "Organization 1", "label": "Organization_1", "id": 447626438 }, "created_at": "2022-11-08 19:09:32 UTC", "updated_at": "2022-11-08 19:09:32 UTC", "prior": null, "successor": null, "counts": { "content_hosts": 0, "content_views": 0, "packages": 0, "module_streams": 0, "errata": { "security": 0, "bugfix": 0, "enhancement": 0, "total": 0 }, "yum_repositories": 0, "docker_repositories": 0, "ostree_repositories": 0, "products": 0, "debs": 0, "deb_repositories": 0 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": false, "promote_or_remove_content_views_to_environments": true }, "content_views": [] }, { "library": false, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 797271385, "name": "Candlepin Dev", "label": "candlepin_dev_label", "description": "Dev environment.", "organization_id": 61304186, "organization": { "name": "Organization 2", "label": "Organization_2", "id": 61304186 }, "created_at": "2022-11-08 19:09:32 UTC", "updated_at": "2022-11-08 19:09:32 UTC", "prior": { "name": "Library", "id": 396772849 }, "successor": null, "counts": { "content_hosts": 0, "content_views": 1 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": true, "promote_or_remove_content_views_to_environments": true }, "content_views": [ { "name": "Candlepin Library and Dev Content View", "id": 566851579 } ] }, { "library": false, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 1028819239, "name": "Staging", "label": "staging_label", "description": "Staging environment.", "organization_id": 114267492, "organization": { "name": "Empty Organization", "label": "Empty_Organization", "id": 114267492 }, "created_at": "2022-11-08 19:09:32 UTC", "updated_at": "2022-11-08 19:09:32 UTC", "prior": { "name": "Library", "id": 562075838 }, "successor": null, "counts": { "content_hosts": 0, "content_views": 1 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": true, "promote_or_remove_content_views_to_environments": true }, "content_views": [ { "name": "Published Library - dev - staging view", "id": 419082953 } ] } ] }
Param name | Description |
---|---|
organization_id optional |
organization identifier Validations:
|
library optional |
set true if you want to see only library environments Validations:
|
name optional |
filter only environments containing this name Validations:
|
label optional |
filter only environments containing this label Validations:
|
search optional |
Search string Validations:
|
page optional |
Page number, starting at 1 Validations:
|
per_page optional |
Number of results per page to return Validations:
|
order optional |
Sort field and order, eg. 'id DESC' Validations:
|
full_result optional |
Whether or not to show all results Validations:
|
sort_by optional |
Field to sort the results on Validations:
|
sort_order optional |
How to order the sorted results (e.g. ASC for ascending) Validations:
|
Field name | Type | Possible values |
---|---|---|
id | integer | |
label | string | |
name | string | |
organization_id | integer |
Param name | Description |
---|---|
id required |
ID of the environment Validations:
|
organization_id optional |
ID of the organization Validations:
|
POST /katello/api/organizations/114267492/environments { "environment": { "name": "dev env", "label": "dev_env", "description": "This environment is for development.", "prior": 562075838 } } 201 { "library": false, "registry_name_pattern": null, "registry_unauthenticated_pull": false, "id": 1028819304, "name": "dev env", "label": "dev_env", "description": "This environment is for development.", "organization_id": 114267492, "organization": { "name": "Empty Organization", "label": "Empty_Organization", "id": 114267492 }, "created_at": "2022-11-08 19:28:00 UTC", "updated_at": "2022-11-08 19:28:00 UTC", "prior": { "name": "Library", "id": 562075838 }, "successor": null, "counts": { "content_hosts": 0, "content_views": 0 }, "permissions": { "create_lifecycle_environments": true, "view_lifecycle_environments": true, "edit_lifecycle_environments": true, "destroy_lifecycle_environments": true, "promote_or_remove_content_views_to_environments": true }, "content_views": [] }
Param name | Description |
---|---|
organization_id required |
name of organization Validations:
|
name required |
name of the environment Validations:
|
label optional |
label of the environment Validations:
|
description optional |
description of the environment Validations:
|
registry_name_pattern optional |
pattern for container image names Validations:
|
registry_unauthenticated_pull optional |
allow unauthenticed pull of container images Validations:
|
prior_id required |
ID of an environment that is prior to the new environment in the chain. It has to be either the ID of Library or the ID of an environment at the end of a chain. Validations:
|
PUT /katello/api/organizations/114267492/environments/1028819239 { "environment": { "new_name": "New Name" } } 204
Param name | Description |
---|---|
id required |
ID of the environment Validations:
|
organization_id optional |
name of the organization Validations:
|
new_name optional |
new name to be given to the environment Validations:
|
description optional |
description of the environment Validations:
|
registry_name_pattern optional |
pattern for container image names Validations:
|
registry_unauthenticated_pull optional |
allow unauthenticed pull of container images Validations:
|
async optional |
Do not wait for the update action to finish. Default: true Validations:
|
DELETE /katello/api/organizations/114267492/environments/1028819239 { "environment": {} } 204
Param name | Description |
---|---|
id required |
ID of the environment Validations:
|
organization_id optional |
organization identifier Validations:
|
GET /katello/api/organizations/114267492/environments/paths 204
Param name | Description |
---|---|
organization_id optional |
organization identifier Validations:
|
permission_type optional |
The associated permission type. One of (readable | promotable) Default: readable Validations:
|