# Actions

Each Garden plugins defines different "action types" that you can use with it. For example, the Kubernetes plugins support `kubernetes` and `helm` action types (among others) that you can pick, depending on your use case.

Garden projects can utilize multiple action types and you can mix and match as needed.

Below is a quick overview of the action types for the Kubernetes plugin with links to in-depth usage guides.

## Build actions

### The `container` Build action type

Use this action for building source code you then deploy with one of the Deploy actions below.

[See here](/bonsai-0.13/k8s-plugins/actions/build/container.md) for how to configure it.

## Deploy actions

### The `kubernetes` Deploy action type

Choose this action type if you already have Kubernetes manifests for some of the workloads you want to deploy and/or if you're using Kustomize.

[See here](broken://pages/Emi48MRuGjLGP6HRNwCZ) for how to configure it.

### The `helm` Deploy action type

Choose this action type if you're using Helm and have the corresponding Helm charts.

[See here](/bonsai-0.13/k8s-plugins/actions/deploy/helm.md) for an in-depth guide on using Garden with Helm.

### The `container` Deploy action type

{% hint style="warning" %}
The `container` Deploy action type can be useful for getting started quickly but has several limitations and is not suitable for production. Instead we encourage users to use the `kubernetes` or `helm` types which are a lot more flexible.
{% endhint %}

Use this action type if you want to deploy to Kubernetes but don't have the required Kubernetes manifests or Helm charts.

In this case, Garden will generate the Kubernetes manifests for you based on the action config.

[See here](/bonsai-0.13/k8s-plugins/actions/deploy/container.md) for how to use the `container` action type type with the Kubernetes plugin.

There are in fact multiple actions of type `container` that you can learn more about in [this in-depth guide](/bonsai-0.13/other-plugins/container.md).

### The `persistentvolumeclaim` and `configmap` Deploy action types

[The PersistentVolumeClaim](/bonsai-0.13/k8s-plugins/actions/deploy/persistentvolumeclaim.md) and [ConfigMap](/bonsai-0.13/k8s-plugins/actions/deploy/configmap.md) action types can be used to mount volumes and Kubernetes ConfigMaps in `container` actions.

## Run and Test actions

### The `kubernetes-pod` Test and Run action types

Choose this action type for Test and Run actions if you already have the corresponding Kubernetes manifests and want to run the test/run command in a dedicated Pod that gets cleaned up after the run.

[See here](/bonsai-0.13/k8s-plugins/actions/run-test/kubernetes-pod.md) for how to configure it.

### The `kubernetes-exec` Test and Run action types

Choose this action type for Test and Run actions if you already have Kubernetes manifests and want to run the test/run command in an already deployed Kubernetes Pod. This is faster than (potentially) waiting for an image build and for a new Pod being created and is a good choice for e.g. running tests while iterating during development.

[See here](/bonsai-0.13/k8s-plugins/actions/run-test/kubernetes-exec.md) for how to configure it.

### The `helm-pod` Test and Run action types

Choose this action type for Test and Run actions if you have the corresponding Helm charts.

[See here](/bonsai-0.13/k8s-plugins/actions/run-test/helm-pod.md) for how to configure it.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.garden.io/bonsai-0.13/k8s-plugins/actions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
