diff --git a/CHANGELOG.md b/CHANGELOG.md
index e47c1a49a0..7df71e12a6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,16 @@
+
+## [0.13.41](https://github.com/garden-io/garden/compare/0.13.40...0.13.41) (2024-09-26)
+
+### Bug Fixes
+
+* **core:** avoid crash when using `copyFrom` together with symlinks ([#6485](https://github.com/garden-io/garden/issues/6485)) ([a7f0420ec](https://github.com/garden-io/garden/commit/a7f0420ec))
+* **sync:** use right arch of `mutagen-agent` binary in `k8s-sync` image ([#6465](https://github.com/garden-io/garden/issues/6465)) ([66e5a7530](https://github.com/garden-io/garden/commit/66e5a7530))
+
+### Performance Improvements
+
+* **git:** avoid unnecessary file hashing while config files detection ([#6461](https://github.com/garden-io/garden/issues/6461)) ([a786a5047](https://github.com/garden-io/garden/commit/a786a5047))
+
## [0.13.40](https://github.com/garden-io/garden/compare/0.13.39...0.13.40) (2024-09-18)
diff --git a/README.md b/README.md
index d9cbd6d7d8..bc4cdbfb81 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 254173650e..864e397f82 100644
--- a/cli/package.json
+++ b/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@garden-io/cli",
- "version": "0.13.40",
+ "version": "0.13.41",
"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 b494c89560..ba94db3e3e 100644
--- a/core/package.json
+++ b/core/package.json
@@ -1,6 +1,6 @@
{
"name": "@garden-io/core",
- "version": "0.13.40",
+ "version": "0.13.41",
"description": "A full-featured development framework for containers and serverless",
"type": "module",
"repository": {
@@ -274,4 +274,4 @@
"fsevents": "^2.3.3"
},
"gitHead": "b0647221a4d2ff06952bae58000b104215aed922"
-}
+}
\ No newline at end of file
diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md
index d0258518f9..250866fbbb 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.40/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.41/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 bbc0dc7b35..9dfb924e0a 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.40/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.41/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 84f4da5ecf..249e90511c 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.40/examples/k8s-deploy-patch-resources) using this approach.
+Here's a [complete example project](https://github.com/garden-io/garden/tree/0.13.41/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.40/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.41/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 751387fcde..642e741e01 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.40/examples/istio) in our [examples directory](https://github.com/garden-io/garden/tree/0.13.40/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.41/examples/istio) in our [examples directory](https://github.com/garden-io/garden/tree/0.13.41/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 4af11fd64e..468e227ac8 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.40/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.41/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 50e3ab3553..380d9f92b2 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.40/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.41/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 92402751c3..f5f5d31dcf 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.40/examples/conftest) for a simple
+See the [conftest example project](https://github.com/garden-io/garden/tree/0.13.41/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 2668f42c2b..1c99b2e41c 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.40/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.41/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 ece7afe111..74f66b4d85 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.40/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.41/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 0207aaa418..f04e5a5a51 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.40/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.41/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 d3c46085da..4485653323 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.40/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.41/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.40/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.41/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 d6ec78828a..21a7de86e7 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.40/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.41/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 a2842a6ea2..46484b6bf8 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.40/examples/remote-sources)
+- [Remote sources example project](https://github.com/garden-io/garden/tree/0.13.41/examples/remote-sources)
-- [kubernetes Deploy action type example with config templates](https://github.com/garden-io/garden/tree/0.13.40/examples/k8s-deploy-config-templates)
+- [kubernetes Deploy action type example with config templates](https://github.com/garden-io/garden/tree/0.13.41/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 0c8d1bc936..36fd34bf17 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.40/examples/k8s-deploy-patch-resources)
-- [Local mode for `kubernetes` action type](https://github.com/garden-io/garden/tree/0.13.40/examples/local-mode-k8s)
+- [Kubernetes Deploy action example project](https://github.com/garden-io/garden/tree/0.13.41/examples/k8s-deploy-patch-resources)
+- [Local mode for `kubernetes` action type](https://github.com/garden-io/garden/tree/0.13.41/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 59a8fb7184..974d5aaea4 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.40/examples/k8s-deploy-patch-resources)
+- [Kubernetes Deploy action example project](https://github.com/garden-io/garden/tree/0.13.41/examples/k8s-deploy-patch-resources)
diff --git a/e2e/package.json b/e2e/package.json
index 017976292b..f7ef1f3b4f 100644
--- a/e2e/package.json
+++ b/e2e/package.json
@@ -1,6 +1,6 @@
{
"name": "@garden-io/e2e",
- "version": "0.13.40",
+ "version": "0.13.41",
"description": "End-to-end tests for the Garden CLI",
"type": "module",
"repository": {
diff --git a/package.json b/package.json
index ed1e6aaae1..3222e4b0ff 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.40",
+ "version": "0.13.41",
"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 4420557443..e697770b27 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.40",
+ "version": "0.13.41",
"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 b0a3355910..f897662cc0 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.40",
+ "version": "0.13.41",
"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 3284587d25..6859d29c5b 100644
--- a/plugins/conftest/package.json
+++ b/plugins/conftest/package.json
@@ -1,6 +1,6 @@
{
"name": "@garden-io/garden-conftest",
- "version": "0.13.40",
+ "version": "0.13.41",
"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 d6cc5b4cb3..790f8bdc63 100644
--- a/plugins/jib/package.json
+++ b/plugins/jib/package.json
@@ -1,6 +1,6 @@
{
"name": "@garden-io/garden-jib",
- "version": "0.13.40",
+ "version": "0.13.41",
"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 10bdb3da99..2d52cb0eb0 100644
--- a/plugins/pulumi/package.json
+++ b/plugins/pulumi/package.json
@@ -1,6 +1,6 @@
{
"name": "@garden-io/garden-pulumi",
- "version": "0.13.40",
+ "version": "0.13.41",
"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 55ae81f6d6..b67adaba07 100644
--- a/plugins/terraform/package.json
+++ b/plugins/terraform/package.json
@@ -1,6 +1,6 @@
{
"name": "@garden-io/garden-terraform",
- "version": "0.13.40",
+ "version": "0.13.41",
"description": "Terraform plugin for Garden",
"type": "module",
"main": "build/src/index.js",
diff --git a/sdk/package.json b/sdk/package.json
index ce2a122af4..ff155f19a1 100644
--- a/sdk/package.json
+++ b/sdk/package.json
@@ -1,6 +1,6 @@
{
"name": "@garden-io/sdk",
- "version": "0.13.40",
+ "version": "0.13.41",
"description": "TypeScript plugin SDK for Garden",
"type": "module",
"repository": {