LogoLogo
Bonsai (0.13) DocsGitHubDiscord CommunityGarden Enterprise
Bonsai (0.13)
Bonsai (0.13)
  • Welcome to Garden!
  • 🌸Overview
    • How Garden Works
    • Core Concepts
    • Adopting Garden
    • Garden vs Other Tools
  • 🌳Use Cases
    • Isolated On-Demand Preview Environments
    • Fast, Portable CI Pipelines that Run Anywhere
    • Shift Testing Left
    • Local Development With Remote Clusters
    • Jumpstart your Internal Developer Platform
  • 🌻Getting Started
    • Quickstart Guide
    • Installing Garden
    • Next Steps
  • 💐Tutorials
    • Your First Project
      • 1. Create a Garden Project
      • 2. Pick a Kubernetes Plugin
      • 3. Add Actions
      • 4. Add Tests
      • 5. Code Syncing (Hot Reload)
      • 6. Next Steps
  • 🌿Using Garden
    • About
    • Configuration Overview
    • Projects
    • Dashboard
    • Actions
    • Tests
    • Runs
    • Workflows
    • Variables and templating
    • Config Templates
    • Using the CLI
    • Modules
  • Kubernetes Plugins
    • About
    • Remote K8s Plugin Configuration
      • 1. Create a Cluster
        • AWS
        • GCP
        • Azure
      • 2. Configure Container Registry
        • AWS
        • GCP
        • Azure
        • Docker Hub
      • 3. Set Up Ingress, TLS and DNS
      • 4. Configure the Provider
    • Local K8s Plugin Configuration
      • 1. Install Local Kubernetes
      • 2. Configure the Provider
    • Ephemeral K8s Plugin Configuration
      • 1. Configure the Provider
      • 2. Login to the Garden dashboard
      • 3. Configure Ingress (optional)
      • 4. Retrieve Kubeconfig (optional)
    • Actions
      • Build
        • Container
      • Deploy
        • Kubernetes
        • Helm
        • Container
        • PersistentVolumeClaim
        • ConfigMap
      • Run and Test
        • Kubernetes Pod
        • Helm Pod
        • Kubernetes Exec
        • Container
    • Guides
      • In-Cluster Building
      • Minimal RBAC Configuration for Development Clusters
      • Deploying to Production
      • Using a Registry Mirror
  • ☘️Terraform Plugin
    • About
    • Plugin Configuration
    • Actions
  • 🌹Pulumi Plugin
    • About
    • Plugin Configuration
    • Actions
  • 🌼Other Plugins
    • Container
    • Exec (local scripts)
  • 🌷Guides
    • Migrating to Bonsai
    • Migrating from Docker Compose to Garden
    • Deprecations and updating to Cedar
    • Code Synchronization
    • Connecting a local application to a Kubernetes cluster (Local Mode)
    • Environments and namespaces
    • Using Garden in CircleCI
  • 🪷Advanced
    • Using Remote Sources
    • Custom Commands
  • 🎋Reference
    • Providers
      • conftest-container
      • conftest-kubernetes
      • conftest
      • container
      • ephemeral-kubernetes
      • exec
      • hadolint
      • jib
      • kubernetes
      • local-kubernetes
      • octant
      • otel-collector
      • pulumi
      • terraform
    • Action Types
      • Build
        • container Build
        • exec Build
        • jib-container Build
      • Deploy
        • configmap Deploy
        • container Deploy
        • exec Deploy
        • helm Deploy
        • kubernetes Deploy
        • persistentvolumeclaim Deploy
        • pulumi Deploy
        • terraform Deploy
      • Run
        • container Run
        • exec Run
        • helm-pod Run
        • kubernetes-exec Run
        • kubernetes-pod Run
      • Test
        • conftest-helm Test
        • conftest Test
        • container Test
        • exec Test
        • hadolint Test
        • helm-pod Test
        • kubernetes-exec Test
        • kubernetes-pod Test
    • Template Strings
      • Project template context
      • Environment template context
      • Provider template context
      • Action (all fields) template context
      • Action spec template context
      • Module template context
      • Remote Source template context
      • Project Output template context
      • Custom Command template context
      • Workflow template context
      • Template Helper Functions
    • Commands
    • Project Configuration
    • ConfigTemplate Reference
    • RenderTemplate Reference
    • Workflow Configuration
    • Garden Containers on Docker Hub
    • Module Template Configuration
    • Module Types
      • configmap
      • conftest
      • container
      • exec
      • hadolint
      • helm
      • jib-container
      • kubernetes
      • persistentvolumeclaim
      • pulumi
      • templated
      • terraform
  • 🌸Misc
    • FAQ
    • Troubleshooting
    • Telemetry
    • New Garden Cloud Version
  • Contributing to Garden
    • Contributor Covenant Code of Conduct
    • Contributing to the Docs
    • Setting up your developer environment
    • Developing Garden
    • Config resolution
    • Graph execution
Powered by GitBook
On this page
  • I'm getting 401 auth errors on Azure.
  • I have a huge number of files in my repository and Garden is eating all my CPU/RAM.
  • I'm getting an "EPERM: operation not permitted, rename..." error on Windows.
  • When using Garden inside tmux, colors look wonky. What gives?
  • Garden hangs after resolving providers.
  • Ingress not working for helm and kubernetes modules.
  • A deployment is failing with: <release-name> has no deployed releases.
  • Files are missing from build context.
  • ErrImagePull when referencing an image from a container module in a helm module.
  • Release garden-nginx times out when using the local-kubernetes provider.
  • On Mac: "garden" cannot be opened because the developer cannot be verified.
  • Error response from daemon: experimental session with v1 builder is no longer supported, use builder version v2 (BuildKit) instead
  • Kaniko is not using image layer caches
  • Can't reach my services on existing ingress URLs after re-installing Garden system services.
  • Deploy fails with cannot convert int64 to string

Was this helpful?

  1. Misc

Troubleshooting

PreviousFAQNextTelemetry

Last updated 2 months ago

Was this helpful?

This section could (obviously) use more work. Contributions are most appreciated!

I'm getting 401 auth errors on Azure.

When running Garden commands against an Azure AKS cluster with RBAC enabled, an error like the following may appear:

Failed resolving provider Kubernetes. Here's the output:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Got error from Kubernetes API - Unauthorized

StatusCodeError from Kubernetes API - 401 -
{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Unauthorized","reason":"Unauthorized","code":401}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

This happens because Azure with uses a different authentication mechanism that the Kubernetes client library doesn't support. The solution is to use . See also this .

I have a huge number of files in my repository and Garden is eating all my CPU/RAM.

This issue often comes up on Linux, and in other scenarios where the filesystem doesn't support event-based file watching.

Thankfully, you can in most cases avoid this problem using the scan.exclude field in your project config, and/or the exclude field in your individual action and module configs. See the section in our Configuration Files guide for details.

I'm getting an "EPERM: operation not permitted, rename..." error on Windows.

This is a known issue with Windows and may affect many Node.js applications (and possibly others). To fix it, you can open the Windows Defender Security Center and either

  • a) disable Real-time protection; or

  • b) click "Add or remove exclusions" and add "$HOME\.garden" to the list of exclusions.

When using Garden inside tmux, colors look wonky. What gives?

Garden hangs after resolving providers.

Ingress not working for helm and kubernetes modules.

Pinging the service will still work, and you'll see the Ingress resource if you run kubectl get ingress --namespace <my-namspace>.

A deployment is failing with: <release-name> has no deployed releases.

Files are missing from build context.

This is likely because they're being excluded somewhere, e.g. in .gitignore or .gardenignore.

ErrImagePull when referencing an image from a container module in a helm module.

Make sure to use the outputs field from the container module being referenced.

For example:

    kind: Module
    type: helm
    name: my-module
    values:
      image:
        # Use the outputs field from the container module
        repository: ${modules.my-module-image.outputs.deployment-image-name}

Release garden-nginx times out when using the local-kubernetes provider.

This can occur if nginx is not able to bind to its default port which is port 80. Stopping the process that occupies the port should solve the issue.

You can also skip the nginx installation if you already have a separate ingress controller installed, by setting setupIngressController: null in your local-kubernetes provider configuration.

On Mac: "garden" cannot be opened because the developer cannot be verified.

If this error came up when running the garden binary from inside your ~/Downloads directory, try moving it outside the ~/Downloads directory before running it again.

If you're still getting this error, a workaround is to find the garden binary in Finder, CTRL-click it and choose Open. This should prevent this error message from coming up again.

See also: https://support.apple.com/en-gb/guide/mac-help/mh40616/mac

Error response from daemon: experimental session with v1 builder is no longer supported, use builder version v2 (BuildKit) instead

Kaniko is not using image layer caches

In some container repositories, you may need to create the cache repo manually.

Can't reach my services on existing ingress URLs after re-installing Garden system services.

This can occur if you re-install the Garden Nginx Ingress Controller. For example because you ran garden plugins kubernetes uninstall-garden-services and then garden plugins kubernetes cluster-init when upgrading the system services.

When the Ingress Controller gets re-installed, it may be assigned a new IP address by your cloud provider, meaning that hostnames pointing to the previous one will no longer work.

To fix this, run kubectl get svc -n garden-system and look for the EXTERNAL-IP of the garden-nginx-nginx-ingress-controller service and update your DNS records with this new value.

Deploy fails with cannot convert int64 to string

If a Kubernetes Deploy action fails with with a message like The request is invalid: patch: Invalid value: [...] spec:map[template:map[spec:map[]]]]": cannot convert int64 to string it might be because you're passing an integer value to an environment variable field in a Kubernetes manifest.

How the value gets passed depends on your set up but a common scenario would be something like:

# In project.garden.yml
kind: Project
name: my-project
variables:
  port: 8080 # <--- This needs to be a string if it ends up in a K8s manifest

# In my-deploy-action.garden.yml
kind: Deploy
name: my-deploy-action
type: kubernetes
spec:
  # ...
  patchResources:
    - kind: Deployment
      name: my-deploy
      patch:
        spec:
          template:
            spec:
              containers:
                - name: my-deploy
                  env:
                    name: PORT
                    value: ${var.port} # <--- Oh no, this won't work because it's an integer

You can fix this by either changing the variable to a string like so:

# In project.garden.yml
kind: Project
name: my-project
variables:
  port: "8080" # <--- Changed to string

Or by casting it to a string where it's passed to the K8s manifest via the Garden string template function like so:

# In my-deploy-action.garden.yml
kind: Deploy
name: my-deploy-action
type: kubernetes
spec:
  # ...
  patchResources:
    - kind: Deployment
      name: my-deploy
      patch:
        spec:
          template:
            spec:
              containers:
                - name: my-deploy
                  env:
                    name: PORT
                    value: ${string(var.port)} # <--- Casting to string

You need to set tmux to use 256 colors. As per the , you can do that by adding set -g default-terminal "screen-256color" or set -g default-terminal "tmux-256color" to your ~/.tmux.conf file.

This could be because Garden is scanning the project files. Make sure you exclude things like node_modules or other large vendor directories. See this .

Garden does create the ingress at the Kubernetes level. However, it does not print the ingresses with the CLI output and the Garden command call won't work. This is a .

This is a well-known . You'll need to delete the release manually with helm -n <namespace> uninstall <release-name>

There's an for a fix.

Prior to Garden 0.13.0, .gitignore files were respected by default. In Garden 0.13.0 that behaviour was changed. Now it's possible to only specify a in the .

Please check your and the .

This is a bug in Docker CE (i.e. Docker for Desktop), version 2.4.x.y. See this for a fix and more details.

See this section of our docs and this for more details.

You can learn more about Garden .

🌸
official documentation
known issue
Helm issue
open pull request
GitHub issue comment
GitHub comment
template functions here
RBAC enabled
Kubelogin
GitHub issue
Including/excluding files and directories
section of our docs
dotIgnoreFile(s) configuration
project-level file exclusions
single ".ignore" file
project-level configuration