New Features
- DevSpace will now replace '#' in image tags with random characters, which gives you more freedom to specify image tags with random components (#1188):
images:
app:
tags:
# Each single hashtag will be replaced with a random character
- my-###-latest
- ${DEVSPACE_GIT_BRANCH}-#####
- ${USER}-#####
- '############'
- DevSpace now allows you to specify
tag(registry/repo/image)
andimage(registry/repo/image)
in helm values to only insert a tag or the image name without any modification. This is useful for helm charts that split image and tag (#1188):
images:
default:
image: registry/repo/image
tags:
- random-#####
deployments:
- name: my-deployment
helm:
chart: ...
values:
# Will be replaced by devspace to -> imageWithTag: registry/repo/image:random-xAhgW
imageWithTag: registry/repo/image
# Will be replaced by devspace to -> image: registry/repo/image
image: image(registry/repo/image)
# Will be replaced by devspace to -> tag: random-xAhgW
tag: tag(registry/repo/image)
- New
dev.logs.selectors
option that allows you to specify additional label selectors to select pods you want to stream logs from:
images:
default:
image: registry/repo/image
dev:
logs:
images:
# Selects all pods that use the image default (registry/repo/image)
- default
selectors:
# Selects all pods with the given label selector and streams the logs to the console
- labelSelector:
abc: def
containerName: optional
namespace: optional
- Hooks can now be executed in a container by specifying
hooks.*.where.container
:
...
hooks:
- command: "echo"
args: ["Hello from within the container!"]
where:
container:
imageName: default
# Or select via labelSelector etc.
# labelSelector: ...
when:
after:
deployments: my-deployment
...
- Hooks for images can now be specified for specific images instead of only "all":
images:
image-1:
image: registry/repo/image
image-2:
image: registry/repo/image
hooks:
- command: "echo"
args: ["before", "all"]
when:
before:
images: all
- command: "echo"
args: ["before", "image-1"]
when:
before:
images: image-1
- command: "echo"
args: ["before", "image-2"]
when:
before:
images: image-2
- New flags
--container
,--pod
,--label-selector
and--pick
for commanddevspace restart
- New config option
hooks.*.background
andhooks.*.silent
to execute hooks without output or in the background - New config options
images.*.build.kaniko.annotations
&images.*.build.kaniko.labels
to specify extra labels and annotations for the kaniko build pod (#1265) - New config option
images.*.restartHelperPath
to override the bundled restart helper with a custom script - New config option
images.*.build.docker.useCli
to configure DevSpace to use the docker cli directly
Other Changes
- log streaming was greatly improved and should now automatically reconnect and recognize new upcoming pods that match the specified selectors. (#1149)
- The sync output is now merged by default with the log output to make it clearer what DevSpace is doing in the background. You can disable this new behaviour and restore the old by specifying
dev.logs.sync: false
in thedevspace.yaml
- Improved the way DevSpace will select pods and containers for sync, port-forwarding and terminal
- Updated the internal kubectl and helm versions that will be downloaded if there couldn't be any found in the PATH.
- Fixed an issue where
dev.autoReload.deployments
would not correctly watch for changes to manifest folders and values files (#1255) - Fixed an issue where
devspace init
would create a failingdevspace.yaml
if the Dockerfile was missing ENTRYPOINT and CMD (#1252) - Fixed an issue where switching the profile would not redeploy, if it was deployed before with another profile
- Fixed an issue on older windows systems where the terminal output was corrupted.
- Fixed an issue where some
.dockerignore
statements were not correctly working with kaniko builder - Fixed an issue where devspace would not correctly rebuild in some cases
- Fixed an issue where created image pull secrets could have a name that was too long