mammoth-flag-56137
11/24/2022, 12:15 AMminiature-teacher-4952
11/24/2022, 7:43 AMtall-greece-98310
11/25/2022, 5:47 PMbright-policeman-43626
11/28/2022, 5:28 AMwide-flag-41451
12/06/2022, 8:28 PMmammoth-flag-56137
12/07/2022, 12:39 AMfresh-yak-35965
12/08/2022, 5:40 PMquaint-librarian-55734
12/12/2022, 3:12 PMtype: container
name: my-test-container
services:
- name: "my-test-http"
devMode:
sync:
- source: Dockerfile
target: /Dockerfile
Then I exec into the container and verify that the Dockerfile has been mounted to /Dockerfile
Next, I modified /src/my-test-service/garden/garden.yaml like so:
type: container
name: my-test-container
services:
- name: "my-test-http"
devMode:
sync:
- source: /src/my-test-service/garden/Dockerfile
target: /Dockerfile
And after deploying again in dev mode, the /Dockerfile mount does not show up. Is this a possible regression, or is there any chance that absolute paths weren't field tested before being marked as supported?kind-france-89777
12/14/2022, 10:29 PMflat-state-47578
12/15/2022, 2:41 AMrough-kilobyte-44808
12/16/2022, 6:25 PMpurple-translator-44176
12/17/2022, 8:48 AMkind load docker-image ...
. In my current setup I have added an exec
module that does this and depends on the container
module to get the image name to load. It works, but it feels messy.
So, what are others doing? Is it possible to use the in-cluster registry with KinD and get garden to publish the images?
I want to support both Docker Desktop (default) and KinD (multi-node testing) so if using the in-cluster registry is a viable option (for KinD) I would only want to configure this for KinD ... not sure how to accomplish that when there is only a single local-kubernetes
provider configuration.
Any thoughts and advice would be much appreciated.
Thanks,
Sibored-grass-81679
12/19/2022, 5:34 PMdevMode:
sync:
- source: .
target: /app
exclude: [.vscode, .github, .husky, "node_modules", node_modules]
mode: one-way-safe
the container module is in the root folder of a remote source repository. The node modules folder is in the root of that same repository.
I get the following error in the container logs:
System limit for number of file watchers reached
The error then references many paths from the node_modules folder.best-flower-46100
12/20/2022, 10:29 AMwitty-gpu-78864
12/20/2022, 1:06 PMbored-grass-81679
12/20/2022, 4:48 PMsilly-accountant-45583
12/21/2022, 11:39 AMtemplated
module. Basically, I have setup as described further:
root-dir/
project.garden.yml
tpls/
tpl.garden.yml
modules/
# these modules are templated modules that might use root-dir/tpls/tpl.garden.yml ModuleTemplate
mdl-one/garden.yml
mdl-two/garden.yml
etc.
Modules in modules/ directory are of various types and can depend on each other. There is only one particular templated
module that cannot be properly processed, while other templated
modules work fine.
From silly logs I found that it is loaded and added twice:
{"msg":"Load module and workflow configs from /root-dir/modules/mdl-one/garden.yml","section":"","timestamp":"2022-12-21T09:10:35.620Z","level":"silly","allSections":[]}
{"msg":"Load module and workflow configs from /root-dir/modules/mdl-one/garden.yml","section":"","timestamp":"2022-12-21T09:10:35.622Z","level":"silly","allSections":[]}
{"msg":"Adding module mdl-one","section":"","timestamp":"2022-12-21T09:10:36.581Z","level":"silly","allSections":[]}
{"msg":"Adding module mdl-one","section":"","timestamp":"2022-12-21T09:10:36.583Z","level":"silly","allSections":[]}
quaint-dress-831
12/21/2022, 1:04 PMchilly-waitress-62592
12/21/2022, 2:57 PMchilly-waitress-62592
12/28/2022, 8:23 PMproject.garden.yml
I have
deploymentRegistry:
hostname: registry-hostname
namespace: my/namespace
The container module I want to know the image location/tag for has
kind: Module
type: container
name: module-name
repositoryUrl: repository-address
I'd like to be able to get the full image repository and tag. Should it be something like:
registry-hostname/my/namespace/module-name
with a tag of latest
?fresh-yak-35965
12/31/2022, 3:56 PMchilly-waitress-62592
01/03/2023, 2:50 PMcert-manager
option here: https://docs.garden.io/advanced/cert-manager-integration#enabling-and-configuring-cert-manager
Probably worth indicating in the docs that this won't be supported going forward.
I'm looking for recommendations for the least headache-inducing approach to get TLS set up. I am fine with wildcard certificates for our environment subdomain setups (currently app.domain.com
, *.dev.domain.com
, *.preview.domain.com
).
I would use the garden implementation if I didn't see the message about deprecation.busy-refrigerator-9901
01/03/2023, 3:49 PMDeployment/contact-api-pod: Error: failed to start container "contact-api-pod": Error response from daemon: error while creating mount source
path '/host/.aws': mkdir /host: file exists
. I'm trying to mount it in a service services:
- name: contact-api-pod
...
volumes:
- name: aws
hostPath: /host/.aws
containerPath: /root/.aws
and I'm running minikube mount $HOME:/host
locally to add the local file to minikube locally. Am I missing something? Thanks in advance!little-oxygen-47580
01/04/2023, 9:31 PMacoustic-laptop-79795
01/05/2023, 2:44 PMaloof-gpu-13406
01/06/2023, 6:34 PM{steps.step.log}
just outputs "Step command includes global options that will be ignored...". Nothing else in the steps object has any of the logs I'd expect from my script.
Is there any way to save or bubble stdout that happens within the Garden Exec, or do I need to just save to file from the script in question?
Thanks!chilly-waitress-62592
01/09/2023, 4:27 PMbright-policeman-43626
01/09/2023, 8:03 PMgarden deploy
is not a feasible option.
Another option that can be used is that for example; imagine we are developing service-a
and this service need some other services to work:
- service-b
- service-c
- frontend
In this case I would run garden deploy
in service-a
folder and that will reuse the other services using repositoryUrl's as modules, this will allow engineers to only deploy in their local computers the related services they are working on.
Is this approach recommended?
Is there any examples of a case like this?
Question 2:
Is there a way to make that garden works using a folder within the code repository?
For example; if we create a folder called garden-config
and store garden.yaml, project.garden.yml, modules.yml, garden.env
in there it would be possible to run garden-deploy from that folder but use the files one level above?
Does garden has a hard requirement to be at the same level of the dockerfile?
Thanks a lot β€οΈchilly-waitress-62592
01/10/2023, 4:33 PMgarden deploy --env=devGlobal
, but it would mean when a dev does garden delete environment dev
it wouldn't try to remove them.quaint-librarian-55734
01/11/2023, 4:45 PMvolume
module, but since this not supported for real kubernetes clusters, I was trying to find a more portable approach.
The use case is that we'd like to load some startup scripts for a containers from a scripts
folder in our Git repo. Right now, we are using a configmap
since mounting this as a volume will convert all of the key/values from the data
section into mounted files - however, this approach forces us to in-line our bash script as yaml text, and this prevents our linters from being able to catch bash scripting issues.
Additionally - while I know that this can also be done by specifying a custom Dockerfile which copies in files from the module build directory, we're trying to avoid the "pull image -> copy files/build new image -> republish" cycle that this causes since we have a very large number of containers that are built from a template and are working on reducing the deployment times.
Here's a reference template for what I'm trying to do:
kind: ModuleTemplate
name: service-template
inputsSchemaPath: schema.json
modules:
# We'd like to pre-load some scripts into the persistent volume created by this claim
- name: "${inputs.serviceName}-scripts-pvc"
type: persistentvolumeclaim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
- type: container
name: ${inputs.serviceName}-container
image: "${inputs.imageName}"
services:
- name: "${inputs.serviceName}-http"
command:
- bash
- /scripts/startup.sh
volumes:
- name: scripts-pvc
containerPath: "/scripts"
module: "${inputs.serviceName}-scripts-pvc"