diff --git a/CHANGELOG.md b/CHANGELOG.md index 3cede4425a..fd031e1515 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,13 @@ + +## [0.13.47](https://github.com/garden-io/garden/compare/0.13.46...0.13.47) (2024-12-12) + +### Bug Fixes + +* make sure to display the mutagen version update warning message ([#6715](https://github.com/garden-io/garden/issues/6715)) ([9d971d255](https://github.com/garden-io/garden/commit/9d971d255)) +* **template:** establish backwards bug-compatibility for kubernetes manifest files ([#6713](https://github.com/garden-io/garden/issues/6713)) ([424b39220](https://github.com/garden-io/garden/commit/424b39220)) +* **templates:** fix regression with multiple if statements introduced in 0.13.45 ([#6714](https://github.com/garden-io/garden/issues/6714)) ([7fbe71779](https://github.com/garden-io/garden/commit/7fbe71779)) + ## [0.13.46](https://github.com/garden-io/garden/compare/0.13.45...0.13.46) (2024-12-11) diff --git a/README.md b/README.md index 231162ba49..0995c25316 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ _If you love Garden, please ★ star this repository to show your support :green   •   Docs   •   - Examples + Examples   •   Blog   •   diff --git a/cli/package.json b/cli/package.json index c5480d6372..db4bd191a2 100644 --- a/cli/package.json +++ b/cli/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/cli", - "version": "0.13.46", + "version": "0.13.47", "description": "Cloud native testing platform for testing and developing container applications on Kubernetes", "type": "module", "repository": { diff --git a/core/package.json b/core/package.json index f5e7ee92b1..6e3fa8e256 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/core", - "version": "0.13.46", + "version": "0.13.47", "description": "A full-featured development framework for containers and serverless", "type": "module", "repository": { diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 59ac2e3bfb..e912203241 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -111,6 +111,6 @@ If you'd like to better understand how a Garden project is configured, we recomm through our [first project tutorial](../tutorials/your-first-project/README.md) which walks you through configuring a Garden project step-by-step. If you like to dive right in and configure your own project for Garden, we recommend referencing our [example -projects on GitHub](https://github.com/garden-io/garden/tree/0.13.46/examples) and the section of our docs title [Using Garden](../using-garden/configuration-overview.md), which covers all parts of Garden in detail. +projects on GitHub](https://github.com/garden-io/garden/tree/0.13.47/examples) and the section of our docs title [Using Garden](../using-garden/configuration-overview.md), which covers all parts of Garden in detail. If you have any questions or feedback—or just want to say hi 🙂—we encourage you to join our [Discord community](https://go.garden.io/discord)! diff --git a/docs/guides/using-garden-in-circleci.md b/docs/guides/using-garden-in-circleci.md index 53fe720b52..5c781ad730 100644 --- a/docs/guides/using-garden-in-circleci.md +++ b/docs/guides/using-garden-in-circleci.md @@ -11,7 +11,7 @@ For the purposes of this example we'll be using [CircleCI](https://circleci.com) ## Project overview -The project is based on our basic [demo-project](https://github.com/garden-io/garden/tree/0.13.46/examples/demo-project) example, but configured for multiple environments. Additionally it contains a CircleCI config file. You'll find the entire source code [here](https://github.com/garden-io/ci-demo-project). +The project is based on our basic [demo-project](https://github.com/garden-io/garden/tree/0.13.47/examples/demo-project) example, but configured for multiple environments. Additionally it contains a CircleCI config file. You'll find the entire source code [here](https://github.com/garden-io/ci-demo-project). The CI pipeline is configured so that Garden tests the project and deploys it to a **preview** environment on every pull request. Additionally, it tests the project and deploys it to a separate **staging** environment on every merge to the `main` branch. diff --git a/docs/k8s-plugins/actions/deploy/kubernetes.md b/docs/k8s-plugins/actions/deploy/kubernetes.md index 4b242aab72..752a8b1f04 100644 --- a/docs/k8s-plugins/actions/deploy/kubernetes.md +++ b/docs/k8s-plugins/actions/deploy/kubernetes.md @@ -228,7 +228,7 @@ spec: With this approach, you can add the Garden action to your project without making any changes to existing config. -Here's a [complete example project](https://github.com/garden-io/garden/tree/0.13.46/examples/k8s-deploy-patch-resources) using this approach. +Here's a [complete example project](https://github.com/garden-io/garden/tree/0.13.47/examples/k8s-deploy-patch-resources) using this approach. ### Option 2: Using Garden template strings @@ -259,7 +259,7 @@ spec: image: ${actions.build.api.outputs.deployment-image-id} # <--- Garden will resolve this to the correct image before applying the manifest ``` -Here's a [complete example](https://github.com/garden-io/garden/tree/0.13.46/examples/k8s-deploy-shared-manifests) using this approach. The downside though is that this is no longer a valid Kubernetes manifest. +Here's a [complete example](https://github.com/garden-io/garden/tree/0.13.47/examples/k8s-deploy-shared-manifests) using this approach. The downside though is that this is no longer a valid Kubernetes manifest. Similarly, if you define your manifest inline you can set the image like so: diff --git a/docs/k8s-plugins/remote-k8s/ingress-and-dns.md b/docs/k8s-plugins/remote-k8s/ingress-and-dns.md index 78a28c2fab..9a07ce4933 100644 --- a/docs/k8s-plugins/remote-k8s/ingress-and-dns.md +++ b/docs/k8s-plugins/remote-k8s/ingress-and-dns.md @@ -5,7 +5,7 @@ order: 3 # 3. Set Up Ingress, TLS and DNS -By default, Garden will not install an ingress controller for remote environments. This can be toggled by setting the [`setupIngressController` flag](../../reference/providers/kubernetes.md#providerssetupingresscontroller) to `nginx`. Alternatively, you can set up your own ingress controller, e.g. using [Traefik](https://traefik.io/), [Ambassador](https://www.getambassador.io/) or [Istio](https://istio.io/). You can find an example for [using Garden with Istio](https://github.com/garden-io/garden/tree/0.13.46/examples/istio) in our [examples directory](https://github.com/garden-io/garden/tree/0.13.46/examples). +By default, Garden will not install an ingress controller for remote environments. This can be toggled by setting the [`setupIngressController` flag](../../reference/providers/kubernetes.md#providerssetupingresscontroller) to `nginx`. Alternatively, you can set up your own ingress controller, e.g. using [Traefik](https://traefik.io/), [Ambassador](https://www.getambassador.io/) or [Istio](https://istio.io/). You can find an example for [using Garden with Istio](https://github.com/garden-io/garden/tree/0.13.47/examples/istio) in our [examples directory](https://github.com/garden-io/garden/tree/0.13.47/examples). You'll also need to point one or more DNS entries to your cluster, and configure a TLS certificate for the hostnames you will expose for ingress. diff --git a/docs/reference/action-types/Build/jib-container.md b/docs/reference/action-types/Build/jib-container.md index 85df669b1a..4f07fdf88d 100644 --- a/docs/reference/action-types/Build/jib-container.md +++ b/docs/reference/action-types/Build/jib-container.md @@ -7,7 +7,7 @@ tocTitle: "`jib-container` Build" ## Description -Extends the [container type](./container.md) to build the image with [Jib](https://github.com/GoogleContainerTools/jib). Use this to efficiently build container images for Java services. Check out the [jib example](https://github.com/garden-io/garden/tree/0.13.46/examples/jib-container) to see it in action. +Extends the [container type](./container.md) to build the image with [Jib](https://github.com/GoogleContainerTools/jib). Use this to efficiently build container images for Java services. Check out the [jib example](https://github.com/garden-io/garden/tree/0.13.47/examples/jib-container) to see it in action. The image is always built locally, directly from the source directory (see the note on that below), before shipping the container image to the right place. You can set `build.tarOnly: true` to only build the image as a tarball. diff --git a/docs/reference/module-types/jib-container.md b/docs/reference/module-types/jib-container.md index 6c37228258..04ab7fe721 100644 --- a/docs/reference/module-types/jib-container.md +++ b/docs/reference/module-types/jib-container.md @@ -11,7 +11,7 @@ Modules are deprecated and will be removed in version `0.14`. Please use [action ## Description -Extends the [container type](./container.md) to build the image with [Jib](https://github.com/GoogleContainerTools/jib). Use this to efficiently build container images for Java services. Check out the [jib example](https://github.com/garden-io/garden/tree/0.13.46/examples/jib-container) to see it in action. +Extends the [container type](./container.md) to build the image with [Jib](https://github.com/GoogleContainerTools/jib). Use this to efficiently build container images for Java services. Check out the [jib example](https://github.com/garden-io/garden/tree/0.13.47/examples/jib-container) to see it in action. The image is always built locally, directly from the source directory (see the note on that below), before shipping the container image to the right place. You can set `build.tarOnly: true` to only build the image as a tarball. diff --git a/docs/reference/providers/conftest-kubernetes.md b/docs/reference/providers/conftest-kubernetes.md index 2e5e6b1012..226f512007 100644 --- a/docs/reference/providers/conftest-kubernetes.md +++ b/docs/reference/providers/conftest-kubernetes.md @@ -14,7 +14,7 @@ Simply add this provider to your project configuration, and configure your polic reference for how to configure default policies, default namespaces, and test failure thresholds for the generated actions. -See the [conftest example project](https://github.com/garden-io/garden/tree/0.13.46/examples/conftest) for a simple +See the [conftest example project](https://github.com/garden-io/garden/tree/0.13.47/examples/conftest) for a simple usage example. Below is the full schema reference for the provider configuration. For an introduction to configuring a Garden project with providers, please look at our [configuration guide](../../using-garden/configuration-overview.md). diff --git a/docs/reference/providers/conftest.md b/docs/reference/providers/conftest.md index f8c25a548b..094e41dda3 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/open-policy-agent/conftest) and Open Policy Agent rego query files. The provider creates Test action types of the same name, which allow you to specify files to validate. -Note that, in many cases, you'll actually want to use more specific providers that can automatically configure your `conftest` actions, e.g. the [`conftest-container`](./conftest-container.md) and/or [`conftest-kubernetes`](./conftest-kubernetes.md) providers. See the [conftest example project](https://github.com/garden-io/garden/tree/0.13.46/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` actions, e.g. the [`conftest-container`](./conftest-container.md) and/or [`conftest-kubernetes`](./conftest-kubernetes.md) providers. See the [conftest example project](https://github.com/garden-io/garden/tree/0.13.47/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` actions. Simply add this provider to your project configuration, and see the [conftest action documentation](../action-types/Test/conftest.md) 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` actions. diff --git a/docs/reference/providers/hadolint.md b/docs/reference/providers/hadolint.md index 88766aeef6..7ebc27a0f9 100644 --- a/docs/reference/providers/hadolint.md +++ b/docs/reference/providers/hadolint.md @@ -11,7 +11,7 @@ This provider creates a [`hadolint`](../action-types/Test/hadolint.md) Test acti To configure `hadolint`, you can use `.hadolint.yaml` config files. For each Test, we first look for one in the relevant action's root. If none is found there, we check the project root, and if none is there we fall back to default configuration. Note that for reasons of portability, we do not fall back to global/user configuration files. -See the [hadolint docs](https://github.com/hadolint/hadolint#configure) for details on how to configure it, and the [hadolint example project](https://github.com/garden-io/garden/tree/0.13.46/examples/hadolint) for a usage example. +See the [hadolint docs](https://github.com/hadolint/hadolint#configure) for details on how to configure it, and the [hadolint example project](https://github.com/garden-io/garden/tree/0.13.47/examples/hadolint) for a usage example. Below is the full schema reference for the provider configuration. For an introduction to configuring a Garden project with providers, please look at our [configuration guide](../../using-garden/configuration-overview.md). diff --git a/docs/reference/providers/jib.md b/docs/reference/providers/jib.md index b5c6147bd0..42384433ec 100644 --- a/docs/reference/providers/jib.md +++ b/docs/reference/providers/jib.md @@ -11,7 +11,7 @@ tocTitle: "`jib`" Provides support for [Jib](https://github.com/GoogleContainerTools/jib) via the [jib action type](../action-types/Build/jib-container.md). -Use this to efficiently build container images for Java services. Check out the [jib example](https://github.com/garden-io/garden/tree/0.13.46/examples/jib-container) to see it in action. +Use this to efficiently build container images for Java services. Check out the [jib example](https://github.com/garden-io/garden/tree/0.13.47/examples/jib-container) to see it in action. Below is the full schema reference for the provider configuration. For an introduction to configuring a Garden project with providers, please look at our [configuration guide](../../using-garden/configuration-overview.md). diff --git a/docs/terraform-plugin/about.md b/docs/terraform-plugin/about.md index 3469f73ce1..6c304c19ec 100644 --- a/docs/terraform-plugin/about.md +++ b/docs/terraform-plugin/about.md @@ -15,7 +15,7 @@ Under the hood, Garden simply wraps Terraform, so there's no magic involved. Gar Terraform resources can be provisioned through the `terraform` provider when initializing Garden, or via `terraform` actions that are utilized like other actions in your stack. -The former, having a single Terraform stack for your whole project, is most helpful if other provider configurations need to reference the outputs from your Terraform stack, or if most/all of your services depend on the infrastructure provisioned in your Terraform stack. A good example of this is the [terraform-gke example](https://github.com/garden-io/garden/tree/0.13.46/examples/terraform-gke) project, which provisions a GKE cluster that the `kubernetes` provider then runs on, along with the services in the project. The drawback is that Garden doesn't currently watch for changes in those Terraform files, and you need to restart to apply new changes, or apply them manually. +The former, having a single Terraform stack for your whole project, is most helpful if other provider configurations need to reference the outputs from your Terraform stack, or if most/all of your services depend on the infrastructure provisioned in your Terraform stack. A good example of this is the [terraform-gke example](https://github.com/garden-io/garden/tree/0.13.47/examples/terraform-gke) project, which provisions a GKE cluster that the `kubernetes` provider then runs on, along with the services in the project. The drawback is that Garden doesn't currently watch for changes in those Terraform files, and you need to restart to apply new changes, or apply them manually. Using `terraform` _Deploy actions_, can be better if your other providers don't need to reference the stack outputs but other Deploy, Run and Test actions do. In this style, you can basically create small Terraform stacks that are part of your Stack Graph much like other services. A good example would be deploying a database instance, that other services in your project can then connect to. @@ -87,6 +87,6 @@ Now when you deploy a new Terraformed environment, the new backend statefile wil ## Next steps -Check out the [terraform-gke example](https://github.com/garden-io/garden/tree/0.13.46/examples/terraform-gke) project. Also take a look at the [Terraform provider reference](../reference/providers/terraform.md) and the [Terraform Deploy action type reference](../reference/action-types/Deploy/terraform.md) for details on all the configuration parameters. +Check out the [terraform-gke example](https://github.com/garden-io/garden/tree/0.13.47/examples/terraform-gke) project. Also take a look at the [Terraform provider reference](../reference/providers/terraform.md) and the [Terraform Deploy action type reference](../reference/action-types/Deploy/terraform.md) for details on all the configuration parameters. If you're having issues with Terraform itself, please refer to the [official docs](https://developer.hashicorp.com/terraform/docs). diff --git a/docs/terraform-plugin/configure-provider.md b/docs/terraform-plugin/configure-provider.md index 1a97eb7d5d..fa5e418a90 100644 --- a/docs/terraform-plugin/configure-provider.md +++ b/docs/terraform-plugin/configure-provider.md @@ -17,7 +17,7 @@ providers: ... ``` -If you'd like to apply the stack when starting Garden, and then reference the stack outputs in other providers (or actions), you need to add a couple of more flags. Here's the project config from the aforementioned [terraform-gke example](https://github.com/garden-io/garden/tree/0.13.46/examples/terraform-gke): +If you'd like to apply the stack when starting Garden, and then reference the stack outputs in other providers (or actions), you need to add a couple of more flags. Here's the project config from the aforementioned [terraform-gke example](https://github.com/garden-io/garden/tree/0.13.47/examples/terraform-gke): ```yaml apiVersion: garden.io/v1 diff --git a/docs/use-cases/jumpstart-idp.md b/docs/use-cases/jumpstart-idp.md index fcfd228487..ec92e2edfc 100644 --- a/docs/use-cases/jumpstart-idp.md +++ b/docs/use-cases/jumpstart-idp.md @@ -39,6 +39,6 @@ Join our [Discord community](https://go.garden.io/discord) 🌸 for access to Ga ## Examples -- [Remote sources example project](https://github.com/garden-io/garden/tree/0.13.46/examples/remote-sources) +- [Remote sources example project](https://github.com/garden-io/garden/tree/0.13.47/examples/remote-sources) -- [kubernetes Deploy action type example with config templates](https://github.com/garden-io/garden/tree/0.13.46/examples/k8s-deploy-config-templates) +- [kubernetes Deploy action type example with config templates](https://github.com/garden-io/garden/tree/0.13.47/examples/k8s-deploy-config-templates) diff --git a/docs/use-cases/local-development-remote-clusters.md b/docs/use-cases/local-development-remote-clusters.md index ddc309e84e..cc0d94df62 100644 --- a/docs/use-cases/local-development-remote-clusters.md +++ b/docs/use-cases/local-development-remote-clusters.md @@ -61,5 +61,5 @@ Join our [Discord community](https://go.garden.io/discord) 🌸 for access to Ga ## Examples -- [Kubernetes Deploy action example project](https://github.com/garden-io/garden/tree/0.13.46/examples/k8s-deploy-patch-resources) -- [Local mode for `kubernetes` action type](https://github.com/garden-io/garden/tree/0.13.46/examples/local-mode-k8s) +- [Kubernetes Deploy action example project](https://github.com/garden-io/garden/tree/0.13.47/examples/k8s-deploy-patch-resources) +- [Local mode for `kubernetes` action type](https://github.com/garden-io/garden/tree/0.13.47/examples/local-mode-k8s) diff --git a/docs/use-cases/on-demand-preview-envs.md b/docs/use-cases/on-demand-preview-envs.md index 93f02758fd..74a4f82058 100644 --- a/docs/use-cases/on-demand-preview-envs.md +++ b/docs/use-cases/on-demand-preview-envs.md @@ -60,4 +60,4 @@ Join our [Discord community](https://go.garden.io/discord) 🌸 for access to Ga ## Examples -- [Kubernetes Deploy action example project](https://github.com/garden-io/garden/tree/0.13.46/examples/k8s-deploy-patch-resources) +- [Kubernetes Deploy action example project](https://github.com/garden-io/garden/tree/0.13.47/examples/k8s-deploy-patch-resources) diff --git a/e2e/package.json b/e2e/package.json index 822b6b058c..91a2d6a2dc 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/e2e", - "version": "0.13.46", + "version": "0.13.47", "description": "End-to-end tests for the Garden CLI", "type": "module", "repository": { diff --git a/package.json b/package.json index 4d835abf6b..9061c5e0a1 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "type": "git", "url": "git+https://github.com/garden-io/garden.git" }, - "version": "0.13.46", + "version": "0.13.47", "author": "Garden Technologies, Inc. ", "license": "MPL-2.0", "homepage": "https://github.com/garden-io/garden", diff --git a/plugins/conftest-container/package.json b/plugins/conftest-container/package.json index dbe3cc6822..8d5774851e 100644 --- a/plugins/conftest-container/package.json +++ b/plugins/conftest-container/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/garden-conftest-container", - "version": "0.13.46", + "version": "0.13.47", "description": "Auto-generator for the conftest plugin and Garden container modules", "type": "module", "main": "build/src/index.js", diff --git a/plugins/conftest-kubernetes/package.json b/plugins/conftest-kubernetes/package.json index 5b5e66c279..fb262a9446 100644 --- a/plugins/conftest-kubernetes/package.json +++ b/plugins/conftest-kubernetes/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/garden-conftest-kubernetes", - "version": "0.13.46", + "version": "0.13.47", "description": "Auto-generator for the conftest plugin and Garden kubernetes/helm modules", "type": "module", "main": "build/src/index.js", diff --git a/plugins/conftest/package.json b/plugins/conftest/package.json index 69612f2270..5f8595e65f 100644 --- a/plugins/conftest/package.json +++ b/plugins/conftest/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/garden-conftest", - "version": "0.13.46", + "version": "0.13.47", "description": "conftest plugin for Garden", "type": "module", "main": "build/src/index.js", diff --git a/plugins/jib/package.json b/plugins/jib/package.json index 46d0c5e88f..aa2ec50f33 100644 --- a/plugins/jib/package.json +++ b/plugins/jib/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/garden-jib", - "version": "0.13.46", + "version": "0.13.47", "description": "Jib container plugin for Garden", "type": "module", "main": "build/src/index.js", diff --git a/plugins/pulumi/package.json b/plugins/pulumi/package.json index 32943ba8af..07f687031d 100644 --- a/plugins/pulumi/package.json +++ b/plugins/pulumi/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/garden-pulumi", - "version": "0.13.46", + "version": "0.13.47", "description": "Pulumi plugin for Garden", "type": "module", "main": "build/src/index.js", diff --git a/plugins/terraform/package.json b/plugins/terraform/package.json index 850dbf48ed..b661ce0809 100644 --- a/plugins/terraform/package.json +++ b/plugins/terraform/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/garden-terraform", - "version": "0.13.46", + "version": "0.13.47", "description": "Terraform plugin for Garden", "type": "module", "main": "build/src/index.js", diff --git a/sdk/package.json b/sdk/package.json index b44635fd60..906f0a8664 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/sdk", - "version": "0.13.46", + "version": "0.13.47", "description": "TypeScript plugin SDK for Garden", "type": "module", "repository": {