You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ansible/roles/dnf_repos/README.md
+18-22Lines changed: 18 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,38 +1,34 @@
1
-
dnf_repos
2
-
=========
1
+
# dnf_repos
3
2
4
-
Modifies repo definitions for repofiles in `/etc/yum.repos.d` to point to snapshots in StackHPC's Ark Pulp server or mirrors of them
3
+
Modifies repository definitions for repofiles in `/etc/yum.repos.d` to point to snapshots in StackHPC's Ark Pulp server or mirrors of them
5
4
on a local Pulp server.
6
5
7
-
Requirements
8
-
------------
6
+
## Requirements
9
7
10
8
Requires Ark credentials if using StackHPC's upstream Ark server.
11
9
12
-
Role Variables
13
-
--------------
10
+
## Role Variables
14
11
15
-
Variables in this role are also required by `pulp_site` so set in
12
+
Variables in this role are also required by `pulp_site` so set in
16
13
`environments/common/inventory/groups_vars/all/dnf_repos.yml`. See that file for detailed default values.
17
14
18
15
-`dnf_repos_repos`: Dict of dicts containing information to construct URLs for Ark snapshots from the target Pulp server for each Rocky version. For example:
19
-
```
20
-
dnf_repos_repos:
21
-
appstream: # ansible.builtin.yum_repository:name
22
-
'8.10': # ansible_distribution_version or ansible_distribution_major_version
pulp_path: rocky/8.10/AppStream/x86_64/os # The subpath of the the upstream Ark server's content endpoint URL for the repo's snapshots, see https://ark.stackhpc.com/pulp/content/
pulp_path: rocky/8.10/AppStream/x86_64/os # The subpath of the the upstream Ark server's content endpoint URL for the repo's snapshots, see https://ark.stackhpc.com/pulp/content/
Contains playbooks to deploy a Pulp server and sync its content with repo snapshots in
3
+
Contains playbooks to deploy a Pulp server and sync its content with repository snapshots in
5
4
StackHPC's Ark Pulp server
6
5
7
-
Requirements
8
-
------------
6
+
## Requirements
9
7
10
8
Requires Ark credentials. The VM you are deploying Pulp on must allow ingress on `pulp_site_port`
11
9
and not be externally accessible (as the Pulp server's content is unauthenticated). Rocky Linux 9 has been
12
10
tested as the target VM for deploying Pulp.
13
11
14
-
Role Variables
15
-
--------------
12
+
## Role Variables
16
13
17
-
-`pulp_site_url`: Required str. The base url from which Pulp content will be hosted. Defaults to `{{ appliances_pulp_url }}`.
18
-
Value to set for ``appliances_pulp_url` will be generated and output by the deploy.yml playbook.
14
+
-`pulp_site_url`: Required str. The base URL from which Pulp content will be hosted. Defaults to `{{ appliances_pulp_url }}`.
15
+
Value to set for ``appliances_pulp_url` will be generated and output by the deploy.yml playbook.
19
16
-`pulp_site_port`: Optional str. Port to serve Pulp server on. Defaults to `8080`.
20
17
-`pulp_site_username`: Optional str. Admin username for the Pulp server. Defaults to `admin`.
21
18
-`pulp_site_password`: Required str. Admin password for the Pulp server. Defaults to `{{ vault_pulp_admin_password }}`.
@@ -24,13 +21,13 @@ Role Variables
24
21
-`pulp_site_upstream_content_url`: Optional str. Content URL of upstream Ark Pulp. Defaults to `https://ark.stackhpc.com/pulp/content`.
25
22
-`pulp_site_install_dir`: Optional str. Directory on Pulp host to install config and persistent state to be mounted into Pulp container. Defaults to `/home/rocky/pulp`.
26
23
-`pulp_site_target_facts`: Optional str. The `ansible_facts` of a host which will be pulling from your Pulp server, allowing the role to auto-discover the necessary repos to pull.
27
-
defaults to `{{ hostvars[groups['pulp'][0]]['ansible_facts'] }}`.
24
+
defaults to `{{ hostvars[groups['pulp'][0]]['ansible_facts'] }}`.
28
25
-`pulp_site_target_distribution_version`: Optional str. The Rocky Linux minor release to sync repos from Ark for. Defaults to `{{ pulp_site_target_facts['distribution_version'] }}`.
29
-
-`pulp_site_rpm_repo_defaults`: Optional dict. Contains keyvalue pairs for fields which are common to all repo definition in `pulp_site_rpm_repos`. Includes values for `remote_username`,
30
-
`remote_password` and `policy` by default.
31
-
-`pulp_site_rpm_repos`: Optional list of dicts. List of repo definitions in format required by the `stackhpc.pulp.pulp_repository`. Defaults to modified versions of repos defined in
32
-
`dnf_repos_all`.
33
-
-`pulp_site_rpm_publications`: Optional list of dicts. List of repo definitions in format required by the `stackhpc.pulp.pulp_publication`. Defaults to list of publications for repos defined in
34
-
`dnf_repos_all`.
35
-
-`pulp_site_rpm_distributions`: Optional list of dicts. List of repo definitions in format required by the `stackhpc.pulp.pulp_distribution`. Defaults to list of distributions for repos defined in
36
-
`dnf_repos_all`.
26
+
-`pulp_site_rpm_repo_defaults`: Optional dict. Contains key-value pairs for fields which are common to all repository definition in `pulp_site_rpm_repos`. Includes values for `remote_username`,
27
+
`remote_password` and `policy` by default.
28
+
-`pulp_site_rpm_repos`: Optional list of dicts. List of repository definitions in format required by the `stackhpc.pulp.pulp_repository`. Defaults to modified versions of repos defined in
29
+
`dnf_repos_all`.
30
+
-`pulp_site_rpm_publications`: Optional list of dicts. List of repository definitions in format required by the `stackhpc.pulp.pulp_publication`. Defaults to list of publications for repos defined in
31
+
`dnf_repos_all`.
32
+
-`pulp_site_rpm_distributions`: Optional list of dicts. List of repository definitions in format required by the `stackhpc.pulp.pulp_distribution`. Defaults to list of distributions for repos defined in
Copy file name to clipboardExpand all lines: docs/environments.md
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,11 +14,12 @@ All environments load the inventory from the `common` environment first, with th
14
14
### Environment-specific inventory structure
15
15
16
16
The ansible inventory for the environment is in `environments/<environment>/inventory/`. It should generally contain:
17
-
- A `hosts` file. This defines the hosts in the appliance. Generally it should be templated out by the deployment automation so it is also a convenient place to define variables which depend on the deployed hosts such as connection variables, IP addresses, ssh proxy arguments etc.
17
+
18
+
- A `hosts` file. This defines the hosts in the appliance. Generally it should be templated out by the deployment automation so it is also a convenient place to define variables which depend on the deployed hosts such as connection variables, IP addresses, SSH proxy arguments etc.
18
19
- A `groups` file defining ansible groups, which essentially controls which features of the appliance are enabled and where they are deployed. This repository generally follows a convention where functionality is defined using ansible roles applied to a group
19
-
of the same name, e.g. `openhpc` or `grafana`. The meaning and use of each group is described in comments in `environments/common/inventory/groups`. As the groups defined there for the common environment are empty, functionality is disabled by default and must be
20
-
enabled in a specific environment's `groups` file. The `site` environment contains an ini file at `environments/site/inventory/groups` which enables groups for default appliance functionality across all environments. Additional groups should generally also be
21
-
enabled in this file to avoid divergence between staging and production environments. Note that enabling some groups may require a site-specific image build and Ark credentials (see [operations guide](operations.md)).
20
+
of the same name, e.g. `openhpc` or `grafana`. The meaning and use of each group is described in comments in `environments/common/inventory/groups`. As the groups defined there for the common environment are empty, functionality is disabled by default and must be
21
+
enabled in a specific environment's `groups` file. The `site` environment contains an ini file at `environments/site/inventory/groups` which enables groups for default appliance functionality across all environments. Additional groups should generally also be
22
+
enabled in this file to avoid divergence between staging and production environments. Note that enabling some groups may require a site-specific image build and Ark credentials (see [operations guide](operations.md)).
22
23
- Optionally, group variable files in `group_vars/<group_name>/overrides.yml`, where the group names match the functional groups described above. These can be used to override the default configuration for each functionality, which are defined in `environments/common/inventory/group_vars/all/<group_name>.yml` (the use of `all` here is due to ansible's precedence rules).
23
24
24
25
Although most of the inventory uses the group convention described above there are a few special cases:
0 commit comments