Blame docs/apps/www.md

307b00
# CentOS Website
307b00
307b00
## Overview
307b00
307b00
The [centos.org](https://www.centos.org) website is a static one, built by [Jekyll](https://jekyllrb.com/), from sources located in [git](https://git.centos.org/centos/centos.org), and then pushed out to some nodes (dns round-robin)
307b00
307b00
The workflow goes like this:
307b00
307b00
 * Git commits land on [git](https://git.centos.org/centos/centos.org)
307b00
   * either through direct push(es) (someone having RWC rights on that git repo)
307b00
   * either through PR against it, then merged
307b00
 * The node in ansible defined in `httpd-www-staging-nodes` (having the `role-httpd-www-staging.yml` playbook applied, itself importing the [httpd](https://github.com/centos/ansible-role-httpd) role and then `vhost-www-staging.yml` task from that role) will check if there are new commits in upstream git repo and if that's the case, call jekyll build command (through podman container) to build the website
307b00
 * After succesful build, that node, through specific unprivileged user key, pushes the rendered website to all nodes in the `httpd-www-nodes` 
307b00
307b00
!!! note
307b00
    Apart from the git part for website itself, some parts are rendered from other sources. For example https://www.centos.org/download/mirrors/ is rendered through same Jekyll process but with needed assets files *not* being in git, but rather dynamically fetched from https://mirror-status.centos.org (to build a current map of up2date and validated mirrors)
307b00
307b00
Also worth knowing that there are some nodes shared with the Artwork SIG in the `dev` environment (see ansible dev inventory) where they can test some layout/theme changes (like for example https://www.dev.centos.org) and then come with a PR against some roles before being rolled out everywhere