# CentOS Infra and Releng documentation !!! note This site is dedicated to CentOS Infrastructure documentation and is considered ***Work in progress*** The goal is to consolidate various documentation[s] we have either through ansible inventories, some other git private repositories and/or elsewhere. This `CentOS Infra and Releng Documentation` site contains some explanations and SOPs (Standard Operating Procedure) *but* isn't a substitute for upsream documentation from all applications/components used in the CentOS Infra. So consider this a central place that will contain : * pointers to upstream documentation (if existing) * specific notes/details about how it's implemented in infra * link[s] to Ansible Role[s] (which is/are really the `source of truth` on how app/infra is deployed and maintained) Also worth knowing that it will *not* contain any sensitive information, obviously only shared through `crypted` media between trusted CentOS infra team members (but it might contain though link to other online documentation or git repositories themselves needed some authentication/ACL in place at that level, so "out of scope" for this documentation) ## Infra overview The CentOS infra is built on top of both : * [Red Hat](http://www.redhat.com) sponsored and hosted infrastructure (running critical services to build and deliver CentOS Linux / CentOS Stream / Special Interest Group[s] (SIG) content/artifacts * [Community sponsored](https://www.centos.org/sponsors) infra with machines all around the world (mostly dedicated bare-metal machines) Feel free to browse all top-level sections to have a look at all services used/deployed within the CentOS infra. Each section *should* contain (as noted above) : * pointers to upstream documentation (Read It First !) * pointers to Ansible role covering it * some URLs for the application (if any and/or public) * level of access needed to configure/update/deploy it * how the application/infra/service is monitored * some SOPs for `daily/common` operations/tasks Worth also knowing that this site is automatically rendered from a [git repository](https://git.centos.org/centos/centos-infra-docs) (including also a way to render it locally to browse it through localhost) , so feel free to also submit Pull Request there if you find something that needs to be fixed/updated ! !!! tip You can use the `search` feature/box on top level to search for some specific topics or keywords ## Available Environments While the same automation code should be used to configure all infra/services nodes within CentOS Infra, it's worth knowing that we still "divide" it into sub-sections, and so having different environments. Let's just have a quick look at the existing environments, *each* using its own dedicated [Ansible](ansible/index.md) inventory, and so various settings and/or permitted access : * `CentOS main` : if not defined, all the nodes considered as "production" nodes and managed as such * `CentOS staging` (STG) : pre-prod environment, with limited number of nodes, but mostly used to test changes/deployments before being rolled-out to the `CentOS main` one * `CentOS dev` (DEV) : really ephemeral setup pointing to very low spec machines (usually VMs) to test new stack/applications and write automation before being then deployed in `CentOS staging` * `CentOS CI` : everything that is configuring/deploying the infra behind `ci.centos.org` domain (public or internal) * `CentOS Stream MVBE` : dedicated/isolated environment for CentOS Stream 9 buildsys and having its own inventory/rollout strategy ## CentOS Infra team See the [dedicated section](infra/team.md)