Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate docs to docs.nginx.com #1226

Merged
merged 114 commits into from
Nov 29, 2023
Merged
Show file tree
Hide file tree
Changes from 64 commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
48a0e89
chore: hugo initialization
Jcahilltorre Nov 2, 2023
cfce870
chore: fix conflicts
Jcahilltorre Nov 6, 2023
3f5ff52
feat: add hugo meta, rewrite routing-traffic doc
Jcahilltorre Nov 6, 2023
19b159d
fix: update readme for forking process
Jcahilltorre Nov 6, 2023
59b2668
feat: rename the hugo docs folder to hugo
Jcahilltorre Nov 8, 2023
bb21671
chore: Merge remote-tracking branch 'origin/main' into hugo-docs
Jcahilltorre Nov 9, 2023
fe9eca3
feat: update doc, move dev docs picture
Jcahilltorre Nov 9, 2023
0208b09
Update docs/README.md
Jcahilltorre Nov 9, 2023
4c1f5bc
fix: update go version. nits
Jcahilltorre Nov 9, 2023
b8f155f
fix: update filename
Jcahilltorre Nov 9, 2023
5e234ef
fix: update README
Jcahilltorre Nov 9, 2023
2cb5659
fix: README update
Jcahilltorre Nov 9, 2023
62b9459
organzied the NGF docs into diataxis IA
travisamartin Nov 9, 2023
d6b22e5
Merge pull request #1 from Jcahilltorre/doc-269-ngf-ia-rework
travisamartin Nov 9, 2023
7553608
added weights to doc folders and the changelog file
travisamartin Nov 9, 2023
4efca21
Update hugo/README.md
Jcahilltorre Nov 14, 2023
82b2443
Update hugo/README.md
Jcahilltorre Nov 14, 2023
c537934
fix: change docs folder to `site`
Jcahilltorre Nov 14, 2023
8251857
fix: updates to docs readme
Jcahilltorre Nov 14, 2023
5fd21af
Merge branch 'main' into hugo-docs
Jcahilltorre Nov 14, 2023
9d8c1bd
chore: add releases and tech specs dummy pages
Jcahilltorre Nov 14, 2023
6208ac9
Edits to Monitoring topic
travisamartin Nov 15, 2023
b74eeed
chore: edits
travisamartin Nov 15, 2023
6801a6d
chore: edits
travisamartin Nov 15, 2023
8160a68
chore: edits
travisamartin Nov 15, 2023
67e7259
Merge pull request #2 from Jcahilltorre/doc-286-monitoring
travisamartin Nov 16, 2023
4f6b26c
edits to NGF installation guide
travisamartin Nov 16, 2023
395e3ab
Merge branch 'hugo-docs' into doc-285-ngf-installation
travisamartin Nov 16, 2023
69f9814
fix: update caps
Jcahilltorre Nov 16, 2023
5911ef3
chore: rewrite upgrade apps without downtime
Jcahilltorre Nov 16, 2023
fe8a374
fix: update documentation readme run from /site
Jcahilltorre Nov 16, 2023
ff388c8
chore: disable lint line
Jcahilltorre Nov 16, 2023
0cf20ff
Merge branch 'main' into hugo-docs
Jcahilltorre Nov 16, 2023
fb4f584
chore: add custom-styles shortcode
Jcahilltorre Nov 16, 2023
c0b0c5c
reconfigured IA, added Installation dir
travisamartin Nov 17, 2023
2bd0d5e
edits to Manifests install guide
travisamartin Nov 17, 2023
d30d51e
chore: edits to Heml install
travisamartin Nov 18, 2023
2c10d23
chore: edits
travisamartin Nov 18, 2023
3335c04
merged in changes from hugo-docs
travisamartin Nov 18, 2023
4ec4980
chore: fixed broken link
travisamartin Nov 18, 2023
5154845
fixed links
travisamartin Nov 18, 2023
04e33c8
chore: edits
travisamartin Nov 18, 2023
dc68f93
chore: edits
travisamartin Nov 18, 2023
0b19d01
chore: edits
travisamartin Nov 18, 2023
2957ecc
chore: edits
travisamartin Nov 18, 2023
54ba522
chore: edits
travisamartin Nov 20, 2023
f55fb98
Update site/content/installation/installing-ngf/manifests.md
travisamartin Nov 20, 2023
5cb8626
Update site/content/installation/installing-ngf/helm.md
travisamartin Nov 20, 2023
883d2f3
Merge pull request #3 from Jcahilltorre/doc-285-ngf-installation
travisamartin Nov 20, 2023
a34ed77
Update Gateway Architecture document to fit standard NGINX Formatting
ADubhlaoich Nov 20, 2023
d00f5d7
Merge branch 'hugo-docs' of github.com:Jcahilltorre/nginx-gateway-fab…
ADubhlaoich Nov 20, 2023
01a4466
chore: fixed typo
travisamartin Nov 20, 2023
11e84c8
Merge branch 'hugo-docs' of github.com:Jcahilltorre/nginx-gateway-fab…
ADubhlaoich Nov 20, 2023
adcd3d3
fix: typos, style fixes
Jcahilltorre Nov 20, 2023
c8069f9
changed title case to sentence
travisamartin Nov 20, 2023
b700aa6
Merge branch 'hugo-docs' of github.com:Jcahilltorre/nginx-gateway-fab…
travisamartin Nov 20, 2023
7e4da05
changed Manifests title to sentence case
travisamartin Nov 20, 2023
c67a46f
Update site/content/how-to/maintenance/upgrade-apps-without-downtime.md
Jcahilltorre Nov 20, 2023
3ee2769
Update site/content/how-to/maintenance/upgrade-apps-without-downtime.md
Jcahilltorre Nov 20, 2023
d0fa154
Update site/content/how-to/maintenance/upgrade-apps-without-downtime.md
Jcahilltorre Nov 20, 2023
ffa047b
Update site/content/how-to/maintenance/upgrade-apps-without-downtime.md
Jcahilltorre Nov 20, 2023
a93eb38
Update site/content/how-to/maintenance/upgrade-apps-without-downtime.md
Jcahilltorre Nov 20, 2023
327fb32
Update site/content/how-to/maintenance/upgrade-apps-without-downtime.md
Jcahilltorre Nov 20, 2023
1b2adb8
Apply suggestions from code review
Jcahilltorre Nov 20, 2023
bb41615
Update site/content/how-to/traffic-management/routing-traffic-to-your…
Jcahilltorre Nov 20, 2023
4044cf0
fix: add canary release def
Jcahilltorre Nov 20, 2023
3862610
fix: change images shortcode
Jcahilltorre Nov 20, 2023
faad11c
Apply suggestions from code review
ADubhlaoich Nov 21, 2023
c570955
Fix broken links to reflect new file paths
ADubhlaoich Nov 21, 2023
31b7a32
Fix noun capitalization inconsistencies & line formatting.
ADubhlaoich Nov 21, 2023
236554e
Update CLI reference guide to match standard formatting, rephrase text
ADubhlaoich Nov 21, 2023
8e70a4f
Merge pull request #4 from Jcahilltorre/review-architecture
ADubhlaoich Nov 21, 2023
d7c3ddd
fix: update colorbind image , bump theme
Jcahilltorre Nov 21, 2023
b02fec2
chore: update hugo config
Jcahilltorre Nov 22, 2023
a780230
chore: update hugo config
Jcahilltorre Nov 22, 2023
2f88c2d
chore: update hugo config files
Jcahilltorre Nov 22, 2023
4d78850
feat: update makefile
Jcahilltorre Nov 22, 2023
3619273
chore: update netlify.toml
Jcahilltorre Nov 22, 2023
e726c25
fix: update makefile
Jcahilltorre Nov 22, 2023
f2369d1
fix: update hugo config
Jcahilltorre Nov 22, 2023
22e0869
fix: update config file
Jcahilltorre Nov 22, 2023
cbfb753
fix: fix image test
Jcahilltorre Nov 22, 2023
d836d3a
fix: fix images
Jcahilltorre Nov 22, 2023
9b186b7
feat: rewrites
Jcahilltorre Nov 23, 2023
9077dd5
chore: rewrite updates
Jcahilltorre Nov 23, 2023
7ea40c0
fix: update expose doc wording
Jcahilltorre Nov 27, 2023
11f0091
fix: rewrite docs, fix order
Jcahilltorre Nov 28, 2023
56fa7ea
fix: update building the images
Jcahilltorre Nov 28, 2023
072470b
fix: Merge remote-tracking branch 'origin/main' into hugo-docs
Jcahilltorre Nov 28, 2023
f82a543
fix: update new doc changes
Jcahilltorre Nov 28, 2023
a6f2ad4
fix: update README
Jcahilltorre Nov 28, 2023
38ac0e3
fix: update README
Jcahilltorre Nov 28, 2023
c9b99a3
Update docs/README.md
Jcahilltorre Nov 28, 2023
a495f0c
Update site/content/how-to/monitoring/troubleshooting.md
Jcahilltorre Nov 28, 2023
6229e75
Update site/content/how-to/traffic-management/advanced-routing.md
Jcahilltorre Nov 28, 2023
ab2ebb3
Update site/content/installation/expose-nginx-gateway-fabric.md
Jcahilltorre Nov 28, 2023
c8d9c72
Update site/content/how-to/traffic-management/advanced-routing.md
Jcahilltorre Nov 28, 2023
882cf7d
Update site/content/overview/gateway-architecture.md
Jcahilltorre Nov 28, 2023
66f39a4
Update site/content/overview/gateway-architecture.md
Jcahilltorre Nov 28, 2023
c2b60de
Update site/content/overview/gateway-architecture.md
Jcahilltorre Nov 28, 2023
063014e
Update site/content/reference/cli-help.md
Jcahilltorre Nov 28, 2023
a9c1993
fix: fix broken shortcode
Jcahilltorre Nov 28, 2023
e2fe311
fix: fix linting issues
Jcahilltorre Nov 29, 2023
e558e8e
fix: fix lint issues
Jcahilltorre Nov 29, 2023
e00756a
fix: fix lint issues
Jcahilltorre Nov 29, 2023
858d405
fix: fix lint issues
Jcahilltorre Nov 29, 2023
e8fc9dd
chore: update upgrade apps doc
Jcahilltorre Nov 29, 2023
392e627
fix: reword sentence upgrade apps without downtime
Jcahilltorre Nov 29, 2023
ebadc74
fix: various fixes
Jcahilltorre Nov 29, 2023
3c2bbfc
Update site/content/how-to/maintenance/upgrade-apps-without-downtime.md
Jcahilltorre Nov 29, 2023
55eab7e
fix: fix lint issues
Jcahilltorre Nov 29, 2023
05573e1
fix: fix lint issues
Jcahilltorre Nov 29, 2023
7e710ec
fix: fix lint issues
Jcahilltorre Nov 29, 2023
62b5f06
fix: add empty line gitignore
Jcahilltorre Nov 29, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions .markdownlint-cli2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,7 @@ config:
style: dash
no-hard-tabs: false
no-multiple-blanks: false
line-length:
line_length: 120
code_blocks: false
tables: false
line-length: false
blanks-around-headers: false
no-duplicate-heading:
siblings_only: true
Expand Down
21 changes: 1 addition & 20 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,8 @@
# NGINX Gateway Fabric Documentation

This directory contains all of the documentation relating to NGINX Gateway Fabric.
This directory contains the developer documentation and the Enhancement proposals relating to NGINX Gateway Fabric.
sjberman marked this conversation as resolved.
Show resolved Hide resolved
Jcahilltorre marked this conversation as resolved.
Show resolved Hide resolved

## Contents

- [Architecture](architecture.md): An overview of the architecture and design principles of NGINX Gateway Fabric.
- [Gateway API Compatibility](gateway-api-compatibility.md): Describes which Gateway API resources NGINX Gateway
Fabric supports and the extent of that support.
- [Installation](installation.md): Walkthrough on how to install NGINX Gateway Fabric on a generic Kubernetes cluster.
- [Resource Validation](resource-validation.md): Describes how NGINX Gateway Fabric validates Gateway API
resources.
- [Control Plane Configuration](control-plane-configuration.md): Describes how to dynamically update the NGINX
Gateway Fabric control plane configuration.
- [Building the Images](building-the-images.md): Steps on how to build the NGINX Gateway Fabric container images
yourself.
- [Running on Kind](running-on-kind.md): Walkthrough on how to run NGINX Gateway Fabric on a `kind` cluster.
- [CLI Help](cli-help.md): Describes the commands available in the `gateway` binary of `nginx-gateway-fabric`
container.
- [Monitoring](monitoring.md): Information on monitoring NGINX Gateway Fabric using Prometheus metrics.
- [Troubleshooting](troubleshooting.md): Troubleshooting guide for common or known issues.

### Directories

- [Guides](guides): Guides about configuring NGINX Gateway Fabric for various use cases.
- [Developer](developer/): Docs for developers of the project. Contains guides relating to processes and workflows.
- [Proposals](proposals/): Enhancement proposals for new features.
163 changes: 163 additions & 0 deletions docs/developer/documentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
# NGINX Gateway Fabric Docs
Jcahilltorre marked this conversation as resolved.
Show resolved Hide resolved

The `/site` directory contains the user documentation for NGINX Gateway Fabric and the requirements for linting, building, and publishing the docs. Run all the `hugo` commands below from this directory.

We use [Hugo](https://gohugo.io/) to build the docs for NGINX, with the [nginx-hugo-theme](https://github.com/nginxinc/nginx-hugo-theme).

Docs should be written in Markdown.

In the `/site` directory, you will find the following files:

- a [Netlify](https://netlify.com) configuration file;
- configuration files for [markdownlint](https://github.com/DavidAnson/markdownlint/) and [markdown-link-check](https://github.com/tcort/markdown-link-check)
- a `./config` directory that contains the [Hugo](https://gohugo.io) configuration.

## Git Guidelines

See the [Pull Request Guide](pull-request.md) for specfic instructions on how to submit a pull request.

### Branching and Workflow

This repo uses a [forking workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow). See our [Branching and Workflow](branching-and-workflow.md) documentation for more information.

### Publishing Documentation Updates

**`main`** is the default branch in this repo. All the latest content updates are merged into this branch.

The documentation is published from the latest public release branch, (for example, `release-4.0`). Work on your docs in a feature branch in your fork of the repo. Open pull requests into the `main` branch when you are ready to merge your work.

If you are working on content for immediate publication in the docs site, cherrypick your changes to the current public release branch.

If you are working on content for a future release, make sure that you **do not** cherrypick them to the current public release branch, as this will publish them automatically. See the [Release Process documentation](release-process.md) for more information.


## Setup

### Golang

Follow the instructions here to install Go: https://golang.org/doc/install

> To support the use of Hugo mods, you need to install Go v1.15 or newer.

### Hugo

Follow the instructions here to install Hugo: [Hugo Installation](https://gohugo.io/installation/)

> **NOTE:** We are currently running [Hugo v0.115.3](https://github.com/gohugoio/hugo/releases/tag/v0.115.3) in production.

### Markdownlint

We use markdownlint to check that Markdown files are correctly formatted. You can use `npm` to install markdownlint-cli:

```
npm install -g markdownlint-cli
```

## How to write docs with Hugo

### Add a new doc

- To create a new doc that contains all of the pre-configured Hugo front-matter and the docs task template:

`hugo new <SECTIONNAME>/<FILENAME>.<FORMAT>`

e.g.,

hugo new install.md

> The default template -- task -- should be used in most docs.
- To create other types of docs, you can add the `--kind` flag:
`hugo new tutorials/deploy.md --kind tutorial`


The available kinds are:

- Task: Enable the customer to achieve a specific goal, based on use case scenarios.
- Concept: Help a customer learn about a specific feature or feature set.
- Reference: Describes an API, command line tool, config options, etc.; should be generated automatically from source code.
- Troubleshooting: Helps a customer solve a specific problem.
- Tutorial: Walk a customer through an example use case scenario; results in a functional PoC environment.

### Format internal links

Format links as [Hugo relrefs](https://gohugo.io/content-management/cross-references/).

> Note: Using file extensions when linking to internal docs with `relref` is optional.

- You can use relative paths or just the filename. We recommend using the filename
- Paths without a leading `/` are first resolved relative to the current page, then to the remainder of the site.
- Anchors are supported.

For example:

```md
To install NGINX Gateway Fabric, refer to the [installation instructions]({{< relref "/installation/install.md#section-1" >}}).
```

### Add images

You can use the `img` [shortcode](#shortcodes) to insert images into your documentation.

1. Add the image to the static/img directory.
DO NOT include a forward slash at the beginning of the file path. This will break the image when it's rendered.
See the docs for the [Hugo relURL Function](https://gohugo.io/functions/relurl/#input-begins-with-a-slash) to learn more.

1. Add the img shortcode:

{{< img src="img/<img-file.png>" >}}

> Note: The shortcode accepts all of the same parameters as the [Hugo figure shortcode](https://gohugo.io/content-management/shortcodes/#figure).

### Use Hugo shortcodes
You can use Hugo [shortcodes](https://gohugo.io/content-management/shortcodes) to do things like format callouts, add images, and reuse content across different docs.

For example, to use the note callout:

```md
{{< note >}}Provide the text of the note here. {{< /note >}}
```

The callout shortcodes also support multi-line blocks:

```md
{{< caution >}}
You should probably never do this specific thing in a production environment. If you do, and things break, don't say we didn't warn you.
{{< /caution >}}
```

Supported callouts:
- caution
- important
- note
- see-also
- tip
- warning

A few more useful shortcodes:

- collapse: makes a section collapsible
- table: adds scrollbars to wide tables when viewed in small browser windows or mobile browsers
- fa: inserts a Font Awesome icon
- include: include the content of a file in another file (requires the included file to be in the /includes directory)
- link: makes it possible to link to a static file and prepend the path with the Hugo baseUrl
- openapi: loads an OpenAPI spec and renders as HTML using ReDoc
- raw-html: makes it possible to include a block of raw HTML
- readfile: includes the content of another file in the current file; useful for adding code examples

## How to build docs locally

To view the docs in a browser, run the Hugo server. This will reload the docs automatically so you can view updates as you work.

> Note: The docs use build environments to control the baseURL that will be used for things like internal references and resource (CSS and JS) loading.
> You can view the config for each environment in the [config](./config) directory of this repo.
When running the Hugo server, you can specify the environment and baseURL if desired, but it's not necessary.

For example:

```
hugo server
```

```
hugo server -e development -b "http://127.0.0.1/nginx-gateway-fabric/"
```
9 changes: 5 additions & 4 deletions docs/developer/implementing-a-feature.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,19 @@ practices to ensure a successful feature development process.
the [testing](/docs/developer/testing.md#unit-test-guidelines) documentation.
9. **Manually verify your changes**: Refer to the [manual testing](/docs/developer/testing.md#manual-testing) section of
the testing documentation for instructions on how to manually test your changes.
10. **Update any relevant documentation**: Here are some guidelines for updating documentation:
10. **Update any relevant documentation**: See the [documentation](/docs/developer/documentation.md) guide for in-depth information about the workflow to update the docs and how we publish them.
Here are some basic guidelines for updating documentation:
- **Gateway API Feature**: If you are implementing a Gateway API feature, make sure to update
the [Gateway API Compatibility](/docs/gateway-api-compatibility.md) documentation.
the [Gateway API Compatibility](/site/content/concepts/gateway-api-compatibility.md) documentation.
- **New Use Case:** If your feature introduces a new use case, add an example of how to use it in
the [examples](/examples) directory. This example will help users understand how to leverage the new feature.
> For security, a Docker image used in an example must be either managed by F5/NGINX or be an [official image](https://docs.docker.com/docker-hub/official_images/).
- **Installation Changes**: If your feature involves changes to the installation process of NGF, update
the [installation](/docs/installation.md) documentation.
the [installation](/site/content/how-to/installation/installation.md) documentation.
- **Helm Changes**: If your feature introduces or changes any values of the NGF Helm Chart, update the
[Helm README](/deploy/helm-chart/README.md).
- **Command-line Changes**: If your feature introduces or changes a command-line flag or subcommand, update
the [cli help](/docs/cli-help.md) documentation.
the [cli help](/site/content/reference/cli-help.md) documentation.
- **Other Documentation Updates**: For any other changes that affect the behavior, usage, or configuration of NGF,
review the existing documentation and update it as necessary. Ensure that the documentation remains accurate and
up to date with the latest changes.
Expand Down
14 changes: 0 additions & 14 deletions docs/guides/README.md

This file was deleted.

Loading