This directory contains manifests and configuration for additional services that:
- are running on OpenShift CI cluster
- are not critical for the development process of the whole OpenShift organization (critical service configuration is in core-services).
- want to follow the same quality criteria and automated check and deployment process that the core services do (DPTP intends to support only these additional services).
Create a new directory for your service, containing all necessary files. You may copy the _TEMPLATE directory and start using the files there. Add manifests and other configuration as needed.
- All directories should contain
OWNERSandREADME.mdfiles. This is enforced bymake check-serviceslocally and by theci/prow/services-validcheck on pull requests. - Config is applied to the cluster using the
applyconfigtool. The tool applies all YAML files under your service subdirectory. Subdirectories are searched recursively and directories with names starting with _ are skipped. All YAML filenames should follow the following convention:- All admin resources should be in
admin_*.yamlfiles - Names of YAML files that should not be applied to the cluster should start
with
_. - The remaining YAML files are considered "standard" resources.
- All admin resources should be in
applyconfigapplies files in lexicographical order. In the case when some resources need to be created before others, this needs to be reflected by the naming of the files (e.g. by including a numerical component).- The
config-updaterservice account in thecinamespace must have permissions to apply all standard resources. - Destination namespaces should always be specified within a manifest, never rely on a currently set OpenShift project.
- All ConfigMaps need to be set up for automated updates by the
config-updaterProw plugin.
There are three types of configuration: admin resources, other resources and ConfigMaps.
- Admin resources are not automatically applied to the cluster.
- Other resources are automatically applied to the cluster by a Prow postsubmit after each PR is merged, and also periodically.
- ConfigMaps are automatically updated by the
config-updaterProw plugin, configured in its config.yaml file. Additionally, they are periodically synced by a Prow job.
- Admin resources can be created by users with
--as=system:adminrights bymake services-admin. - Other resources can be created by
make services, provided the user has rights to perform all necessary actions - ConfigMaps can be manually created by the config-bootstrapper tool.
Additionally, the applyconfig can be used directly.
See its README.md for more details.