diff --git a/CHANGELOG.md b/CHANGELOG.md index 187e4ca8fa..7676917872 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,28 @@ + +## [0.13.21](https://github.com/garden-io/garden/compare/0.13.20...0.13.21) (2023-11-24) + +### Bug Fixes + +* fix flaky test for deploy logs ([#5429](https://github.com/garden-io/garden/issues/5429)) ([22f0015b4](https://github.com/garden-io/garden/commit/22f0015b4)) +* **core:** log exec provider resolution at info level ([#5469](https://github.com/garden-io/garden/issues/5469)) ([539abf905](https://github.com/garden-io/garden/commit/539abf905)) +* **git:** fix confusing error messages on exit code 128 ([#5439](https://github.com/garden-io/garden/issues/5439)) ([2779705b6](https://github.com/garden-io/garden/commit/2779705b6)) +* **k8s:** fix paths in requests to kubernetes api ([#5476](https://github.com/garden-io/garden/issues/5476)) ([783cc66a9](https://github.com/garden-io/garden/commit/783cc66a9)) +* **k8s:** read tls-server-name correctly from kubeconfig ([#5466](https://github.com/garden-io/garden/issues/5466)) ([554d964ff](https://github.com/garden-io/garden/commit/554d964ff)) + +### Features + +* respect NO_COLOR env var ([#5451](https://github.com/garden-io/garden/issues/5451)) ([889552f87](https://github.com/garden-io/garden/commit/889552f87)) + +### Improvements + +* **core:** better action lifecycle logs ([#5428](https://github.com/garden-io/garden/issues/5428)) ([65653b92e](https://github.com/garden-io/garden/commit/65653b92e)) +* **git:** type-safety for repo path description ([#5473](https://github.com/garden-io/garden/issues/5473)) ([456fa5990](https://github.com/garden-io/garden/commit/456fa5990)) +* **logger:** some minor fixes ([#5475](https://github.com/garden-io/garden/issues/5475)) ([b1288039f](https://github.com/garden-io/garden/commit/b1288039f)) +* **logger:** use 'white' as primary color ([#5465](https://github.com/garden-io/garden/issues/5465)) ([b8e232cd9](https://github.com/garden-io/garden/commit/b8e232cd9)) +* **logger:** better provider resolution lifecycle logs ([#5464](https://github.com/garden-io/garden/issues/5464)) ([7d5557fc3](https://github.com/garden-io/garden/commit/7d5557fc3)) +* **logger:** various tweaks to log lines ([#5452](https://github.com/garden-io/garden/issues/5452)) ([11f76148b](https://github.com/garden-io/garden/commit/11f76148b)) + ## [0.13.20](https://github.com/garden-io/garden/compare/0.13.19...0.13.20) (2023-11-16) diff --git a/README.md b/README.md index 1716730cc3..a8195921b9 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,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 1637004594..c14b94dc41 100644 --- a/cli/package.json +++ b/cli/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/cli", - "version": "0.13.20", + "version": "0.13.21", "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 b676486644..574706ac1a 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/core", - "version": "0.13.20", + "version": "0.13.21", "description": "A full-featured development framework for containers and serverless", "type": "module", "repository": { @@ -276,4 +276,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 806bda9f92..c4b19a00ff 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -117,6 +117,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.20/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.21/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-ci.md b/docs/guides/using-garden-in-ci.md index 9816615ada..21e6de91f3 100644 --- a/docs/guides/using-garden-in-ci.md +++ b/docs/guides/using-garden-in-ci.md @@ -28,7 +28,7 @@ The guide uses the [Remote Kubernetes plugin](../k8s-plugins/remote-k8s/README.m ## Project overview -The project is based on our basic [demo-project](https://github.com/garden-io/garden/tree/0.13.20/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.21/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/remote-k8s/ingress-and-dns.md b/docs/k8s-plugins/remote-k8s/ingress-and-dns.md index b223273306..183fd1e20f 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.20/examples/istio) in our [examples directory](https://github.com/garden-io/garden/tree/0.13.20/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.21/examples/istio) in our [examples directory](https://github.com/garden-io/garden/tree/0.13.21/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 6d7edfc165..fb93edc396 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.20/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.21/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 5a98a0afeb..d87c1325b8 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.20/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.21/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 6f5e4a4df4..6b5e939526 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.20/examples/conftest) for a simple +See the [conftest example project](https://github.com/garden-io/garden/tree/0.13.21/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 8c7d0d900f..81a803d006 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.20/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.21/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 99e8fc333d..3c3833d893 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.20/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.21/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 75d6ecef46..1fcac443e1 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.20/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.21/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 626d24c295..d8d5add5d2 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.20/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.21/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.20/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.21/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://www.terraform.io/docs/index.html). diff --git a/docs/terraform-plugin/configure-provider.md b/docs/terraform-plugin/configure-provider.md index 7c72a27470..99cf02dd66 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.20/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.21/examples/terraform-gke): ```yaml apiVersion: garden.io/v1 diff --git a/e2e/package.json b/e2e/package.json index 779c437020..a3c46ca460 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/e2e", - "version": "0.13.20", + "version": "0.13.21", "description": "End-to-end tests for the Garden CLI", "type": "module", "repository": { diff --git a/package.json b/package.json index b152337740..c3f9f33f08 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.20", + "version": "0.13.21", "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 a5265b448f..9fd52415cb 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.20", + "version": "0.13.21", "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 e540074909..79374b1179 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.20", + "version": "0.13.21", "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 5614ec38e7..0611bb8148 100644 --- a/plugins/conftest/package.json +++ b/plugins/conftest/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/garden-conftest", - "version": "0.13.20", + "version": "0.13.21", "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 b1bfce925b..a782927dc6 100644 --- a/plugins/jib/package.json +++ b/plugins/jib/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/garden-jib", - "version": "0.13.20", + "version": "0.13.21", "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 6d00a18428..e4c5998e15 100644 --- a/plugins/pulumi/package.json +++ b/plugins/pulumi/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/garden-pulumi", - "version": "0.13.20", + "version": "0.13.21", "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 985bdae4f0..93f3244f8c 100644 --- a/plugins/terraform/package.json +++ b/plugins/terraform/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/garden-terraform", - "version": "0.13.20", + "version": "0.13.21", "description": "Terraform plugin for Garden", "type": "module", "main": "build/src/index.js", diff --git a/sdk/package.json b/sdk/package.json index aad8ce3966..95e13dbc07 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@garden-io/sdk", - "version": "0.13.20", + "version": "0.13.21", "description": "TypeScript plugin SDK for Garden", "type": "module", "repository": {