Browse Source

docs: Adding a glossary and a prerequirement (#4299)

Signed-off-by: Ana Carolina Costa César <anaipva@gmail.com>
Signed-off-by: Lucas Queiroz <lucas.fn4@gmail.com>
Signed-off-by: Caio Santos <caiobs10@gmail.com>
Signed-off-by: Juan-Ricarte <juanricarte77@gmail.com>
Signed-off-by: Kauan Eiras <kauante@hotmail.com>
Signed-off-by: Miguel de Frias <miguelfrias8@gmail.com>
Signed-off-by: Luiz Pettengill <luizpettengill@hotmail.com>
Signed-off-by: Suzane Duarte <ssuzane9@hotmail.com>
Signed-off-by: Gabriel Ribeiro <gabrielribeirof19@gmail.com>
Signed-off-by: Breno Queiroz Lima <brenob6@gmail.com>
Signed-off-by: Luana Torres <sluana.torres@gmail.com>
Signed-off-by: Jefferson França <jefferson.frds@gmail.com>
Co-authored-by: Gergely Brautigam <182850+Skarlso@users.noreply.github.com>
CarolCoCe 1 year ago
parent
commit
952dac515e

+ 2 - 0
docs/introduction/getting-started.md

@@ -4,6 +4,8 @@ External-secrets runs within your Kubernetes cluster as a deployment resource.
 It utilizes CustomResourceDefinitions to configure access to secret providers through SecretStore resources
 and manages Kubernetes secret resources with ExternalSecret resources.
 
+This tutorial is intended for those who already have the PreRequisites complete. If there is a term that you don't comprehend, we suggest you to take a look at the Glossary for a general understanding.
+
 > Note: The minimum supported version of Kubernetes is `1.16.0`. Users still running Kubernetes v1.15 or below should upgrade
 > to a supported version before installing external-secrets.
 

+ 303 - 0
docs/introduction/glossary.md

@@ -0,0 +1,303 @@
+# Glossary
+This glossary includes technologies related to ESO in alphabetic order.
+
+
+ <details>
+  <summary>Cluster</summary>
+
+  <h3> What is it? </h3>
+      <p> A group of nodes (computers, VMs) that execute workloads in Kubernetes, i.e., run containerized applications.</p>
+      <p>It's a technique that groups multiple computational resources into a single logical unit. These resources are interconnected and work together to execute tasks, process data, and store information in a way that improves application performance, ensures high availability, reduces costs, and increases scalability, as resources can be shared and distributed efficiently to meet real-time application demands. Each computer is a "node," and there's no limit to the number of nodes that can be interconnected. The structure is : Project (Clusters(Nodes(Pods))).</p>
+      <p>The cluster is what provides the main advantage of Kubernetes: the ability to program and execute containers on a set of physical, virtual, on-premise, or cloud machines. Kubernetes containers are not tied to individual machines. In fact, they are abstracted across the entire cluster.</p>
+
+  <h3> What is it for? </h3>
+      <p>The cluster's function is to group multiple machines into a single, efficient system, allowing distributed applications to be executed with higher performance and scalability. In Kubernetes, it facilitates container management, reducing complexity, ensuring high availability, and reducing costs. A Kubernetes cluster typically has a master node that manages pods and the system's execution environment.</p>
+
+  <h3> Useful links: </h3>
+
+  <ul>
+        <li><a href="https://kubernetes.io/docs/concepts/cluster-administration/" target="_blank">Introduction to Clusters</a></li>
+        <li><a href="https://aws.amazon.com/pt/what-is/kubernetes-cluster/" target="_blank">What is a Kubernetes cluster?</a></li>
+        <li><a href="https://www.atatus.com/blog/kubernetes-clusters-everything-you-need-to-know/" target="_blank">Kubernetes Clusters: Everything You Need to Know</a></li>
+      </ul>
+
+   </details>
+
+ <details>
+  <summary>Docker</summary>
+
+  <h3>What is it?</h3>
+    <p>Docker is an open platform for developing, shipping, and running containerized applications. It allows you to separate your applications from the infrastructure, facilitating the delivery of software quickly and efficiently, enabling the creation, sharing, and execution of containerized applications and microservices.</p>
+
+  <h3>What is it for?</h3>
+    <p>It enables infrastructure management. This significantly reduces the time between writing code and executing it in production.
+    It simplifies complex processes such as port mapping, file system concerns, and other standard configurations, allowing you to focus on writing code.</p>
+    <p>With Docker, you can develop an application and its supporting components using containers. In this context, the container becomes the unit for distributing and testing the application. Once ready, you can deploy the application to the production environment, whether it's local, cloud-based, or hybrid.</p>
+
+  <h3>Useful links:</h3>
+
+  <li><a href="https://docs.docker.com/" target="_blank">Official documentation for Docker</a></li>
+
+   </details>
+
+<details>
+  <summary>Golang</summary>
+
+  <h3>What is it?</h3>
+    <p>An open-source programming language created by Google, known for its simplicity, performance, clarity, and conciseness.</p>
+
+  <h3>What is it for?</h3>
+    <p>
+      Used in the development of applications, backend systems, and tools, especially in cloud and Kubernetes environments.
+      It's a language that offers concurrency mechanisms that facilitate writing programs capable of taking full advantage of multi-core machines and networks, while its innovative type system enables the construction of flexible and modular programs.
+      Go compiles quickly to machine code and, at the same time, offers convenience with garbage collection and the power of runtime reflection. It's a compiled, statically typed language that has the agility of dynamically typed and interpreted languages.
+    </p>
+
+  <h3>Useful links:</h3>
+  <ul>
+    <li><a href="https://go.dev/doc/" target="_blank">Official documentation for Golang</a></li>
+  </ul>
+</details>
+
+<details>
+  <summary>Helm</summary>
+
+  <h3>What is it?</h3>
+    <p>A package manager for Kubernetes that facilitates the deployment and management of applications using templates called "charts."</p>
+
+  <h3>What is it for?</h3>
+    <p>
+      Simplifies the configuration, installation, and update of applications in Kubernetes.
+    </p>
+
+  <h3>Useful links:</h3>
+  <ul>
+    <li><a href="https://helm.sh/docs/" target="_blank">Official documentation for Helm</a></li>
+    <li><a href="https://github.com/helm/helm" target="_blank">GitHub project</a></li>
+  </ul>
+</details>
+
+
+
+<details>
+  <summary>HPA</summary>
+
+  <h3>What is it?</h3>
+    <p>Horizontal Pod Autoscaler (HPA)</p>
+
+  <h3>What is it for?</h3>
+    <p>
+      It's used to control the number of Pods in a Deployment. For example, if CPU usage is too high, the HPA would increase the number of Pods.
+      It's also possible to use the Vertical Pod Autoscaler (VPA), which would increase the amount of resources for each Pod instead of increasing the number of Pods.
+    </p>
+</details>
+
+<details>
+  <summary>Ingress</summary>
+
+  <h3>What is it?</h3>
+    <p>
+      In a Kubernetes cluster where all requests arrive at the same IP and port, Ingresses are responsible for directing (based on rules you define via the Kubernetes API) these requests to the appropriate Services. It can also be used for other purposes.
+    </p>
+
+  <h3>What is it for?</h3>
+    <p>
+      It provides a single entry point for routing traffic to internal services.
+    </p>
+
+  <h3>Useful links:</h3>
+  <ul>
+    <li><a href="https://kubernetes.io/docs/concepts/services-networking/ingress/" target="_blank">About Ingress</a></li>
+  </ul>
+</details>
+
+<details>
+  <summary>Issuer</summary>
+
+  <h3>What is it?</h3>
+    <p>A component in tools like Cert-Manager for issuing certificates.</p>
+
+  <h3>What is it for?</h3>
+    <p>
+      Manages the issuance of automatic TLS certificates for services in Kubernetes.
+      It issues the SSL certificate for Ingresses to encrypt (with HTTPS) incoming and outgoing requests, for example.
+    </p>
+
+  <h3>Useful links:</h3>
+  <ul>
+    <li><a href="https://cert-manager.io/docs/" target="_blank">Cert-Manager documentation</a></li>
+  </ul>
+</details>
+
+<details>
+  <summary>Kind</summary>
+
+  <h3>What is it?</h3>
+    <p>
+      Kind means "Kubernetes in Docker", so it is a tool for running local Kubernetes clusters using Docker containers as cluster "nodes."
+    </p>
+
+  <h3>What is it for?</h3>
+  <p>
+    Kind was initially designed for testing Kubernetes itself, but it can also be used for local development or continuous integration (CI).
+    It enables the creation of Kubernetes clusters easily in local environments, facilitating testing and development without requiring complex infrastructure.
+  </p>
+
+  <h3>Useful links:</h3>
+  <ul>
+    <li><a href="https://kind.sigs.k8s.io/" target="_blank">Official Website</a></li>
+  </ul>
+</details>
+
+<details>
+  <summary>Kubectl</summary>
+
+  <h3>What is it?</h3>
+    <p>
+      Kubectl is a command-line tool for communicating with the control plane of a Kubernetes cluster, using the Kubernetes API.
+    </p>
+
+  <h3>What is it for?</h3>
+    <p>
+      It performs operations in Kubernetes, such as creating pods and monitoring the cluster status.
+      It allows you to interact with the Kubernetes cluster by performing operations like creating, managing, and viewing resources.
+      It searches for a configuration file called <code>config</code> in the <code>$HOME/.kube</code> directory, which contains information about how to connect to the cluster.
+    </p>
+
+  <h3>Useful links:</h3>
+  <ul>
+    <li><a href="https://kubernetes.io/docs/reference/kubectl/" target="_blank">Official Documentation - Kubernetes</a></li>
+  </ul>
+</details>
+
+<details>
+  <summary>Kubernetes</summary>
+
+  <h3>What is it?</h3>
+    <p>
+      A container orchestration open source platform that automates the deployment, scaling, and management of applications.
+    </p>
+
+  <h3>What is it for?</h3>
+    <p>
+      Ensures high availability, scalability, and monitoring of containerized applications.
+    </p>
+
+  <h3>Useful links:</h3>
+  <ul>
+    <li><a href="https://kubernetes.io/docs/" target="_blank">Official Documentation</a></li>
+    <li><a href="https://github.com/kubernetes/kubernetes" target="_blank">Project GitHub</a></li>
+  </ul>
+</details>
+
+
+<details>
+  <summary>Nginx</summary>
+
+  <h3>What is it?</h3>
+    <p>
+      It is an open-source HTTP web server that can also function as a reverse proxy, load balancer, content cache, TCP/UDP proxy server, and email proxy server.
+      It is widely used due to its high performance and ability to handle large volumes of traffic.
+    </p>
+
+  <h3>What is it for?</h3>
+    <p>
+      Nginx is used to serve web content, manage network traffic, and balance load between servers, as well as act as a reverse proxy and content cache.
+      It can be used to improve the scalability and performance of web applications by efficiently distributing requests across multiple servers.
+      It has a main process that manages the configuration and several worker processes that handle request processing. The number of worker processes can be adjusted according to the number of processor cores.
+    </p>
+
+  <h3>Useful Links:</h3>
+  <ul>
+    <li><a href="https://nginx.org/en/docs/" target="_blank">Official Documentation</a></li>
+  </ul>
+</details>
+
+<details>
+  <summary>Lint</summary>
+
+  <h3>What is it?</h3>
+    <p>
+      A static code analysis process for identifying errors, style issues, and non-compliance with best coding practices.
+    </p>
+
+  <h3>What is it for?</h3>
+    <p>
+      Ensures code quality, consistency, and adherence to predefined standards by identifying syntax errors, formatting issues, and poor development practices before code execution.
+      It contributes to maintaining clean, readable, and efficient code.
+    </p>
+
+  <h3>Useful Links:</h3>
+  <ul>
+    <li><a href="https://eslint.org/" target="_blank">Introduction to linting</a></li>
+  </ul>
+</details>
+
+<details>
+  <summary>Pod</summary>
+
+  <h3>What is it?</h3>
+    <p>
+      The smallest unit of computation in Kubernetes, which groups one or more containers.
+    </p>
+
+  <h3>What is it for?</h3>
+    <p>
+      Manages containers that share resources and act as a single entity in a cluster.
+      The structure is: Project (Clusters(Nodes(Pods))).
+    </p>
+
+  <h3>Useful Links:</h3>
+  <ul>
+    <li><a href="https://kubernetes.io/docs/concepts/workloads/pods/" target="_blank">About Pods</a></li>
+  </ul>
+</details>
+
+<details>
+  <summary>Secret</summary>
+
+  <h3>What is it?</h3>
+    <p>
+      Sensitive data we want to store, manage, and use with ESO.
+    </p>
+</details>
+
+<details>
+  <summary>Tilt</summary>
+
+  <h3>What is it?</h3>
+    <p>
+      A tool that helps with local development for Kubernetes, enabling quick visualization and management of changes to applications.
+    </p>
+
+  <h3>What is it for?</h3>
+    <p>
+      Facilitates the development workflow in Kubernetes by automatically updating the cluster's state based on code changes.
+      It has an interface and automates many tasks that would otherwise need to be done manually.
+    </p>
+
+  <h3>Useful Links:</h3>
+  <ul>
+    <li><a href="https://tilt.dev/" target="_blank">Official Website</a></li>
+    <li><a href="https://docs.tilt.dev/" target="_blank">Documentation</a></li>
+  </ul>
+</details>
+
+<details>
+  <summary>yq</summary>
+
+  <h3>What is it?</h3>
+    <p>
+      A tool used to manipulate YAML files in the command line, similar to jq for JSON.
+    </p>
+
+  <h3>What is it for?</h3>
+    <p>
+      Edits, transforms, and queries YAML files. YAML files are used to configure applications, services, or clusters.
+    </p>
+
+  <h3>Useful Links:</h3>
+  <ul>
+    <li><a href="https://github.com/mikefarah/yq" target="_blank">yq GitHub</a></li>
+  </ul>
+</details>

+ 239 - 0
docs/introduction/prerequisites.md

@@ -0,0 +1,239 @@
+# Prerequisites
+To collaborate on the External Secrets Operator (ESO) project, you need to install some tools on your computer. This guide explains what each tool is, why it is needed, the recommended version, and how to install it on the corresponding operating system.
+### Supported Operating Systems
+To collaborate on the External Secrets Operator (ESO) project, it is recommended to use Unix-based operating systems, such as Linux and macOS. ESO's development environment is primarily designed for these systems, and many of the tools and scripts used during development are built to work on them.
+### Can You Develop on Windows?
+It is possible to use Windows for development, but there are important considerations to keep in mind. Since ESO's development environment is not optimized for Windows, compatibility issues may arise with tools like Make, Tilt, and shell scripts. The project's automation scripts and commands are written for Unix environments, using bash scripting, which might not be compatible with Windows without adaptations. This tutorial will not cover the installation and configuration of tools on Windows due to its complexity and lack of testing.
+
+---
+
+## Install Go (Golang)
+
+<details>
+  <summary>About Golang</summary>
+  <h3> What is Go?</h3>
+  <p> Go, also known as Golang, is a programming language design at Google by Robert Griesemer, Rob Pike, and Ken Thompson. It is known for being efficient, easy to learn, and excellent for developing fast and scalable applications.</p>
+  <h3> Why is Go needed?</h3>
+  <p> In the <strong>External Secrets Operator</strong> project, Go is used to develop core parts of the code. It is required to compile, run, and contribute to the project's source code.</p>
+</details>
+
+<details>
+  <summary>Golang Installation</summary>
+  <h3> Required Version</h3>
+  <p><strong>Minimum version:</strong> Go 1.20 or higher.</p>
+  <p><strong>Recommended version:</strong> Go 1.23.3</p>
+  <blockquote> As of this writing, the latest version of Go is <strong>1.23.3</strong>As of this writing, the latest version of Go is 1.23.3 , which worked perfectly with the <strong>External Secrets Operator</strong> project. Previous versions failed to test the application. Before testing the project, check your Go version.</blockquote>
+
+  <h3> How to Install Go</h3>
+
+Please consult the <a href="https://go.dev/doc/install">official documentation</a>.</p>
+</details>
+
+## Install Helm
+
+<details>
+  <summary>About Helm</summary>
+  <h3>What is Helm?</h3>
+  <p>Helm is a package manager for Kubernetes, the platform that automates deployment, scaling, and management of containerized applications.</p>
+  
+  <h3>Why is Helm necessary?</h3>
+  <p>In the <strong>External Secrets Operator</strong> project, Helm is used to simplify the installation and management of applications within Kubernetes, automating complex configuration and deployment processes.</p>
+</details>
+
+<details>
+  <summary>Installing Helm</summary>
+  <h3>Required Version</h3>
+  <p><strong>Recommended version:</strong> Helm 3 (latest version of Helm 3).</p>
+  <h3>How to Install Helm</h3>
+
+
+  <p>Please consult the <a href="https://helm.sh/docs/intro/install/">official Helm installation guide</a>.</p>
+</details>
+
+---
+
+## Install yq
+
+<details>
+  <summary>About yq</summary>
+  <h3>What is yq?</h3>
+  <p>yq is a command-line tool for reading, manipulating, and writing YAML files, which are widely used for configurations.</p>
+  
+  <h3>Why is yq necessary?</h3>
+  <p>In the <strong>External Secrets Operator</strong> project, yq is used to automate the editing of YAML configuration files, facilitating adjustments and implementations.</p>
+</details>
+
+<details>
+  <summary>Installing yq</summary>
+  <h3>Required Version</h3>
+  <p><strong>Recommended version:</strong> yq v4.44.3 or higher.</p>
+
+  <h3>How to Install yq</h3>
+
+  <p>Please consult the <a href="https://github.com/mikefarah/yq">official yq repository</a>.</p>
+</details>
+
+
+---
+
+## Install jq
+
+<details>
+  <summary>About jq</summary>
+  <h3>What is jq?</h3>
+  <p>jq is a command-line tool for processing and manipulating JSON data.</p>
+  
+  <h3>Why is jq needed?</h3>
+  <p>In the <strong>External Secrets Operator</strong> project, jq is essential for working with JSON data, enabling efficient filtering and transformation of information.</p>
+</details>
+
+<details>
+  <summary>Installing jq</summary>
+  <h3>Required Version</h3>
+  <p><strong>Recommended version:</strong> jq 1.6 or later.</p>
+
+  <h3>How to Install jq</h3>
+
+  <p>Please consult the <a href="https://stedolan.github.io/jq/">official jq website</a>.</p>
+</details>
+
+## Kubernetes
+
+<details>
+  <summary>About Kubernetes</summary>
+  <h3>What is Kubernetes?</h3>
+  <p>Kubernetes is an open-source platform for automating the deployment, scaling, and management of containerized applications. It orchestrates containerized workloads across a cluster of machines, ensuring high availability and efficient resource utilization.</p>
+  
+  <h3>Why is Kubernetes needed?</h3>
+  <p>In the <strong>External Secrets Operator</strong> project, Kubernetes provides the infrastructure to deploy and manage containerized applications. It allows integration with cloud-native services, enabling scalability, fault tolerance, and streamlined operations in dynamic environments.</p>
+
+  <p>
+  To work with Kubernetes, we need to install and configure some tools first. This will be explained in the sections below.
+  
+  For more details, check the [official documentation](https://kubernetes.io/docs/home/).
+</p>
+</details>
+
+---
+## Install Docker
+
+<details>
+  <summary>About Docker</summary>
+  <h3>What is Docker?</h3>
+  <p>Docker is a platform for building, deploying, and running applications in containers. Containers package an application with all its dependencies into a standard unit for development and deployment.</p>
+  
+  <h3>Why is Docker needed?</h3>
+  <p>In the <strong>External Secrets Operator</strong> project, Docker is used to create container images and run services in isolated environments. It is essential for developing, testing, and deploying the application within a Kubernetes environment.</p>
+</details>
+
+<details>
+  <summary>Installing Docker</summary>
+  <h3>How to Install Docker</h3>
+
+  <p>Please consult the <a href="https://docs.docker.com/get-docker/">official Docker documentation</a>.</p>
+</details>
+
+<details>
+  <summary>Required Docker Configuration</summary>
+  <h3>Configure Docker for Non-Root Usage</h3>
+  <p>By default, Docker requires superuser (root) privileges to run. To simplify usage, it is recommended to add the current user to the <code>docker</code> group to execute commands without <code>sudo</code>.</p>
+
+  <details>
+    <summary>Steps to configure Docker without root on Linux</summary>
+    <h3>1. Create the docker group (if it doesn't exist):</h3>
+    <pre><code>sudo groupadd docker</code></pre>
+    <h3>2. Add the current user to the docker group:</h3>
+    <pre><code>sudo usermod -aG docker $USER</code></pre>
+    <h3>3. Apply group changes without logging out:</h3>
+    <pre><code>newgrp docker</code></pre>
+    <h3>4. Verify Docker can run without sudo:</h3>
+    <pre><code>docker run hello-world</code></pre>
+    <p>If the command works without errors, the configuration is successful.</p>
+  </details>
+</details>
+
+---
+## Install kubectl
+
+<details>
+  <summary>About kubectl</summary>
+  <h3>What is kubectl?</h3>
+  <p><strong>kubectl</strong> is the command-line tool for managing Kubernetes clusters. It enables running commands on the cluster, managing resources, and debugging applications.</p>
+  <h3>Why is kubectl needed?</h3>
+  <p>In the <strong>External Secrets Operator</strong> project, kubectl is used to interact with local or remote Kubernetes clusters, apply configurations, and check the state of deployed resources.</p>
+</details>
+
+<details>
+  <summary>Installing kubectl</summary>
+  <h3>Required Version</h3>
+  <p><strong>A version compatible with the installed Kubernetes version (usually the latest stable version).</strong></p>
+  <h3>How to Install kubectl</h3>
+  
+  <p>Please consult the <a href="https://kubernetes.io/docs/tasks/tools/">official kubectl documentation</a>.</p>
+</details>
+
+---
+## Install ctlptl and Create a Kind Cluster with Local Registry
+
+<details>
+  <summary>About ctlptl</summary>
+  <h3>What is ctlptl?</h3>
+  <p><strong>ctlptl</strong> (Control Plane Tool) is a tool for managing local Kubernetes development clusters. It simplifies the creation and management of clusters like <strong>Kind</strong> (Kubernetes in Docker) and the configuration of local container registries.</p>
+  <h3>Why is ctlptl necessary?</h3>
+  <p>In the <strong>External Secrets Operator</strong> project, ctlptl is used to create and manage a local Kubernetes cluster using Kind, as well as to configure a local container registry to store Docker images during development.</p>
+</details>
+
+<details>
+  <summary>Installing ctlptl</summary>
+  <h3>Required Version</h3>
+  <p><strong>The latest available version of ctlptl.</strong></p>
+
+  <h3>How to Install ctlptl</h3>
+    <p>Please consult the <a href="https://github.com/tilt-dev/ctlptl/blob/main/INSTALL.md
+    ">official ctlptl installation guide</a>.</p>
+</details>
+
+
+<h3>Create a Kind Cluster with Local Registry</h3>
+
+<details>
+  <summary>About Kind</summary>
+  <p><strong>Kind</strong> (Kubernetes in Docker) is a tool to run local Kubernetes clusters using Docker containers as cluster nodes.</p>
+</details>
+
+<details>
+  <summary>How to Create a Kind Cluster with Local Registry</summary>
+  <h3>1. Create a local container registry:</h3>
+  <pre><code>docker run -d --restart=always -p "5000:5000" --name kind-registry registry:2</code></pre>
+  <h3>2. Create a Kind cluster using ctlptl and connect it to the local registry:</h3>
+  <pre><code>ctlptl create cluster kind --registry=kind-registry</code></pre>
+  <p>This will create a Kind cluster configured to use the local registry at <code>localhost:5000</code>.</p>
+  <h3>3. Verify the cluster is running:</h3>
+  <pre><code>kubectl cluster-info --context kind-kind</code></pre>
+  <h3>4. List clusters managed by ctlptl:</h3>
+  <pre><code>ctlptl get clusters</code></pre>
+</details>
+
+---
+## Install Tilt
+
+<details>
+  <summary>About Tilt</summary>
+  <h3>What is Tilt?</h3>
+  <p><strong>Tilt</strong> is a tool that accelerates development in Kubernetes environments. It automates building, deploying, and monitoring code, enabling a faster development cycle.</p>
+  <h3>Why is Tilt necessary?</h3>
+  <p>In the <strong>External Secrets Operator</strong> project, Tilt is used to develop and test code changes efficiently, reflecting updates almost instantly in the local Kubernetes environment.</p>
+</details>
+
+<details>
+  <summary>Installing Tilt</summary>
+  <h3>Required Version</h3>
+  <ul>
+    <li><strong>Prerequisites:</strong> Install Docker, kubectl, Kind, and ctlptl.</li>
+    <li><strong>Recommended version:</strong> Latest available version.</li>
+  </ul>
+
+  <h3>How to Install Tilt</h3>
+
+  <p>Please consult the <a href="https://docs.tilt.dev/install.html">official Tilt installation guide</a>.</p>
+</details>

+ 2 - 0
hack/api-docs/mkdocs.yml

@@ -52,6 +52,8 @@ nav:
   - Introduction:
       - Introduction: index.md
       - Overview: introduction/overview.md
+      - Glossary: introduction/glossary.md
+      - Prerequisites: introduction/prerequisites.md
       - Getting started: introduction/getting-started.md
       - FAQ: introduction/faq.md
       - Stability and Support: introduction/stability-support.md