Skip to content

mjivraja/foreman-documentation

 
 

Repository files navigation

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 command and open up http://localhost:5000. 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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • SCSS 51.0%
  • JavaScript 23.8%
  • Ruby 12.5%
  • Makefile 7.2%
  • HTML 2.6%
  • Shell 2.2%
  • Dockerfile 0.7%