Skip to content

Commit

Permalink
chore(release): bump version to 0.12.22
Browse files Browse the repository at this point in the history
  • Loading branch information
thsig committed May 26, 2021
1 parent 8048764 commit 673099b
Show file tree
Hide file tree
Showing 27 changed files with 67 additions and 38 deletions.
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,33 @@

<a name="0.12.22"></a>
## [0.12.22](https://github.com/garden-io/garden/compare/0.12.21...0.12.22) (2021-05-26)

### Bug Fixes

* **cli:** missing version update message ([a8fa1a34](https://github.com/garden-io/garden/commit/a8fa1a34))
* **cloud:** retry streaming on network error ([93ecf062](https://github.com/garden-io/garden/commit/93ecf062))
* **core:** catch EPIPE error when closing port proxies ([bdb00854](https://github.com/garden-io/garden/commit/bdb00854))
* **core:** ensure pod runner throws when container is OOMKilled ([9dd044a3](https://github.com/garden-io/garden/commit/9dd044a3))
* **k8s:** timeout/OOM error when pulling large image to local docker ([d92ed5f7](https://github.com/garden-io/garden/commit/d92ed5f7))
* **k8s:** unnecessary socat sidecar being deployed with BuildKit ([e4f22def](https://github.com/garden-io/garden/commit/e4f22def))
* **k8s:** errors in cleanup-cluster-registry command ([e17d9362](https://github.com/garden-io/garden/commit/e17d9362))
* **k8s:** automatic retry for failed API requests ([72165da7](https://github.com/garden-io/garden/commit/72165da7))

### Features

* **config:** add version key to runtime.* template context ([1c647414](https://github.com/garden-io/garden/commit/1c647414))
* **container:** custom min/max resources ([2c6353bc](https://github.com/garden-io/garden/commit/2c6353bc))
* **k8s:** resolve template strings in kubernetes module manifest files ([07a7fd83](https://github.com/garden-io/garden/commit/07a7fd83))
* **k8s:** add exec to kubernetes and helm modules ([ea11bb6a](https://github.com/garden-io/garden/commit/ea11bb6a))
* **template:** add timeout definitions for container module healthcheck ([d716c9ad](https://github.com/garden-io/garden/commit/d716c9ad))

### Improvements

* **core:** better alignment for logs command ([80487643](https://github.com/garden-io/garden/commit/80487643))
* **core:** better logs command ([3778d238](https://github.com/garden-io/garden/commit/3778d238))
* **exec:** show test and task logs when log level is verbose ([9fd19afe](https://github.com/garden-io/garden/commit/9fd19afe))
* **k8s:** get rid of NFS when using kaniko build mode ([143e5372](https://github.com/garden-io/garden/commit/143e5372))

<a name="0.12.21"></a>
## [0.12.21](https://github.com/garden-io/garden/compare/0.12.20...0.12.21) (2021-04-26)

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Users typically implement Garden for one or more of the following:
- **Namespaced environments on demand:** Any developer can spin up (and tear down) a namespaced environment in a shared cluster without help from DevOps, or an environment can be created by CI on every pull request.
- **Stack-aware builds and testing with result caching:** Garden is aware of the relationships between the services in your stack, and so instead of building an entire application or running a full suite of integration tests every time, Garden will only build or test what’s necessary based on what’s been changed. These build and test results are cached and can be shared across developers on a team. The result: much faster builds and test runs, which means faster feedback loops for developers.
- **Shared development clusters with fast in-cluster building:** Build images in your Kubernetes development cluster, thus eliminating the need for local Kubernetes clusters (in other words, no Docker or Kubernetes on your local machine).
- **Define [tasks](https://github.com/garden-io/garden/tree/0.12.21/examples/tasks)** that run as part of your deployment process—e.g. database migrations or scaffolding.
- **Define [tasks](https://github.com/garden-io/garden/tree/0.12.22/examples/tasks)** that run as part of your deployment process—e.g. database migrations or scaffolding.
- **[Remote sources (multi-repository) support:](https://docs.garden.io/advanced/using-remote-sources)** Garden allows your project to automatically pull code from different repositories.
- **Hardware and platform flexibility:** Run Garden on-prem or in one of several supported cloud providers. Build, test, and deploy Docker containers, [Helm charts](https://docs.garden.io/guides/using-helm-charts), and more. Choose from a variety of Kubernetes platforms and CI tools.
- **Terraform integration:** Garden includes a [Terraform provider](https://docs.garden.io/advanced/terraform) that you can use to automatically validate and provision infrastructure as part of your project.
Expand Down
2 changes: 1 addition & 1 deletion cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@garden-io/cli",
"version": "0.12.21",
"version": "0.12.22",
"description": "Cloud native testing platform for testing and developing container applications on Kubernetes",
"repository": {
"type": "git",
Expand Down
4 changes: 2 additions & 2 deletions core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@garden-io/core",
"version": "0.12.21",
"version": "0.12.22",
"description": "A full-featured development framework for containers and serverless",
"repository": {
"type": "git",
Expand Down Expand Up @@ -263,4 +263,4 @@
]
},
"gitHead": "b0647221a4d2ff06952bae58000b104215aed922"
}
}
2 changes: 1 addition & 1 deletion dashboard/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@garden-io/dashboard",
"version": "0.12.21",
"version": "0.12.22",
"private": true,
"devDependencies": {
"@garden-io/cli": "*",
Expand Down
6 changes: 3 additions & 3 deletions docs/advanced/terraform.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Under the hood, Garden simply wraps Terraform, so there's no magic involved. Gar

The `terraform` provider can both provision a Terraform stack when initializing Garden, or through `terraform` modules that are deployed like other services 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.12.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.
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.12.22/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 latter method, using one or more `terraform` _modules_, can be better if your other providers don't need to reference the stack outputs but your _services, tasks and tests_ 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.

Expand All @@ -29,7 +29,7 @@ providers:
...
```

If you'd like to apply the stack when starting Garden, and then reference the stack outputs in other providers (or modules), 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.12.21/examples/terraform-gke):
If you'd like to apply the stack when starting Garden, and then reference the stack outputs in other providers (or modules), 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.12.22/examples/terraform-gke):

```yaml
kind: Project
Expand Down Expand Up @@ -104,6 +104,6 @@ Much like other modules, you can also reference Terraform definitions in other r

## Next steps

Check out the [terraform-gke example](https://github.com/garden-io/garden/tree/0.12.21/examples/terraform-gke) project. Also take a look at the [Terraform provider reference](../reference/providers/terraform.md) and the [Terraform module type reference](../reference/module-types/terraform.md) for details on all the configuration parameters.
Check out the [terraform-gke example](https://github.com/garden-io/garden/tree/0.12.22/examples/terraform-gke) project. Also take a look at the [Terraform provider reference](../reference/providers/terraform.md) and the [Terraform module type reference](../reference/module-types/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).
2 changes: 1 addition & 1 deletion docs/advanced/using-remote-sources.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ You can import **two** types of remote repositories with Garden:
> **Remote _module_**: The source code for a single Garden module. In this case, the `garden.yml` config file is stored in the main project repository while the module code itself is in the remote repository.
The code examples below are from our [remote sources example](https://github.com/garden-io/garden/tree/0.12.21/examples/remote-sources).
The code examples below are from our [remote sources example](https://github.com/garden-io/garden/tree/0.12.22/examples/remote-sources).

## Importing Remote Repositories

Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/5-configure-your-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Garden is a powerful and flexible tool, and there are several things to learn al

1. Place the project configuration you created for the example, which will be all set to connect to your cluster, in your own project root.
2. Go through the [Using Garden](../using-garden/README.md) documentation section. This will cover all the key concepts, and introduce all the moving parts, including the different module types that Garden supports.
3. Have a look at the [examples](https://github.com/garden-io/garden/tree/0.12.21/examples) folder in the Garden repository, which offers several usage examples that you can refer to while building out your project.
3. Have a look at the [examples](https://github.com/garden-io/garden/tree/0.12.22/examples) folder in the Garden repository, which offers several usage examples that you can refer to while building out your project.
4. Set up your modules, getting them building and deploying, **one at a time**.
5. Make sure your whole project builds and deploys successfully.
6. Start thinking about tests. Garden excels at managing all the different test suites in your stack, especially integration and end-to-end tests that need to run inside your deployment environment.
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/cloud-provider-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Run `garden --env=remote plugins kubernetes cluster-init`, then `garden dev --en

### Optional: Use in-cluster building with GCR and Kaniko

Take a look at the [gke example project](https://github.com/garden-io/garden/tree/0.12.21/examples/gke)) to see the additional steps required to set up in-cluster building on GKE with Kaniko and GCR as a deployment registry.
Take a look at the [gke example project](https://github.com/garden-io/garden/tree/0.12.22/examples/gke)) to see the additional steps required to set up in-cluster building on GKE with Kaniko and GCR as a deployment registry.

### Optional: Configure DNS

Expand Down
4 changes: 2 additions & 2 deletions docs/guides/container-modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ If you specify a tag as well, for example `image: my-org/my-container:v1.2.3`, t

In the case of Kubernetes, Garden will take the simplified `container` service specification and convert it to the corresponding Kubernetes manifests, i.e. Deployment, Service and (if applicable) Ingress resources.

Here, for example, is the spec for the `frontend` service in our example [demo project](https://github.com/garden-io/garden/tree/0.12.21/examples/demo-project):
Here, for example, is the spec for the `frontend` service in our example [demo project](https://github.com/garden-io/garden/tree/0.12.22/examples/demo-project):

```yaml
kind: Module
Expand Down Expand Up @@ -158,7 +158,7 @@ kubectl --namespace <my-app-namespace> create secret generic --from-literal=some

Where `<my-app-namespace>` is your project namespace (which is either set with `namespace` in your provider config, or defaults to your project name). There are notably other, more secure ways to create secrets via `kubectl`. Please refer to the offical [Kubernetes Secrets docs](https://kubernetes.io/docs/concepts/configuration/secret/#creating-a-secret-using-kubectl-create-secret) for details.

Also check out the [Kubernetes Secrets example project](https://github.com/garden-io/garden/tree/0.12.21/examples/kubernetes-secrets) for a working example.
Also check out the [Kubernetes Secrets example project](https://github.com/garden-io/garden/tree/0.12.22/examples/kubernetes-secrets) for a working example.

## Running tests

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/remote-kubernetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ to your registry's documentation on how to do that (for Docker Hub you simply ru

### 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 examples for [using Garden with Ambassador](https://github.com/garden-io/garden/tree/0.12.21/examples/ambassador) and [with Istio](https://github.com/garden-io/garden/tree/0.12.21/examples/istio) in our [examples directory](https://github.com/garden-io/garden/tree/0.12.21/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 examples for [using Garden with Ambassador](https://github.com/garden-io/garden/tree/0.12.22/examples/ambassador) and [with Istio](https://github.com/garden-io/garden/tree/0.12.22/examples/istio) in our [examples directory](https://github.com/garden-io/garden/tree/0.12.22/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.
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/using-garden-in-ci.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ The guide is based on the [Remote Kubernetes](https://docs.garden.io/guides/remo

## Project overview

The project is based on our basic [demo-project](https://github.com/garden-io/garden/tree/0.12.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 project is based on our basic [demo-project](https://github.com/garden-io/garden/tree/0.12.22/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 in 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 `master` branch.

Expand Down
8 changes: 4 additions & 4 deletions docs/guides/using-helm-charts.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

The [Helm](https://helm.sh/) package manager is one of the most commonly used tools for managing Kubernetes manifests. Garden supports using your own Helm charts, alongside your container modules, via the `kubernetes` and `local-kubernetes` providers. This guide shows you how to configure and use 3rd-party (or otherwise external) Helm charts, as well as your own charts in your Garden project. We also go through how to set up tests, tasks and hot-reloading for your charts.

In this guide we'll be using the [vote-helm](https://github.com/garden-io/garden/tree/0.12.21/examples/vote-helm) project. If you prefer to just check out a complete example, the project itself is also a good resource.
In this guide we'll be using the [vote-helm](https://github.com/garden-io/garden/tree/0.12.22/examples/vote-helm) project. If you prefer to just check out a complete example, the project itself is also a good resource.

You may also want to check out the full [helm module reference](../reference/module-types/helm.md).

_Note: If you only need a way to deploy some Kubernetes manifests and don't need all the features of Helm, you can_
_use the simpler `kubernetes` module type instead. Check out the_
_[kubernetes-module](https://github.com/garden-io/garden/tree/0.12.21/examples/kubernetes-module) example for more info._
_[kubernetes-module](https://github.com/garden-io/garden/tree/0.12.22/examples/kubernetes-module) example for more info._

## Basics

Expand Down Expand Up @@ -304,7 +304,7 @@ You can define a remote environment as a `production` environment by setting the

## Next steps

Check out the full [helm module reference](../reference/module-types/helm.md) for more details, and the [vote-helm](https://github.com/garden-io/garden/tree/0.12.21/examples/vote-helm) example project for a full project that showcases Garden's Helm support.
Check out the full [helm module reference](../reference/module-types/helm.md) for more details, and the [vote-helm](https://github.com/garden-io/garden/tree/0.12.22/examples/vote-helm) example project for a full project that showcases Garden's Helm support.

Also check out the [kubernetes-module](https://github.com/garden-io/garden/tree/0.12.21/examples/kubernetes-module)
Also check out the [kubernetes-module](https://github.com/garden-io/garden/tree/0.12.22/examples/kubernetes-module)
example for a simpler alternative, if you don't need all the features of Helm.
Loading

0 comments on commit 673099b

Please sign in to comment.