Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
enolfc committed Jul 12, 2024
1 parent e309efa commit a583438
Showing 1 changed file with 16 additions and 19 deletions.
35 changes: 16 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,16 @@ its configuration with a format as follows:
```yaml
gocdb: <name in gocdb of the site>
endpoint: <keystone endpoint of the site>
# optional: use central image sync
images:
# true, get sync, false do not
sync: true
# a list of supported formats of the site can be specified
# if not available, no conversion will be done, so whatever format
# is available in AppDB will be used
formats:
- qcow2
- raw
# optionally specify a protocol for the Keystone V3 federation API
protocol: openid | oidc (default is openid)
# optionally specify a region name if using different regions
Expand All @@ -26,30 +36,17 @@ vos:
publicNetwork: <name of the public network>
```
## Generating configurations
The mapping configuration of the VOs supported at each site can be easily
generated with the `generate-config.py` utility (requires `pyyaml`). It takes as
parameter the YAML file describing the site and will dump the requested
keystone, caso or cloudkeeper-os json config:

```shell
python generate-config.py --config-type keystone sites/SITE.yaml
```

This mapping file should work for most cases. If you have special requirements
open an issue so we can tune the generation to meet your needs!

## Docker containers
Components are run as docker containers, which if not available upstream, are
generated in this repository.
## Deployment
Deployment is managed on a separate private repository that includes several
secrets. Deployment is done with ansible using a
[dedicated role](./deploy/roles/catchall) with:
Deployment is managed with GitHub actions, there is a VM for the
cloud-info-provider and one VM for the image sync. Check the [deploy](./deploy)
directory for details. Configuration is done with ansible using a
[dedicated role](./deploy/roles/catchall):
```sh
ansible-playbook -i inventory.yaml --extra-vars "@secrets.yaml" playbook.yaml
Expand All @@ -60,5 +57,5 @@ where:
- `inventory.yaml` contains the ansible inventory with the host to configure
- `secrets.yaml` contains the credentials for every configured VO and a valid
token for the AMS
- `playbook.yaml` is an ansible playbook that just uses the
`fedcloud-catchall-ops` role to configure the host
- `playbook.yaml` is an ansible playbook that just uses the `catchall` role to
configure the host

0 comments on commit a583438

Please sign in to comment.