Selected samples of my technical writing and documentation architecture work for Red Hat Satellite and CZ.NIC FRED. Each sample explains its audience, purpose, my contribution, and the decisions behind it, from organizing whole guides to explaining system behavior and documenting tasks and interfaces. Documentation excerpts are preserved as snapshots.
Overview
Red Hat Satellite: Guide restructuring · Lightspeed overview · Image Builder provisioning
CZ.NIC FRED: Documentation architecture · Non-domains obsoletion · Preparing registrars · EPP: Create domain
Other: Conference presentations
Technical Writing for Red Hat Satellite | 2022–2026
I improved the structure and content of documentation for Red Hat Satellite and its upstream community project, Foreman. My work included guide restructuring, conceptual explanations, and procedures, with priorities agreed with Satellite product management and Customer Content Services.
Methodology: Single-sourced, modular docs as code, published through CI/CD pipelines to HTML and PDF.
Tooling: AsciiDoc, VS Code/Cursor, Git, GitHub, GitLab, Jira, Bash scripting, and Claude Code.
Supporting links: Foreman documentation · My pull requests on GitHub · References
Restructuring a guide
Audience: System administrators, especially those new to host provisioning.
Purpose: Make the required preparation and order of provisioning tasks clear.
Starting point: The guide made it difficult to determine which procedures to follow at what moment and what had to be prepared before creating hosts. Some important procedures were lost in large chapters. Some headings were too technical for beginners.
My contribution: Owned the table of contents redesign and content restructuring. Developers reviewed technical and terminological accuracy; peer writers reviewed clarity and style.
Approach: Reorganized the content to follow the sequence in which users needed to perform tasks, placing preparation before host creation. Simplified headings and made them more descriptive.
Comparison: Tables of contents from Satellite 6.15 and 6.19. The later release also includes content updates beyond this restructuring.
Archived snapshot, retrieved 2026-10-05
Sample: Red Hat Lightspeed overview
Content type: Concept.
Audience: Satellite administrators choosing between hosted and local Red Hat Lightspeed deployments.
Purpose: Help administrators understand the data handling, capabilities, and limitations of each deployment model so they can choose an appropriate option.
My contribution: I wrote the overview from scratch, informed by discussions with developers and a product owner. They approved the technical content, and peer writers reviewed the style.
Approach: I explained where analysis takes place and how host data is handled in each deployment model. I used a service availability table and parallel descriptions of the two models to make their capabilities and limitations easy to compare.
Archived snapshot, retrieved 2026-10-06
Sample: Provisioning from an Image Builder image
Content type: Procedures.
Audience: System administrators.
Purpose: Help administrators configure Satellite to provision hosts from a Red Hat Image Builder image.
My contribution: I rewrote the entire section based on older documentation and discussions with developers. Peer writers reviewed the style, and testers validated the procedures by executing them.
Approach: The original documentation had incomplete package requirements and unclear explanations of image location formats and behavior. I separated the Capsule and HTTP server methods into distinct procedures, clarified prerequisites, completed the required-package information, and explained how Satellite handles a full image URL versus an image file name.
Archived snapshot, retrieved 2026-10-05
Technical Writing for CZ.NIC FRED | 2015–2020
I designed the documentation architecture and wrote most of the original user-facing documentation for FRED, CZ.NIC’s open-source domain registry management system. My work covered conceptual explanations, system architecture, administration procedures, and protocol references. I contributed through version 2.40.
Methodology: Single-sourced, modular docs as code, published through CI/CD pipelines to HTML.
Tooling: reStructuredText, Sphinx Doc, Atom, Git, and GitLab.
Supporting link: FRED documentation
Designing FRED documentation architecture
Purpose: Create a documentation system organized around the needs of FRED’s audiences.
Starting point: No user-facing documentation existed. Sources included mostly outdated internal developer notes, a production system to observe, a test environment covering some features, and discussions with developers and administrators.
My contribution: Mapped audiences and their needs, defined publication purposes, and designed the architecture, with supervision and feedback from a QA manager.
Approach: Separated capability descriptions, conceptual explanations, system architecture, administration tasks, and protocol references. A required feature list became the Features publication; Concepts provided deeper explanations.
| Publication | Audience | Purpose |
|---|---|---|
| Features | Acquirers, testers; also administrators and developers | Present the required list of product capabilities. |
| Concepts | Acquirers, testers; also administrators and developers | Explain the behavior and rules behind those capabilities. |
| Architecture Description | Developers, administrators, customer support | Explain top-level system components and relationships. |
| Administration Manual | Administrators, customer support | Support setup, operation, customization, and maintenance. |
| EPP Reference Manual | Developers, testers | Support implementation and debugging of EPP clients for the registrar-only interface. |
| RDAP REST API Reference | Developers, testers | Support implementation and debugging of RDAP clients for the public interface. |
Sample: Non-domains obsoletion
Content type: Concept.
Audience: Registry administrators and customer support.
Purpose: Explain when unused registry objects become eligible for deletion and what can prevent it.
My contribution: Researched the behavior through discussions with developers and created the explanation and state-transition diagram.
Approach: Clarified how flags define object states and how conditions and restrictions govern transitions. Used a state-transition diagram to make these relationships visible alongside the written explanation.
Archived snapshot, retrieved 2026-10-05
Sample: Preparing registrars
Content type: Procedures.
Audience: Registry administrators setting up a new installation or onboarding registrars.
Purpose: Guide administrators through creating registrars, configuring authentication, and granting access to registry zones.
My contribution: Wrote the procedure, tested the commands and checked their results, and verified the behavior with developers.
Approach: Distinguished common and system registrars, organized the setup into three stages, and paired command examples with parameter explanations and relevant notes.
Archived snapshot, retrieved 2026-10-05
Sample: Create domain
Content type: Reference.
Audience: Developers implementing registrar clients.
Purpose: Define the XML request and response structures for registering a domain through FRED’s EPP interface.
My contribution: Wrote the reference using XML schemas, EPP specifications, and discussions with developers. Incorporated XML examples supplied by developers.
Approach: Described nested XML structures using consistent notation for element occurrences, attributes, and data types, clearly distinguishing required and optional elements.
Archived snapshot, retrieved 2026-10-05
