rsp-environments.yaml: metadata about the science platform environments¶
Source data about the RSP environments that can be used to write environment-specific documentation is maintained in a file called rsp-environments.yaml
at the root of this documentation repository.
This page describes that file, and how to maintain it.
File layout and schema¶
The rsp-environments.yaml
file consists of a mapping of RSP environments.
These keys closely correspond to RSP environments in the Phalanx deployment repository, though they are made to conform to python variable name syntax since they are used as tags for the Sphinx builds (see the tox.ini
file).
The value for each environment is a mapping that describes metadata about the environment.
type |
object |
|||
additionalProperties |
type |
object |
||
properties |
||||
|
The environment name in phalanx (corresponding to the values files in https://github.com/lsst-sqre/phalanx/tree/master/science-platform). |
|||
type |
string |
|||
|
Set to true only for the primary user-facing RSP. This documentation corresponds to the root URL nb.lsst.io. |
|||
type |
boolean |
|||
|
Human-readable name for the RSP environment. |
|||
type |
string |
|||
|
True if the environment requires any type of VPN for access. |
|||
type |
boolean |
|||
|
The edition name for LSST the Docs. |
|||
type |
string |
|||
|
URLs related to the RSP. |
|||
type |
object |
|||
properties |
||||
|
The URL of the RSP homepage. |
|||
type |
string |
|||
format |
uri |
|||
|
The root URL of the notebook aspect in the RSP. |
|||
type |
string |
|||
format |
uri |
|||
|
Array of GitHub team names for GitHub-OAuth based Notebook Aspect access. These correspond to the Gafaelfawr values files: https://github.com/lsst-sqre/phalanx/tree/master/services/gafaelfawr |
|||
type |
array |
|||
items |
type |
string |
||
uniqueItems |
True |
Linting and data maintenance¶
The rsplint.py
script lints the contents of rsp-environments.yaml
using the Phalanx deployment repository as a source of truth.
In turn, rsplint.py
is run as a Git hook through the pre-commit framework so that rsp-environments.yaml
is validated regularly during documentation builds:
whenever you run
pre-commit run --all-files
on the command linewhenever you commit a change to
rsp-environments.yaml
during any build in GitHub Actions
If rsplint.py
, through pre-commit, detects a mismatch between values in rsp-environments.yaml
and the Phalanx deployment repository, you will need to update rsp-environments.yaml
.
Adding or removing an environment¶
If you are adding a new RSP environment to the documentation build, or removing an existing environment there are a number of files to consider:
Update
rsp-environments.yaml
Update
tox.ini
Update GitHub Actions, particularly
.github/workflows/ci.yaml
Update any
jinja
directives in the source content