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-fileson the command linewhenever you commit a change to
rsp-environments.yamlduring 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.yamlUpdate
tox.iniUpdate GitHub Actions, particularly
.github/workflows/ci.yamlUpdate any
jinjadirectives in the source content