stdevel / foreman-documentation

Documentation for the Foreman Project and its ecosystem

Home Page:https://docs.theforeman.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Foreman documentation

THIS IS A WORK IN PROGRESS. VISIT THE OFFICIAL FOREMAN OR KATELLO DOCUMENTATION IF YOU ARE SEEKING HELP.

This git repository contains PoC of improving Foreman documentation.

Foreman Guides

This is a tree of documentation based on Red Hat Satellite 6 official books. Contributions are welcome. See README in the guides/ subdirectory for more information.

Static Site

The landing page for docs.theforeman.org is available as a generated static site. The static content is always built from the master branch. See README in the web/ subdirectory for more information.

Testing locally

To build both static site and guides for easy local testing, there is the global Makefile in the root directory with the following targets:

  • html: builds HTML guides with all contexts (foreman, debian, katello)
  • web: builds static site using the nanoc tool
  • compile: compiles all content into a single directory ./result
  • serve: serves the result directory via a python web server (the default target)

To test the whole site locally, perform make serve command and open up http://localhost:5000. Use PORT=5008 to change the web server port (5000 by default). It builds all contexts so the initial build can be slow, make sure to use -j option for faster builds on modern multi-core machines. Stable versions are symlink to the nightly (current) version, this can cause issues for deleted (or renamed) guides.

Deployment

Github actions perform HTML (with link validation), PDF and WEB artifact creation and if succeeded and branch is master or stable, artifacts are downloaded, extracted and deployed (commited into gh-pages). Deployment does not delete files, in order to remove some unwanted content, manual deletion and push into gh-pages must be performed.

When a commit is pushed into master:

  • All artifacts are built.
  • Static WEB and HTML is downloaded and copied into / or /nightly respectively.
  • Changes are pushed into gh-pages branch.

When a commit is pushed into X.Y:

  • All artifacts are built.
  • HTML artifact is downloaded and copied into /X.Y.
  • Changes are pushed into gh-pages branch.

Branching new release

  • Create a new X.Y branch.
    • Update guides/common/attributes.adoc
      • Set DocState to unsupported
      • Set ProjectVersion to X.Y and set the matching KatelloVersion
    • Push into X.Y branch.
  • Update master
  • Check the site if links and landing page appeared correctly. HTML guides should be deployed into /X.Y

License

See LICENSE files in individual subdirectories.

About

Documentation for the Foreman Project and its ecosystem

https://docs.theforeman.org

License:Other


Languages

Language:SCSS 39.0%Language:JavaScript 31.0%Language:Python 10.6%Language:Ruby 9.5%Language:Makefile 5.6%Language:HTML 2.0%Language:Shell 1.7%Language:Dockerfile 0.5%