AutoReload functionality removed before a replacement is available
What happened? I upgraded devspace, and tried to run my existing devspace projects in version 6.1.1
Devspace tells me:
error Auto reload is not supported anymore in DevSpace version 6 and has no effect. Please update your config and use rerunning jobs instead
In the 6.0.0 release notes, it says: This functionality was removed from DevSpace and will be replaced in future by automatically reloading pipelines
I could not find any further information about reloading pipelines, so I'm not sure if these are implemented yet, and if so, how to use them to replace the old autoReload functionality
What did you expect to happen instead? I expect breaking changes to have a working replacement, and some documentation on how to achieve the same functionality using the new system
How can we reproduce the bug? (as minimally and precisely as possible)
My devspace.yaml:
version: v1beta11
images:
server:
(...)
deployments:
- name: to-devacct-cluster
kubectl:
replaceImageTags: true
kustomize: true
manifests:
- manifests/overlays/development/devspace
cmdPath: custom-kubectl-for-devspace
dev:
ports:
- imageSelector: image(server):tag(server)
forward:
- port: 8081
remotePort: 8080
- port: 2345
sync:
- imageSelector: image(server):tag(server)
localSubPath: container/server
containerPath: /app
initialSyncCompareBy: size
onUpload:
restartContainer: true
execRemote:
command: sh
args:
- -c
- "killall __debug_bin || true"
autoReload:
images:
- server
paths:
- devspace.yaml
- manifests/base/*
- manifests/overlays/development/devspace/*
- manifests/overlays/development/devspace/secrets/*
Local Environment:
- DevSpace Version: 6.1.1
- Operating System: linux
- ARCH of the OS: AMD64
Kubernetes Cluster:
- Cloud Provider: other
- Kubernetes Version: Client v1.25.1, Server v1.24.3
Anything else we need to know?
/kind bug
Hello! Thanks for reaching out.
autoReload is replaced by the run_watch pipeline function. Here's an example of adding a command that uses run_watch based on your current configuration:
commands:
- name: reload
command: |-
run_watch --path devspace.yaml \
--path manifests/base/* \
--path manifests/overlays/development/devspace/* \
--path manifests/overlays/development/devspace/secrets/* \
-- devspace dev
The you'll be able to run devspace run reload and have similar functionality as before.
You can use this from your existing devspace.yaml, but if you wish to upgrade to the v2beta1 schema, running devspace print --skip-info > devspace_v6.yaml will do a basic conversion. You may need to add back in any variable substitutions.
I hope this helps!
Thanks for the quick and informative response, I was hoping to be able to put off migrating to the new config format, but alas.
Would it be a good idea to document this somewhere a bit more visible?
We have this example, but I agree that showing a practical usage in the docs would be an improvement.
The command approach should work with the older config format, however if you're upgrading to the newer format then restartContainer flag under sync, might be preferred over run_watch.
Hello, @ComaVN !
Thanks again for bringing this issue to our attention! We appreciate your suggestion for improving the documentation and have taken the tip with us.
I will close this issue for now. If there's anything we can further support you with, please don't hesitate to contact us!