From 11a3f294dfa0ad8b0c3f4f676d4fbda1a7c2e153 Mon Sep 17 00:00:00 2001 From: Jon Edvald Date: Mon, 16 Mar 2020 17:11:05 +0100 Subject: [PATCH] docs: fix redirects and update links --- .gitbook.yaml | 49 +++++++++++-------- README.md | 10 ++-- docs/README.md | 6 +-- docs/basics/quick-start.md | 4 +- docs/{examples => example-projects}/README.md | 0 .../demo-project.md | 0 .../tls-project.md | 0 .../using-garden-in-ci.md | 0 docs/guides/configuration-files.md | 2 +- docs/guides/development-workflows.md | 4 +- docs/guides/variables-and-templating.md | 2 +- docs/reference/module-types/conftest.md | 2 +- .../reference/module-types/maven-container.md | 2 +- docs/reference/providers/conftest.md | 2 +- docs/reference/providers/kubernetes.md | 14 +++--- docs/reference/providers/local-kubernetes.md | 14 +++--- docs/reference/template-strings.md | 10 ++-- examples/ambassador/README.md | 4 +- examples/base-image/README.md | 2 +- examples/conftest/README.md | 2 +- examples/demo-project/README.md | 2 +- examples/hadolint/README.md | 2 +- examples/istio/README.md | 4 +- examples/kubernetes-module/README.md | 2 +- examples/remote-sources/README.md | 2 +- garden-service/src/config/config-context.ts | 6 +-- .../src/plugins/conftest/conftest.ts | 10 ++-- .../src/plugins/kubernetes/config.ts | 6 +-- .../src/plugins/kubernetes/kubernetes.ts | 2 +- .../src/plugins/kubernetes/local/local.ts | 2 +- .../maven-container/maven-container.ts | 2 +- .../docs/templates/template-strings.hbs | 10 ++-- support/install.sh | 2 +- 33 files changed, 94 insertions(+), 87 deletions(-) rename docs/{examples => example-projects}/README.md (100%) rename docs/{examples => example-projects}/demo-project.md (100%) rename docs/{examples => example-projects}/tls-project.md (100%) rename docs/{examples => example-projects}/using-garden-in-ci.md (100%) diff --git a/.gitbook.yaml b/.gitbook.yaml index 2fcd1db56c..409f3f6a6b 100644 --- a/.gitbook.yaml +++ b/.gitbook.yaml @@ -3,24 +3,31 @@ structure: summary: docs/README.md redirects: - guides/using-remote-sources: advanced/using-remote-sources.md - guides/cert-manager-integration: advanced/cert-manager-integration.md - providers/conftest-container: reference/providers/conftest-container.md - providers/conftest-kubernetes: reference/providers/conftest-kubernetes.md - providers/conftest: reference/providers/conftest.md - providers/hadolint: reference/providers/hadolint.md - providers/kubernetes: reference/providers/kubernetes.md - providers/local-kubernetes: reference/providers/local-kubernetes.md - providers/maven-container: reference/providers/maven-container.md - providers/openfaas: reference/providers/openfaas.md - providers/terraform: reference/providers/terraform.md - module-types/conftest: reference/module-types/conftest.md - module-types/container: reference/module-types/container.md - module-types/exec: reference/module-types/exec.md - module-types/hadolint: reference/module-types/hadolint.md - module-types/helm: reference/module-types/helm.md - module-types/kubernetes: reference/module-types/kubernetes.md - module-types/maven-container: reference/module-types/maven-container.md - module-types/openfaas: reference/module-types/openfaas.md - module-types/persistentvolumeclaim: reference/module-types/persistentvolumeclaim.md - module-types/terraform: reference/module-types/terraform.md + installation: ./docs/basics/installation.md + quick-start: ./docs/basics/quick-start.md + stack-graph: ./docs/basics/stack-graph.md + troubleshooting: ./docs/misc/troubleshooting.md + examples/demo-project: ./docs/example-projects/demo-project.md + examples/tls-project: ./docs/example-projects/tls-project.md + examples/using-garden-in-ci: ./docs/example-projects/using-garden-in-ci.md + guides/using-remote-sources: ./docs/advanced/using-remote-sources.md + guides/cert-manager-integration: ./docs/advanced/cert-manager-integration.md + providers/conftest-container: ./docs/reference/providers/conftest-container.md + providers/conftest-kubernetes: ./docs/reference/providers/conftest-kubernetes.md + providers/conftest: ./docs/reference/providers/conftest.md + providers/hadolint: ./docs/reference/providers/hadolint.md + providers/kubernetes: ./docs/reference/providers/kubernetes.md + providers/local-kubernetes: ./docs/reference/providers/local-kubernetes.md + providers/maven-container: ./docs/reference/providers/maven-container.md + providers/openfaas: ./docs/reference/providers/openfaas.md + providers/terraform: ./docs/reference/providers/terraform.md + module-types/conftest: ./docs/reference/module-types/conftest.md + module-types/container: ./docs/reference/module-types/container.md + module-types/exec: ./docs/reference/module-types/exec.md + module-types/hadolint: ./docs/reference/module-types/hadolint.md + module-types/helm: ./docs/reference/module-types/helm.md + module-types/kubernetes: ./docs/reference/module-types/kubernetes.md + module-types/maven-container: ./docs/reference/module-types/maven-container.md + module-types/openfaas: ./docs/reference/module-types/openfaas.md + module-types/persistentvolumeclaim: ./docs/reference/module-types/persistentvolumeclaim.md + module-types/terraform: ./docs/reference/module-types/terraform.md diff --git a/README.md b/README.md index c11a24e213..b326ad9d9c 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ - Easily write [integration test suites](https://docs.garden.io/guides/development-workflows#tests-and-dependencies) that have runtime dependencies. Run tests *before* pushing your code to CI, and avoid having to mock or stub your own services. - Define [tasks](https://github.com/garden-io/garden/tree/v0.11.8/examples/tasks) that run as part of your deployment process—e.g. database migrations or scaffolding. - [Hot reload](https://docs.garden.io/guides/hot-reload) lets you near-instantaneously update code and static files in containers as they run, for services that support in-place reloading. -- [Remote sources](https://docs.garden.io/guides/using-remote-sources) support allows your project to automatically pull code from different repositories. +- [Remote sources](https://docs.garden.io/advanced/using-remote-sources) support allows your project to automatically pull code from different repositories. - The built-in web **dashboard** gives you a full overview of your stack (and many more UI features are planned to further aid with development). - Build, test and deploy Docker containers, [Helm charts](https://docs.garden.io/guides/using-helm-charts), OpenFaaS functions and more. - An extensible plug-in system ensures you’ll later be able add anything that’s not on the above list, or create custom module types tailored to your needs (*due summer 2019*). @@ -51,7 +51,7 @@ ## Quick start -With the CLI installed, you can try out a few commands using the [Demo Project](https://docs.garden.io/examples/demo-project) from our [example projects](https://github.com/garden-io/garden/tree/v0.11.8/examples). The example project consists of a couple of simple modules, each defining one service. +With the CLI installed, you can try out a few commands using the [Demo Project](https://docs.garden.io/example-projects/demo-project) from our [example projects](https://github.com/garden-io/garden/tree/v0.11.8/examples). The example project consists of a couple of simple modules, each defining one service. *Note: This example assumes you have a local Kubernetes instance running.* @@ -96,7 +96,7 @@ Overview: - [Using Garden](https://docs.garden.io/using-garden)—short Guides on incrementally adding the main Garden constructs to your project. - [Guides](https://docs.garden.io/guides)—development workflows, Garden configuration files, usage with remote Kubernetes clusters, and setting up hot reload. -- [Example Projects](https://docs.garden.io/examples)—guides based on some of the [examples](https://github.com/garden-io/garden/tree/v0.11.8/examples). +- [Example Projects](https://docs.garden.io/example-projects)—guides based on some of the [examples](https://github.com/garden-io/garden/tree/v0.11.8/examples). - [Reference](https://docs.garden.io/reference)—glossary, commands reference, configuration files reference, and template strings reference. - [FAQs](https://docs.garden.io/#faqs). @@ -106,7 +106,7 @@ The [examples](https://github.com/garden-io/garden/tree/v0.11.8/examples) folder Garden runs as a developer tool on your machine or in CI, that looks at your source code and configuration files, runs tests, and resolves your changes to update your development environment. Garden can watch your files and run continuously, or you can trigger it manually via the CLI. -For configuration, Garden is centered around the **[Stack Graph](https://docs.garden.io/stack-graph)**, which allows you to fully codify how each part of your stack is built, deployed and tested—making your workflow reproducible and portable. +For configuration, Garden is centered around the **[Stack Graph](https://docs.garden.io/basics/stack-graph)**, which allows you to fully codify how each part of your stack is built, deployed and tested—making your workflow reproducible and portable.

@@ -119,7 +119,7 @@ With the Stack Graph, each part of your stack can *describe itself* using simple

Is Garden a CI platform/tool? -Not exactly, but you can certainly use Garden to make your CI faster and easier to work with. We highly recommend [running Garden from your CI setup](https://docs.garden.io/examples/using-garden-in-ci), so that you can re-use the same structure and config, as well as your build and test result caches (if you're using shared dev clusters). +Not exactly, but you can certainly use Garden to make your CI faster and easier to work with. We highly recommend [running Garden from your CI setup](https://docs.garden.io/example-projects/using-garden-in-ci), so that you can re-use the same structure and config, as well as your build and test result caches (if you're using shared dev clusters).

diff --git a/docs/README.md b/docs/README.md index 18218164a1..ae86cf57a0 100644 --- a/docs/README.md +++ b/docs/README.md @@ -35,9 +35,9 @@ ## 🌺 Example Projects -* [Demo Project](./examples/demo-project.md) -* [TLS Project](./examples/tls-project.md) -* [Using Garden in CI](./examples/using-garden-in-ci.md) +* [Demo Project](./example-projects/demo-project.md) +* [TLS Project](./example-projects/tls-project.md) +* [Using Garden in CI](./example-projects/using-garden-in-ci.md) ## ☘️ Reference diff --git a/docs/basics/quick-start.md b/docs/basics/quick-start.md index 66b17e2588..778c8401e6 100644 --- a/docs/basics/quick-start.md +++ b/docs/basics/quick-start.md @@ -9,7 +9,7 @@ This guide will walk you through setting up the Garden framework. It assumes you ## Using the CLI -With the CLI installed, we can now try out a few commands using the [Demo Project](../examples/demo-project.md) from our [example projects](../examples/README.md). The example project consists of a couple of basic modules, each defining one service. +With the CLI installed, we can now try out a few commands using the [Demo Project](../example-projects/demo-project.md) from our [example projects](../example-projects/README.md). The example project consists of a couple of basic modules, each defining one service. _Note: Check whether Kubernetes is running with `kubectl version`. You should see both a `Client Version` and a `Server Version` in the response. If not, please start it up before proceeding._ @@ -79,4 +79,4 @@ That's it for now. Check out our [Using Garden](../guides/README.md) section for ## Next steps -To see how a Garden project is configured from scratch check, out the [Demo Project](../examples/demo-project.md) guide for a more in-depth presentation. +To see how a Garden project is configured from scratch check, out the [Demo Project](../example-projects/demo-project.md) guide for a more in-depth presentation. diff --git a/docs/examples/README.md b/docs/example-projects/README.md similarity index 100% rename from docs/examples/README.md rename to docs/example-projects/README.md diff --git a/docs/examples/demo-project.md b/docs/example-projects/demo-project.md similarity index 100% rename from docs/examples/demo-project.md rename to docs/example-projects/demo-project.md diff --git a/docs/examples/tls-project.md b/docs/example-projects/tls-project.md similarity index 100% rename from docs/examples/tls-project.md rename to docs/example-projects/tls-project.md diff --git a/docs/examples/using-garden-in-ci.md b/docs/example-projects/using-garden-in-ci.md similarity index 100% rename from docs/examples/using-garden-in-ci.md rename to docs/example-projects/using-garden-in-ci.md diff --git a/docs/guides/configuration-files.md b/docs/guides/configuration-files.md index ef387b896d..541e355298 100644 --- a/docs/guides/configuration-files.md +++ b/docs/guides/configuration-files.md @@ -415,7 +415,7 @@ If you're using Git submodules in your project, please note the following: We highly recommend reading the [Variables and Templating guide](./variables-and-templating.md) to understand how you can reference across different providers and modules, as well as to understand how to supply secret values to your configuration. -We suggest browsing through the [Example projects](../examples/README.md) as well, to see different examples of how projects and modules can be configured. +We suggest browsing through the [Example projects](../example-projects/README.md) as well, to see different examples of how projects and modules can be configured. Also, be sure to look at the [Config Files Reference](../reference/config.md) for more details on each of the available configuration fields, and the [Template Strings Reference](../reference/template-strings.md) for the keys available in template strings. diff --git a/docs/guides/development-workflows.md b/docs/guides/development-workflows.md index 7ef7802494..d2d1851ca8 100644 --- a/docs/guides/development-workflows.md +++ b/docs/guides/development-workflows.md @@ -3,7 +3,7 @@ Now that you've had a glimpse of the basic Garden commands in the [Quick Start](../basics/quick-start.md) guide, and learned about the [Stack Graph](../basics/stack-graph.md), let's go through some typical Garden workflows. -We'll keep using the [Demo Project](../examples/demo-project.md) example, but the same principles will apply for most +We'll keep using the [Demo Project](../example-projects/demo-project.md) example, but the same principles will apply for most Garden projects. ## garden dev @@ -15,7 +15,7 @@ When you start it, `garden dev` will start your development environment and run changes. When you then make changes, Garden re-builds, re-deploys, and re-tests the modules/services that are affected, based on the dependency graph. -For example, if we run `garden dev` inside the [Demo Project](../examples/demo-project.md), the output should be +For example, if we run `garden dev` inside the [Demo Project](../example-projects/demo-project.md), the output should be something like this: ```plain diff --git a/docs/guides/variables-and-templating.md b/docs/guides/variables-and-templating.md index 2eaad51647..49c5e75a8c 100644 --- a/docs/guides/variables-and-templating.md +++ b/docs/guides/variables-and-templating.md @@ -259,7 +259,7 @@ Here the output from `prep-task` is copied to an environment variable for `my-se For a practical use case, you might for example make a task that provisions some infrastructure or prepares some data, and then passes information about it to services. -Different module types expose different output keys for their services and tasks. Please refer to the [module type reference docs](https://docs.garden.io/module-types) for details. +Different module types expose different output keys for their services and tasks. Please refer to the [module type reference docs](https://docs.garden.io/reference/module-types) for details. ## Next steps diff --git a/docs/reference/module-types/conftest.md b/docs/reference/module-types/conftest.md index ab5bcb92e8..93f85b417b 100644 --- a/docs/reference/module-types/conftest.md +++ b/docs/reference/module-types/conftest.md @@ -10,7 +10,7 @@ tocTitle: "`conftest`" Creates a test that runs `conftest` on the specified files, with the specified (or default) policy and namespace. -> Note: In many cases, you'll let specific conftest providers (e.g. [`conftest-container`](https://docs.garden.io/reference/module-types/conftest-container) and [`conftest-kubernetes`](https://docs.garden.io/reference/module-types/conftest-kubernetes) create this module type automatically, but you may in some cases want or need to manually specify files to test. +> Note: In many cases, you'll let specific conftest providers (e.g. [`conftest-container`](https://docs.garden.io/reference/providers/conftest-container) and [`conftest-kubernetes`](https://docs.garden.io/reference/providers/conftest-kubernetes) create this module type automatically, but you may in some cases want or need to manually specify files to test. See the [conftest docs](https://github.com/instrumenta/conftest) for details on how to configure policies. diff --git a/docs/reference/module-types/maven-container.md b/docs/reference/module-types/maven-container.md index a3bca0dd30..8148f6d4b7 100644 --- a/docs/reference/module-types/maven-container.md +++ b/docs/reference/module-types/maven-container.md @@ -7,7 +7,7 @@ tocTitle: "`maven-container`" ## Description -A specialized version of the [container](https://docs.garden.io/module-types/container) module type +A specialized version of the [container](https://docs.garden.io/reference/module-types/container) module type that has special semantics for JAR files built with Maven. Rather than build the JAR inside the container (or in a multi-stage build) this plugin runs `mvn package` diff --git a/docs/reference/providers/conftest.md b/docs/reference/providers/conftest.md index 718dafdf28..3ff4ab067e 100644 --- a/docs/reference/providers/conftest.md +++ b/docs/reference/providers/conftest.md @@ -9,7 +9,7 @@ tocTitle: "`conftest`" This provider allows you to validate your configuration files against policies that you specify, using the [conftest tool](https://github.com/instrumenta/conftest) and Open Policy Agent rego query files. The provider creates a module type of the same name, which allows you to specify files to validate. Each module then creates a Garden test that becomes part of your Stack Graph. -Note that, in many cases, you'll actually want to use more specific providers that can automatically configure your `conftest` modules, e.g. the [`conftest-container`](https://docs.garden.io/reference/module-types/conftest-container) and/or [`conftest-kubernetes`](https://docs.garden.io/reference/module-types/conftest-kubernetes) providers. See the [conftest example project](https://github.com/garden-io/garden/tree/v0.11.8/examples/conftest) for a simple usage example of the latter. +Note that, in many cases, you'll actually want to use more specific providers that can automatically configure your `conftest` modules, e.g. the [`conftest-container`](https://docs.garden.io/reference/providers/conftest-container) and/or [`conftest-kubernetes`](https://docs.garden.io/reference/providers/conftest-kubernetes) providers. See the [conftest example project](https://github.com/garden-io/garden/tree/v0.11.8/examples/conftest) for a simple usage example of the latter. If those don't match your needs, you can use this provider directly and manually configure your `conftest` modules. Simply add this provider to your project configuration, and see the [conftest module documentation](https://docs.garden.io/reference/module-types/conftest) for a detailed reference. Also, check out the below reference for how to configure default policies, default namespaces, and test failure thresholds for all `conftest` modules. diff --git a/docs/reference/providers/kubernetes.md b/docs/reference/providers/kubernetes.md index 485cfe2805..521770c783 100644 --- a/docs/reference/providers/kubernetes.md +++ b/docs/reference/providers/kubernetes.md @@ -13,7 +13,7 @@ Kubernetes clusters, and adds the [`helm`](https://docs.garden.io/reference/modu For usage information, please refer to the [guides section]https://docs.garden.io/guides). A good place to start is the [Remote Kubernetes guide](https://docs.garden.io/guides/remote-kubernetes) guide if you're connecting to remote clusters. -The [demo-project](https://docs.garden.io/examples/demo-project) example project and guide are also helpful as an introduction. +The [demo-project](https://docs.garden.io/example-projects/demo-project) example project and guide are also helpful as an introduction. Note that if you're using a local Kubernetes cluster (e.g. minikube or Docker Desktop), the [local-kubernetes provider](https://docs.garden.io/reference/providers/local-kubernetes) simplifies (and automates) the configuration and setup quite a bit. @@ -214,14 +214,14 @@ providers: # Set to `cert-manager` to configure [cert-manager](https://github.com/jetstack/cert-manager) to manage this # certificate. See our - # [cert-manager integration guide](https://docs.garden.io/guides/cert-manager-integration) for details. + # [cert-manager integration guide](https://docs.garden.io/advanced/cert-manager-integration) for details. managedBy: # cert-manager configuration, for creating and managing TLS certificates. See the - # [cert-manager guide](https://docs.garden.io/guides/cert-manager-integration) for details. + # [cert-manager guide](https://docs.garden.io/advanced/cert-manager-integration) for details. certManager: # Automatically install `cert-manager` on initialization. See the - # [cert-manager integration guide](https://docs.garden.io/guides/cert-manager-integration) for details. + # [cert-manager integration guide](https://docs.garden.io/advanced/cert-manager-integration) for details. install: false # The email to use when requesting Let's Encrypt certificates. @@ -1092,7 +1092,7 @@ The namespace where the secret is stored. If necessary, the secret may be copied Set to `cert-manager` to configure [cert-manager](https://github.com/jetstack/cert-manager) to manage this certificate. See our -[cert-manager integration guide](https://docs.garden.io/guides/cert-manager-integration) for details. +[cert-manager integration guide](https://docs.garden.io/advanced/cert-manager-integration) for details. | Type | Required | | -------- | -------- | @@ -1111,7 +1111,7 @@ providers: [providers](#providers) > certManager cert-manager configuration, for creating and managing TLS certificates. See the -[cert-manager guide](https://docs.garden.io/guides/cert-manager-integration) for details. +[cert-manager guide](https://docs.garden.io/advanced/cert-manager-integration) for details. | Type | Required | | -------- | -------- | @@ -1122,7 +1122,7 @@ cert-manager configuration, for creating and managing TLS certificates. See the [providers](#providers) > [certManager](#providerscertmanager) > install Automatically install `cert-manager` on initialization. See the -[cert-manager integration guide](https://docs.garden.io/guides/cert-manager-integration) for details. +[cert-manager integration guide](https://docs.garden.io/advanced/cert-manager-integration) for details. | Type | Default | Required | | --------- | ------- | -------- | diff --git a/docs/reference/providers/local-kubernetes.md b/docs/reference/providers/local-kubernetes.md index bb14f7ec87..5f948e6bf9 100644 --- a/docs/reference/providers/local-kubernetes.md +++ b/docs/reference/providers/local-kubernetes.md @@ -9,7 +9,7 @@ tocTitle: "`local-kubernetes`" The `local-kubernetes` provider is a specialized version of the [`kubernetes` provider](https://docs.garden.io/reference/providers/kubernetes) that automates and simplifies working with local Kubernetes clusters. -For general Kubernetes usage information, please refer to the [guides section](https://docs.garden.io/guides). For local clusters a good place to start is the [Local Kubernetes guide](https://docs.garden.io/guides/local-kubernetes) guide. The [demo-project](https://docs.garden.io/examples/demo-project) example project and guide are also helpful as an introduction. +For general Kubernetes usage information, please refer to the [guides section](https://docs.garden.io/guides). For local clusters a good place to start is the [Local Kubernetes guide](https://docs.garden.io/guides/local-kubernetes) guide. The [demo-project](https://docs.garden.io/example-projects/demo-project) example project and guide are also helpful as an introduction. If you're working with a remote Kubernetes cluster, please refer to the [`kubernetes` provider](https://docs.garden.io/reference/providers/kubernetes) docs, and the [Remote Kubernetes guide](https://docs.garden.io/guides/remote-kubernetes) guide. @@ -210,14 +210,14 @@ providers: # Set to `cert-manager` to configure [cert-manager](https://github.com/jetstack/cert-manager) to manage this # certificate. See our - # [cert-manager integration guide](https://docs.garden.io/guides/cert-manager-integration) for details. + # [cert-manager integration guide](https://docs.garden.io/advanced/cert-manager-integration) for details. managedBy: # cert-manager configuration, for creating and managing TLS certificates. See the - # [cert-manager guide](https://docs.garden.io/guides/cert-manager-integration) for details. + # [cert-manager guide](https://docs.garden.io/advanced/cert-manager-integration) for details. certManager: # Automatically install `cert-manager` on initialization. See the - # [cert-manager integration guide](https://docs.garden.io/guides/cert-manager-integration) for details. + # [cert-manager integration guide](https://docs.garden.io/advanced/cert-manager-integration) for details. install: false # The email to use when requesting Let's Encrypt certificates. @@ -1060,7 +1060,7 @@ The namespace where the secret is stored. If necessary, the secret may be copied Set to `cert-manager` to configure [cert-manager](https://github.com/jetstack/cert-manager) to manage this certificate. See our -[cert-manager integration guide](https://docs.garden.io/guides/cert-manager-integration) for details. +[cert-manager integration guide](https://docs.garden.io/advanced/cert-manager-integration) for details. | Type | Required | | -------- | -------- | @@ -1079,7 +1079,7 @@ providers: [providers](#providers) > certManager cert-manager configuration, for creating and managing TLS certificates. See the -[cert-manager guide](https://docs.garden.io/guides/cert-manager-integration) for details. +[cert-manager guide](https://docs.garden.io/advanced/cert-manager-integration) for details. | Type | Required | | -------- | -------- | @@ -1090,7 +1090,7 @@ cert-manager configuration, for creating and managing TLS certificates. See the [providers](#providers) > [certManager](#providerscertmanager) > install Automatically install `cert-manager` on initialization. See the -[cert-manager integration guide](https://docs.garden.io/guides/cert-manager-integration) for details. +[cert-manager integration guide](https://docs.garden.io/advanced/cert-manager-integration) for details. | Type | Default | Required | | --------- | ------- | -------- | diff --git a/docs/reference/template-strings.md b/docs/reference/template-strings.md index f3d9b0fae4..19fbbd6d19 100644 --- a/docs/reference/template-strings.md +++ b/docs/reference/template-strings.md @@ -77,7 +77,7 @@ my-variable: ${local.username} The following keys are available in template strings under the `providers` key (or `environments[].providers) in project configs. -Providers can also reference outputs defined by other providers, via the `${providers..outputs}` key. For details on which outputs are available for a given provider, please refer to the [reference](https://docs.garden.io/providers) docs for the provider in question, and look for the _Outputs_ section. +Providers can also reference outputs defined by other providers, via the `${providers..outputs}` key. For details on which outputs are available for a given provider, please refer to the [reference](https://docs.garden.io/reference/providers) docs for the provider in question, and look for the _Outputs_ section. ### `${local.*}` @@ -211,10 +211,10 @@ Alias for the variables field. The below keys are available in template strings in module configs. These include all the keys from the sections above. -Modules can reference outputs defined by providers, via the `${providers..outputs}` key. For details on which outputs are available for a given provider, please refer to the [reference](https://docs.garden.io/providers) docs for the provider in question, and look for the _Outputs_ section. +Modules can reference outputs defined by providers, via the `${providers..outputs}` key. For details on which outputs are available for a given provider, please refer to the [reference](https://docs.garden.io/reference/providers) docs for the provider in question, and look for the _Outputs_ section. Modules can also reference outputs defined by other modules, via the `${modules..outputs}` key, as well as service and task outputs via the `${runtime.services..outputs}` and `${runtime.tasks..outputs}` keys. -For details on which outputs are available for a given module type, please refer to the [reference](https://docs.garden.io/module-types) docs for the module type in question, and look for the _Outputs_ section. +For details on which outputs are available for a given module type, please refer to the [reference](https://docs.garden.io/reference/module-types) docs for the module type in question, and look for the _Outputs_ section. ### `${local.*}` @@ -380,10 +380,10 @@ Runtime information from the tasks that the service/task being run depends on. The below keys are available in template strings for _project outputs_, specified in `outputs[].value` keys in project config files. These include all the keys from the sections above. -Output values can reference outputs defined by providers, via the `${providers..outputs}` key. For details on which outputs are available for a given provider, please refer to the [reference](https://docs.garden.io/providers) docs for the provider in question, and look for the _Outputs_ section. +Output values can reference outputs defined by providers, via the `${providers..outputs}` key. For details on which outputs are available for a given provider, please refer to the [reference](https://docs.garden.io/reference/providers) docs for the provider in question, and look for the _Outputs_ section. Output values may also reference outputs defined by modules, via the `${modules..outputs}` key, as well as service and task outputs via the `${runtime.services..outputs}` and `${runtime.tasks..outputs}` keys. -For details on which outputs are available for a given module type, please refer to the [reference](https://docs.garden.io/module-types) docs for the module type in question, and look for the _Outputs_ section. +For details on which outputs are available for a given module type, please refer to the [reference](https://docs.garden.io/reference/module-types) docs for the module type in question, and look for the _Outputs_ section. ### `${local.*}` diff --git a/examples/ambassador/README.md b/examples/ambassador/README.md index 6fe4ef78ce..12c61445e4 100644 --- a/examples/ambassador/README.md +++ b/examples/ambassador/README.md @@ -1,10 +1,10 @@ # Ambassador example project -This example project demonstrates how to use the [Ambassador API Gateway](https://www.getambassador.io/) instead of the default Nginx ingress controller. Ambassador is an open source, Kubernetes-Native, API Gateway built on the [Envoy Proxy](https://www.envoyproxy.io/). Services are configured via [annotations](https://docs.garden.io/module-types/container#module-services-annotations) which Ambassador reads to configure its Envoy Proxy. +This example project demonstrates how to use the [Ambassador API Gateway](https://www.getambassador.io/) instead of the default Nginx ingress controller. Ambassador is an open source, Kubernetes-Native, API Gateway built on the [Envoy Proxy](https://www.envoyproxy.io/). Services are configured via [annotations](https://docs.garden.io/reference/module-types/container#module-services-annotations) which Ambassador reads to configure its Envoy Proxy. Even though we chose Ambassador for this project, the same principles apply to e.g. [Traefik](https://traefik.io/), which also supports configuring route mappings via service annotations. -The project is based on our [simple-project example](https://github.com/garden-io/garden/tree/v0.9.0-docfix.2/examples/simple-project) and installs Ambassador via the [Helm module type](https://docs.garden.io/module-types/helm). To learn more about using Helm charts with Garden, take a look at our [Helm user guide](https://docs.garden.io/guides/using-helm-charts). +The project is based on our [simple-project example](https://github.com/garden-io/garden/tree/v0.9.0-docfix.2/examples/simple-project) and installs Ambassador via the [Helm module type](https://docs.garden.io/reference/module-types/helm). To learn more about using Helm charts with Garden, take a look at our [Helm user guide](https://docs.garden.io/guides/using-helm-charts). ## Usage diff --git a/examples/base-image/README.md b/examples/base-image/README.md index 146fc2d3c1..c741d7efa3 100644 --- a/examples/base-image/README.md +++ b/examples/base-image/README.md @@ -23,7 +23,7 @@ build: This ensures that the `base-image` is built ahead of the `backend`. -We also use [build arguments](https://docs.docker.com/engine/reference/builder/#arg) in the Dockerfile and the [`garden.yml`](https://docs.garden.io/module-types/container#buildargs) config so that the correct base image version is used: +We also use [build arguments](https://docs.docker.com/engine/reference/builder/#arg) in the Dockerfile and the [`garden.yml`](https://docs.garden.io/reference/module-types/container#buildargs) config so that the correct base image version is used: ```yaml # In backend/garden.yml diff --git a/examples/conftest/README.md b/examples/conftest/README.md index dbea4f3807..78c7ecb163 100644 --- a/examples/conftest/README.md +++ b/examples/conftest/README.md @@ -18,4 +18,4 @@ For the example, we've copied the [kubernetes example](https://github.com/instru To test this, simply run `garden test` in this directory. You should quickly see a few tests failing because resources don't match the policies defined under the `policy` directory. -Note that you could also manually specify tests using the [conftest module type](https://docs.garden.io/module-types/conftest). +Note that you could also manually specify tests using the [conftest module type](https://docs.garden.io/reference/module-types/conftest). diff --git a/examples/demo-project/README.md b/examples/demo-project/README.md index 759c0bfc2a..4e97c83d4d 100644 --- a/examples/demo-project/README.md +++ b/examples/demo-project/README.md @@ -1,3 +1,3 @@ # Demo project -A very basic demo project for Garden. Used in the [Quick Start guide](https://docs.garden.io/quick-start). +A very basic demo project for Garden. Used in the [Quick Start guide](https://docs.garden.io/basics/quick-start). diff --git a/examples/hadolint/README.md b/examples/hadolint/README.md index 970812ee34..a9f60773dc 100644 --- a/examples/hadolint/README.md +++ b/examples/hadolint/README.md @@ -1,6 +1,6 @@ # hadolint project -A simple variation on the [demo-project](../demo-project/README.md) that adds the [hadolint provider](https://docs.garden.io/providers/hadolint). This generates an additional Dockerfile linting test for each `container` module in your project that contains a Dockerfile. +A simple variation on the [demo-project](../demo-project/README.md) that adds the [hadolint provider](https://docs.garden.io/reference/providers/hadolint). This generates an additional Dockerfile linting test for each `container` module in your project that contains a Dockerfile. To test it, run `garden dev` in this directory, and wait for the initial processing to complete. Notice the two tests that are added and run by the `hadolint` provider. diff --git a/examples/istio/README.md b/examples/istio/README.md index 21f213936a..4772b46271 100644 --- a/examples/istio/README.md +++ b/examples/istio/README.md @@ -28,7 +28,7 @@ cd istio-1.0.6 ### Step 2 - Change default Istio port (optional) -When initializing a project that uses the `local-kubernetes` provider, Garden will install a Nginx ingress controller into the `garden-system` namespace, unless the [`setupIngressController`](https://docs.garden.io/providers/local-kubernetes#project-environments-providers-setupingresscontroller) directive is set to false. In this example we have done just that: +When initializing a project that uses the `local-kubernetes` provider, Garden will install a Nginx ingress controller into the `garden-system` namespace, unless the [`setupIngressController`](https://docs.garden.io/reference/providers/local-kubernetes#project-environments-providers-setupingresscontroller) directive is set to false. In this example we have done just that: ```yaml providers: @@ -86,6 +86,6 @@ To verify that it works, open `http://localhost:8080/productpage` in your browse The `details`, `productpage` and `ratings` services are Garden container modules that point to remote container images. -The `reviews` service is a [Helm module](https://docs.garden.io/module-types/helm). That's because in the original Bookinfo example, the `reviews` service has three versions that each get deployed and routed to in a round robin fashion. So to stay true to the example, and because Garden doesn't currently support multiple deployments for a single service, we use the original example manifests and deploy them via the Helm plugin. +The `reviews` service is a [Helm module](https://docs.garden.io/reference/module-types/helm). That's because in the original Bookinfo example, the `reviews` service has three versions that each get deployed and routed to in a round robin fashion. So to stay true to the example, and because Garden doesn't currently support multiple deployments for a single service, we use the original example manifests and deploy them via the Helm plugin. The `gateway` service is a also Helm module, that wraps the Istio Gateway. It contains the Custom Resource Definitions (CRDs) needed for Istio to handle routing for our project. diff --git a/examples/kubernetes-module/README.md b/examples/kubernetes-module/README.md index 79e519e2dd..a65ca19f9b 100644 --- a/examples/kubernetes-module/README.md +++ b/examples/kubernetes-module/README.md @@ -19,4 +19,4 @@ and check that the password matches the one in the project `garden.yml` file. ## Further reading There's not much more to it, but you can check out the module type -[reference](https://docs.garden.io/module-types/kubernetes) for more details. +[reference](https://docs.garden.io/reference/module-types/kubernetes) for more details. diff --git a/examples/remote-sources/README.md b/examples/remote-sources/README.md index f249d0e8b8..52553aa406 100644 --- a/examples/remote-sources/README.md +++ b/examples/remote-sources/README.md @@ -1,6 +1,6 @@ # Remote sources example project -This example demonstrates how you can import remote sources and remote modules into a Garden project. Take a look at the [Using Remote Sources](https://docs.garden.io/guides/using-remote-sources) section of our docs for more details. +This example demonstrates how you can import remote sources and remote modules into a Garden project. Take a look at the [Using Remote Sources](https://docs.garden.io/advanced/using-remote-sources) section of our docs for more details. ## About diff --git a/garden-service/src/config/config-context.ts b/garden-service/src/config/config-context.ts index f1c3b82a25..189ddf8073 100644 --- a/garden-service/src/config/config-context.ts +++ b/garden-service/src/config/config-context.ts @@ -397,7 +397,7 @@ export class ModuleContext extends ConfigContext { .required() .description( "The outputs defined by the module (see individual module type " + - "[references](https://docs.garden.io/module-types) for details)." + "[references](https://docs.garden.io/reference/module-types) for details)." ) .meta({ keyPlaceholder: "" }) ) @@ -442,7 +442,7 @@ export class ServiceRuntimeContext extends ConfigContext { .required() .description( "The runtime outputs defined by the service (see individual module type " + - "[references](https://docs.garden.io/module-types) for details)." + "[references](https://docs.garden.io/reference/module-types) for details)." ) .meta({ keyPlaceholder: "" }) ) @@ -473,7 +473,7 @@ export class TaskRuntimeContext extends ServiceRuntimeContext { .required() .description( "The runtime outputs defined by the task (see individual module type " + - "[references](https://docs.garden.io/module-types) for details)." + "[references](https://docs.garden.io/reference/module-types) for details)." ) .meta({ keyPlaceholder: "" }) ) diff --git a/garden-service/src/plugins/conftest/conftest.ts b/garden-service/src/plugins/conftest/conftest.ts index 49d7badb7b..8f653e1f32 100644 --- a/garden-service/src/plugins/conftest/conftest.ts +++ b/garden-service/src/plugins/conftest/conftest.ts @@ -18,7 +18,7 @@ import chalk from "chalk" import { baseBuildSpecSchema } from "../../config/module" import { matchGlobs, listDirectory } from "../../util/fs" import { PluginError } from "../../exceptions" -import { getModuleTypeUrl, getGitHubUrl } from "../../docs/common" +import { getModuleTypeUrl, getGitHubUrl, getProviderUrl } from "../../docs/common" interface ConftestProviderConfig extends ProviderConfig { policyPath: string @@ -60,8 +60,8 @@ interface ConftestModuleSpec { type ConftestModule = Module const moduleTypeUrl = getModuleTypeUrl("conftest") -const containerModuleTypeUrl = getModuleTypeUrl("conftest-container") -const kubernetesModuleTypeUrl = getModuleTypeUrl("conftest-kubernetes") +const containerProviderUrl = getProviderUrl("conftest-container") +const kubernetesProviderUrl = getProviderUrl("conftest-kubernetes") const gitHubUrl = getGitHubUrl("examples/conftest") export const gardenPlugin = createGardenPlugin({ @@ -69,7 +69,7 @@ export const gardenPlugin = createGardenPlugin({ docs: dedent` This provider allows you to validate your configuration files against policies that you specify, using the [conftest tool](https://github.com/instrumenta/conftest) and Open Policy Agent rego query files. The provider creates a module type of the same name, which allows you to specify files to validate. Each module then creates a Garden test that becomes part of your Stack Graph. - Note that, in many cases, you'll actually want to use more specific providers that can automatically configure your \`conftest\` modules, e.g. the [\`conftest-container\`](${containerModuleTypeUrl}) and/or [\`conftest-kubernetes\`](${kubernetesModuleTypeUrl}) providers. See the [conftest example project](${gitHubUrl}) for a simple usage example of the latter. + Note that, in many cases, you'll actually want to use more specific providers that can automatically configure your \`conftest\` modules, e.g. the [\`conftest-container\`](${containerProviderUrl}) and/or [\`conftest-kubernetes\`](${kubernetesProviderUrl}) providers. See the [conftest example project](${gitHubUrl}) for a simple usage example of the latter. If those don't match your needs, you can use this provider directly and manually configure your \`conftest\` modules. Simply add this provider to your project configuration, and see the [conftest module documentation](${moduleTypeUrl}) for a detailed reference. Also, check out the below reference for how to configure default policies, default namespaces, and test failure thresholds for all \`conftest\` modules. `, @@ -82,7 +82,7 @@ export const gardenPlugin = createGardenPlugin({ Creates a test that runs \`conftest\` on the specified files, with the specified (or default) policy and namespace. - > Note: In many cases, you'll let specific conftest providers (e.g. [\`conftest-container\`](${containerModuleTypeUrl}) and [\`conftest-kubernetes\`](${kubernetesModuleTypeUrl}) create this module type automatically, but you may in some cases want or need to manually specify files to test. + > Note: In many cases, you'll let specific conftest providers (e.g. [\`conftest-container\`](${containerProviderUrl}) and [\`conftest-kubernetes\`](${kubernetesProviderUrl}) create this module type automatically, but you may in some cases want or need to manually specify files to test. See the [conftest docs](https://github.com/instrumenta/conftest) for details on how to configure policies. `, diff --git a/garden-service/src/plugins/kubernetes/config.ts b/garden-service/src/plugins/kubernetes/config.ts index 86c4025327..3a88971ca7 100644 --- a/garden-service/src/plugins/kubernetes/config.ts +++ b/garden-service/src/plugins/kubernetes/config.ts @@ -287,7 +287,7 @@ const tlsCertificateSchema = () => dedent` Set to \`cert-manager\` to configure [cert-manager](https://github.com/jetstack/cert-manager) to manage this certificate. See our - [cert-manager integration guide](https://docs.garden.io/guides/cert-manager-integration) for details. + [cert-manager integration guide](https://docs.garden.io/advanced/cert-manager-integration) for details. ` ) .allow("cert-manager") @@ -457,7 +457,7 @@ export const kubernetesConfigBase = providerConfigBaseSchema().keys({ .keys({ install: joi.bool().default(false).description(dedent` Automatically install \`cert-manager\` on initialization. See the - [cert-manager integration guide](https://docs.garden.io/guides/cert-manager-integration) for details. + [cert-manager integration guide](https://docs.garden.io/advanced/cert-manager-integration) for details. `), email: joi .string() @@ -489,7 +489,7 @@ export const kubernetesConfigBase = providerConfigBaseSchema().keys({ ) .example("HTTP-01"), }).description(dedent`cert-manager configuration, for creating and managing TLS certificates. See the - [cert-manager guide](https://docs.garden.io/guides/cert-manager-integration) for details.`), + [cert-manager guide](https://docs.garden.io/advanced/cert-manager-integration) for details.`), _systemServices: joiArray(joiIdentifier()).meta({ internal: true }), registryProxyTolerations: joiArray( joi.object().keys({ diff --git a/garden-service/src/plugins/kubernetes/kubernetes.ts b/garden-service/src/plugins/kubernetes/kubernetes.ts index 7e6f9a4259..2be5b76672 100644 --- a/garden-service/src/plugins/kubernetes/kubernetes.ts +++ b/garden-service/src/plugins/kubernetes/kubernetes.ts @@ -183,7 +183,7 @@ export const gardenPlugin = createGardenPlugin({ For usage information, please refer to the [guides section]${DOCS_BASE_URL}/guides). A good place to start is the [Remote Kubernetes guide](${DOCS_BASE_URL}/guides/remote-kubernetes) guide if you're connecting to remote clusters. - The [demo-project](${DOCS_BASE_URL}/examples/demo-project) example project and guide are also helpful as an introduction. + The [demo-project](${DOCS_BASE_URL}/example-projects/demo-project) example project and guide are also helpful as an introduction. Note that if you're using a local Kubernetes cluster (e.g. minikube or Docker Desktop), the [local-kubernetes provider](${localKubernetesUrl}) simplifies (and automates) the configuration and setup quite a bit. `, diff --git a/garden-service/src/plugins/kubernetes/local/local.ts b/garden-service/src/plugins/kubernetes/local/local.ts index c55b689591..46a515919c 100644 --- a/garden-service/src/plugins/kubernetes/local/local.ts +++ b/garden-service/src/plugins/kubernetes/local/local.ts @@ -20,7 +20,7 @@ export const gardenPlugin = createGardenPlugin({ docs: dedent` The \`local-kubernetes\` provider is a specialized version of the [\`kubernetes\` provider](${providerUrl}) that automates and simplifies working with local Kubernetes clusters. - For general Kubernetes usage information, please refer to the [guides section](${DOCS_BASE_URL}/guides). For local clusters a good place to start is the [Local Kubernetes guide](${DOCS_BASE_URL}/guides/local-kubernetes) guide. The [demo-project](${DOCS_BASE_URL}/examples/demo-project) example project and guide are also helpful as an introduction. + For general Kubernetes usage information, please refer to the [guides section](${DOCS_BASE_URL}/guides). For local clusters a good place to start is the [Local Kubernetes guide](${DOCS_BASE_URL}/guides/local-kubernetes) guide. The [demo-project](${DOCS_BASE_URL}/example-projects/demo-project) example project and guide are also helpful as an introduction. If you're working with a remote Kubernetes cluster, please refer to the [\`kubernetes\` provider](${providerUrl}) docs, and the [Remote Kubernetes guide](${DOCS_BASE_URL}/guides/remote-kubernetes) guide. `, diff --git a/garden-service/src/plugins/maven-container/maven-container.ts b/garden-service/src/plugins/maven-container/maven-container.ts index df4d7ec1de..3f75d5fa64 100644 --- a/garden-service/src/plugins/maven-container/maven-container.ts +++ b/garden-service/src/plugins/maven-container/maven-container.ts @@ -115,7 +115,7 @@ export const gardenPlugin = createGardenPlugin({ name: "maven-container", base: "container", docs: dedent` - A specialized version of the [container](https://docs.garden.io/module-types/container) module type + A specialized version of the [container](https://docs.garden.io/reference/module-types/container) module type that has special semantics for JAR files built with Maven. Rather than build the JAR inside the container (or in a multi-stage build) this plugin runs \`mvn package\` diff --git a/garden-service/static/docs/templates/template-strings.hbs b/garden-service/static/docs/templates/template-strings.hbs index fb9e677bce..d5c76c226c 100644 --- a/garden-service/static/docs/templates/template-strings.hbs +++ b/garden-service/static/docs/templates/template-strings.hbs @@ -19,7 +19,7 @@ The following keys are available in any template strings within project definiti The following keys are available in template strings under the `providers` key (or `environments[].providers) in project configs. -Providers can also reference outputs defined by other providers, via the `${providers..outputs}` key. For details on which outputs are available for a given provider, please refer to the [reference](https://docs.garden.io/providers) docs for the provider in question, and look for the _Outputs_ section. +Providers can also reference outputs defined by other providers, via the `${providers..outputs}` key. For details on which outputs are available for a given provider, please refer to the [reference](https://docs.garden.io/reference/providers) docs for the provider in question, and look for the _Outputs_ section. {{{providerContext}}} @@ -27,10 +27,10 @@ Providers can also reference outputs defined by other providers, via the `${prov The below keys are available in template strings in module configs. These include all the keys from the sections above. -Modules can reference outputs defined by providers, via the `${providers..outputs}` key. For details on which outputs are available for a given provider, please refer to the [reference](https://docs.garden.io/providers) docs for the provider in question, and look for the _Outputs_ section. +Modules can reference outputs defined by providers, via the `${providers..outputs}` key. For details on which outputs are available for a given provider, please refer to the [reference](https://docs.garden.io/reference/providers) docs for the provider in question, and look for the _Outputs_ section. Modules can also reference outputs defined by other modules, via the `${modules..outputs}` key, as well as service and task outputs via the `${runtime.services..outputs}` and `${runtime.tasks..outputs}` keys. -For details on which outputs are available for a given module type, please refer to the [reference](https://docs.garden.io/module-types) docs for the module type in question, and look for the _Outputs_ section. +For details on which outputs are available for a given module type, please refer to the [reference](https://docs.garden.io/reference/module-types) docs for the module type in question, and look for the _Outputs_ section. {{{moduleContext}}} @@ -38,9 +38,9 @@ For details on which outputs are available for a given module type, please refer The below keys are available in template strings for _project outputs_, specified in `outputs[].value` keys in project config files. These include all the keys from the sections above. -Output values can reference outputs defined by providers, via the `${providers..outputs}` key. For details on which outputs are available for a given provider, please refer to the [reference](https://docs.garden.io/providers) docs for the provider in question, and look for the _Outputs_ section. +Output values can reference outputs defined by providers, via the `${providers..outputs}` key. For details on which outputs are available for a given provider, please refer to the [reference](https://docs.garden.io/reference/providers) docs for the provider in question, and look for the _Outputs_ section. Output values may also reference outputs defined by modules, via the `${modules..outputs}` key, as well as service and task outputs via the `${runtime.services..outputs}` and `${runtime.tasks..outputs}` keys. -For details on which outputs are available for a given module type, please refer to the [reference](https://docs.garden.io/module-types) docs for the module type in question, and look for the _Outputs_ section. +For details on which outputs are available for a given module type, please refer to the [reference](https://docs.garden.io/reference/module-types) docs for the module type in question, and look for the _Outputs_ section. {{{outputContext}}} diff --git a/support/install.sh b/support/install.sh index 382c38dad6..9d736b4cc0 100755 --- a/support/install.sh +++ b/support/install.sh @@ -82,5 +82,5 @@ echo "Add the Garden CLI to your path by adding the following to your .bashrc/.z echo "" echo " export PATH=\$PATH:\$HOME/.garden/bin" echo "" -echo "Head over to our Quick Start guide for next steps: https://docs.garden.io/quick-start" +echo "Head over to our Quick Start guide for next steps: https://docs.garden.io/basics/quick-start" echo ""