Skip to content

Commit

Permalink
Merge branch 'main' into renovate-update-shellscripts
Browse files Browse the repository at this point in the history
  • Loading branch information
marians authored Dec 13, 2024
2 parents 2a2092b + 07a3288 commit de276b8
Show file tree
Hide file tree
Showing 48 changed files with 188 additions and 107 deletions.
10 changes: 9 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,15 @@ docker-run:
docker run --rm -ti -p 8080:8080 $(REGISTRY)/$(COMPANY)/$(PROJECT):latest

dev:
hugo server -s src
hugo server \
--source ./src \
--ignoreCache \
--disableFastRender \
--cleanDestinationDir \
--gc \
--noBuildLock \
--noHTTPCache \
--renderToMemory

clean:
rm -rf build
Expand Down
78 changes: 72 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,33 @@

This is the main documentation repository for the documentation available at https://docs.giantswarm.io.

## Repository overview

It holds the main **content** of our documentation. The documentation site is created using the static site generator [HUGO](http://gohugo.io/) based on markdown files in the `src/content/` directory of the `docs` repository.

Additional content is tied in through the scripts

- `scripts/aggregate-changelogs`: Aggregates changelog entries into the `src/content/changes` destination.
- `scripts/collect-changelog-entries`: Collects changelog entries from all apps defined in `giantswarm/github` repository to create a weekly update.
- `scripts/update-crd-reference`: Generates reference pages for our custom resource definitions in the `src/content/reference/platform-api` destination.
- `scripts/update-external-repos`: Tutorials that need their own code repository. They must have a `docs` subfolder with the Markdown content and optionally some images. Configuration is found in `scripts/update-external-repos/repositories.txt`.
- `scripts/update-helm-chart-reference`: Creates the cluster apps pages in the `src/content/reference/platform-api` destination.

To update these external content types, the `Makefile` provides specific targets:

- `make changes`
- `make update-external-repos`
- `make collect-changelog-entries`
- `make update-cluster-app-reference`
- `make update-crd-reference`

All pull requests to this repository will trigger a build of the documentation site. The site is hosted in a Cluster API environment (`gazelle`) and it's deployed to https://docs.giantswarm.io automatically thanks to GitOps setup.

## Contributing

**We welcome any contributions on content to this repository in the form of pull requests!**

Please review the [Contribution guidelines](CONTRIBUTING.md) for guidelines on suggesting changes and getting them published this repository.

If you are an employee of Giant Swarm you can get more information per [intranet page](https://intranet.giantswarm.io/docs/product/docs/) with info on style and other pre-requisites.
Please review the [style guidelines](https://handbook.giantswarm.io/docs/content/docs-guide) before contributing.

While making changes, please use

Expand All @@ -18,6 +38,33 @@ make dev

to render the results. This serves the web content on http://localhost:1313/ by default. Please check if your changes display correctly before opening a pull request.

### Front matter

Each documentation page consists of a markdown file that starts with some metadata called [front matter](https://gohugo.io/content-management/front-matter/). Some hints:

- Please look at the other pages to get an idea of what the front matter is good for.
- When your page's `title` is too long for the navigation menu, add a `linkTitle` field with a short title.
- Please double-check whether the `description` is still up-to-date or could be improved. It will often show up Google search results.

Special front matter fields we use:

- `last_review_date`: Date of the last time somebody checked the entire page for validity.
- `menu`: The menu entry under which the page should appear. Currently it's `principal` for the main menu, vintage documentation is under `main`.
- `owner`: List of GitHub team URLs for the team(s) or SIG(s) owning the page. The owning team/SIG is the one responsible for keeping the content up-to-date and useful.
- `user_questions`: List of questions this article answers. Written from a user's perspective. E. g. _How do I ..._.

## Shortcodes

Shortcodes allow the use of a string in any number of places in the docs, while maintaining it only in one place. We use these to place, for example, configuration details. The goal here is to give users accurate, complete and up-to-date information.

Shortcodes exist as one file each in the folder [src/layouts/shortcodes](https://github.com/giantswarm/docs/tree/master/src/layouts/shortcodes).

A shortcode is used in a markdown file like this:

```markdown
... since version {{/*% first_aws_autoscaling_version */%}} and ...
```

### Content linting

When writing docs content, the linter can help you a great deal to keep the content consistent and clean. You can run the linter with:
Expand All @@ -32,16 +79,36 @@ To keep third party style rules up-to-date, please run `make lint-prose-update`

## Search

The search functionality works since last Nov 2023 using a third-party system called [Inkeep](https://inkeep.com/) which makes use of Artificial Intelligence to index all the content of our docs and serve good results. Also, it allows to have a conversational interface to get a faster response in our wide documentation hub.
The search functionality works since last Nov 2023 using a third-party system called [`Inkeep`](https://inkeep.com/) which makes use of Artificial Intelligence to index all the content of our docs and serve good results. Also, it allows to have a conversational interface to get a faster response in our wide documentation hub.

In [the internal portal](https://portal.inkeep.com/) we've defined our docs as main source of content for the Large Language Model(LLM) instance which will be scrapped weekly to digest new content. Access is granted via OIDC and Google.

Since we use Inkeep for more uses cases the project for docs is called "Giant Swarm customer facing". There in the integration you can see our docs and the configuration keys needed to bootstrap the widget. The code that triggers the render the widget is in `/src/assets/scripts/base.js` and the styles are part of `/static/css/inkeep.css`. Most of the options for the widget are defaulted and only style has be customized to fit our documentation's layout.
Since we use `Inkeep` for more uses cases the project for docs is called "Giant Swarm customer facing". There in the integration you can see our docs and the configuration keys needed to bootstrap the widget. The code that triggers the render the widget is in `/src/assets/scripts/base.js` and the styles are part of `/static/css/inkeep.css`. Most of the options for the widget are defaulted and only style has be customized to fit our documentation's layout.

## Diagrams

We use [mermaid](https://mermaid.js.org/) for diagrams. You need to annotate the page previously in the front matter to load the mermaid code (`mermaid: true`). Then you can use the shortcode `{{< mermaid >}}` to add the diagram code.

## About the Header and Footer

The header and footer are to be kept in sync with `www.giantswarm.io`. In order to do this we copy the HTML and CSS specific to those parts of the page.

Files starting with `gs_` are involved in making the header and footer appear and behave correctly.

`partials/gs_header.html` - The unedited html of the header at www.giantswarm.io

`partials/gs_mobile_menu.html` - The unedited html of the mobile navigation menu at www.giantswarm.io

`partials/gs_footer.html` - The unedited html of the footer at www.giantswarm.io

`partials/gs_styles.html` - Automatically extracted styles which apply to
elements found in the header and footer, as well
as hand written override styles to make it play nicely
with CSS already present in docs.

`scripts/gs_menu.js` - Hand written javascript that recreates the interactive
functionality of the navigation menus.

## License

The content in this repository is licensed under the [Creative Commons Attribution ShareAlike](http://creativecommons.org/licenses/by-sa/4.0/) license.
Expand All @@ -52,4 +119,3 @@ For attribution, please use either:
- giantswarm.io

and link, if possible, to https://www.giantswarm.io/

Empty file removed src/.hugo_build.lock
Empty file.
40 changes: 7 additions & 33 deletions src/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ markup:
lineNos: false

menu:
# main is our Vintage menu
main:
- identifier: platform-overview
name: Platform Overview
Expand All @@ -39,39 +40,12 @@ menu:
name: Use the API
url: /vintage/use-the-api/
weight: 40
- identifier: support
name: Support & Training
url: /support/
weight: 50
- identifier: changes
name: Changes and releases
url: /changes/
weight: 90
principal:
- identifier: overview
name: Overview
url: /overview/
weight: 10
- identifier: getting-started
name: Getting started
url: /getting-started/
weight: 20
- identifier: tutorials
name: Tutorials
url: /tutorials/
weight: 30
- identifier: reference
name: Reference
url: /reference/
weight: 40
- identifier: support
name: Support
url: /support/
weight: 50
- identifier: changes
name: Changes and releases
url: /changes/
weight: 90


# principal is the main menu since December 2024.
# Entries are assigned via front-matter.
principal: []


taxonomies:
changes_category: changes_categories
Expand Down
5 changes: 4 additions & 1 deletion src/content/changes/_index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
---
title: Changes and Releases
description: Updates on Giant Swarm workload cluster releases, apps, UI improvements and documentation changes.
weight: 10
menu:
principal:
identifier: changes
weight: 90
last_review_date: 2024-02-23
owner:
- https://github.com/orgs/giantswarm/teams/sig-docs
Expand Down
5 changes: 4 additions & 1 deletion src/content/getting-started/_index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
---
title: Getting started
description: Step-by-step customer journey to build your cloud-native developer platform.
weight: 80
menu:
principal:
identifier: getting-started
weight: 20
last_review_date: 2024-04-05
owner:
- https://github.com/orgs/giantswarm/teams/sig-docs
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
---
title: Prepare your AWS account
linkTitle: AWS
description: Prepare your AWS account to start building your cloud-native developer platform with Giant Swarm.
weight: 10
last_review_date: 2024-11-28
menu:
principal:
parent: getting-started-prepare-provider-infrastructure
owner:
- https://github.com/orgs/giantswarm/teams/team-phoenix
user_questions:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
---
title: Prepare your provider account for Azure
linkTitle: Prepare your Azure account
linkTitle: Azure
description: Prepare your Azure account to start building your cloud-native developer platform with Giant Swarm.
weight: 20
last_review_date: 2024-11-28
menu:
principal:
parent: getting-started-prepare-provider-infrastructure
owner:
- https://github.com/orgs/giantswarm/teams/team-phoenix
user_questions:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
---
title: Prepare your provider environment for VMware Cloud Director
linkTitle: Prepare your VCD environment
description: Prepare your VMware Cloud Director setup to start building your cloud-native developer platform with Giant Swarm.
linkTitle: VMware Cloud Director
description: Prepare your VMware Cloud Director (VCD) setup to start building your cloud-native developer platform with Giant Swarm.
weight: 30
last_review_date: 2024-11-28
menu:
principal:
parent: getting-started-prepare-provider-infrastructure
owner:
- https://github.com/orgs/giantswarm/teams/sig-docs
user_questions:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
---
title: Prepare your provider environment for VMware vSphere
linkTitle: Prepare your vSphere environment
linkTitle: VMware vSphere
description: Prepare your VMware vSphere setup to start building your cloud-native developer platform with Giant Swarm.
weight: 40
last_review_date: 2024-11-28
menu:
principal:
parent: getting-started-prepare-provider-infrastructure
owner:
- https://github.com/orgs/giantswarm/teams/sig-docs
user_questions:
Expand Down
5 changes: 4 additions & 1 deletion src/content/overview/_index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
---
title: Overview
description: Description of how our Cloud Native Developer Platform looks like and the services that Giant Swarm offer on top.
weight: 100
menu:
principal:
identifier: overview
weight: 10
last_review_date: 2024-03-07
owner:
- https://github.com/orgs/giantswarm/teams/sig-docs
Expand Down
2 changes: 1 addition & 1 deletion src/content/overview/architecture/_index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Architecture of the Giant Swarm cloud-native developer platform
linkTitle: Architecture of the platform
linkTitle: Architecture
description: Components, capabilities, supported cloud providers, and the platform API.
weight: 20
menu:
Expand Down
9 changes: 5 additions & 4 deletions src/content/overview/architecture/operational-layers/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@
linkTitle: Operational layers
title: Giant Swarm operational layers
description: Here you learn how the operational layers of Giant Swarm are defined and what the intended operational model is.
weight: 20
weight: 10
menu:
main:
parent: platform-overview-security
principal:
parent: overview-architecture
identifier: overview-architecture-operational-layers
last_review_date: 2024-12-04
user_questions:
- What are the Giant Swarm operational layers?
Expand Down Expand Up @@ -65,7 +66,7 @@ The Platform API is basically the Kubernetes API on every management cluster. It

##### Authorization

With a valid *jwt* token, received from your chosen identity provider, customers can have two levels of access:
With a valid *JWT* token, received from your chosen identity provider, customers can have two levels of access:

- *view*
- *get*/*list*/*watch* access to all resources in the management cluster, except for `configmaps` and `secrets`.
Expand Down
1 change: 1 addition & 0 deletions src/content/overview/connectivity/_index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
title: Connectivity
linkTitle: Connectivity
description: Public or private access to your workload applications through ingress. Secure connections between your distributed applications or microservices through a API gateway.
weight: 70
menu:
Expand Down
2 changes: 1 addition & 1 deletion src/content/overview/fleet-management/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ weight: 40
menu:
principal:
parent: overview
identifier: overview-fleet-management
identifier: overview-fleetmanagement
last_review_date: 2024-06-03
owner:
- https://github.com/orgs/giantswarm/teams/sig-product
Expand Down
4 changes: 2 additions & 2 deletions src/content/overview/fleet-management/app-management/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ description: The app platform allows to manage app catalogs and apps, for simple
weight: 40
menu:
principal:
parent: overview-fleet-management
identifier: overview-fleet-management-app-platform
parent: overview-fleetmanagement
identifier: overview-fleetmanagement-appmanagement
owner:
- https://github.com/orgs/giantswarm/teams/team-honeybadger
user_questions:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ description: Supported cloud providers and management of clusters on the Giant S
weight: 30
menu:
principal:
parent: overview-fleet-management
identifier: overview-fleet-management-clusters
parent: overview-fleetmanagement
identifier: overview-fleetmanagement-clustermanagement
last_review_date: 2024-05-02
owner:
- https://github.com/orgs/giantswarm/teams/sig-product
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
---
title: Main cluster concepts
linkTitle: Concepts
description: Overview of the main concepts of cluster management in the Giant Swarm platform.
weight: 10
menu:
principal:
parent: overview-fleet-management-clusters
identifier: overview-fleet-management-cluster-concepts
parent: overview-fleetmanagement-clustermanagement
identifier: overview-fleetmanagement-clustermanagement-concepts
last_review_date: 2024-06-26
owner:
- https://github.com/orgs/giantswarm/teams/sig-docs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ description: Explanation of how cluster configuration works in Cluster API and h
weight: 10
menu:
principal:
parent: overview-fleet-management-cluster-concepts
identifier: overview-fleet-management-cluster-concepts-configuration
parent: overview-fleetmanagement-clustermanagement-concepts
identifier: overview-fleetmanagement-clustermanagement-concepts-configuration
last_review_date: 2024-08-28
owner:
- https://github.com/orgs/giantswarm/teams/team-phoenix
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ description: The specifications for naming workload clusters in the Giant Swarm
weight: 10
menu:
principal:
parent: overview-fleet-management-cluster-concepts
identifier: overview-fleet-management-cluster-concepts-naming
parent: overview-fleetmanagement-clustermanagement-concepts
identifier: overview-fleetmanagement-clustermanagement-concepts-naming
last_review_date: 2024-06-14
owner:
- https://github.com/orgs/giantswarm/teams/sig-docs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ description: Learn the advantages of using multi-account clusters in the Giant S
weight: 10
menu:
principal:
parent: overview-fleet-management-cluster-concepts
identifier: overview-fleet-management-cluster-concepts-multi-account
parent: overview-fleetmanagement-clustermanagement-concepts
identifier: overview-fleetmanagement-clustermanagement-concepts-multiaccount
last_review_date: 2024-07-14
owner:
- https://github.com/orgs/giantswarm/teams/sig-docs
Expand Down
Loading

0 comments on commit de276b8

Please sign in to comment.