Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,41 @@
# DevWorkspace Operator Changelog

# v0.37.0
## Features
### Add hostUsers field to DWOC [#1493](https://github.com/devfile/devworkspace-operator/issues/1493)
The DevWorkspace pod's `spec.hostUsers` field can now be set in the DevWorkspaceOperatorConfig:
```
apiVersion: controller.devfile.io/v1alpha1
kind: DevWorkspaceOperatorConfig
metadata:
name: devworkspace-operator-config
config:
workspace:
hostUsers: false
```
Setting the `spec.hostUsers` field to `false` is useful when leveraging user-namespaces for pods.

**Note:** This field is only respected when the UserNamespacesSupport feature is enabled in the cluster. If the feature is disabled, setting hostUsers: false may lead to an endless workspace start loop.

### Provide timeout for postStart events [#1496](https://github.com/devfile/devworkspace-operator/issues/1496)
A timeout can now be configured for postStart events to prevent workspace pods from being stuck in a terminating state:
```
apiVersion: controller.devfile.io/v1alpha1
kind: DevWorkspaceOperatorConfig
metadata:
name: devworkspace-operator-config
config:
workspace:
postStartTimeout: 30
```
By default, this timeout is disabled.

## Bug Fixes & Improvements
- Add E2E test to verify that DevWorkspace contents are persisted during restarts [#1467](https://github.com/devfile/devworkspace-operator/issues/1467)
- make run fails on m4 MacBook [#1494](https://github.com/devfile/devworkspace-operator/issues/1494)
- Upgrade Go toolchain to 1.24.6 [#1509](https://github.com/devfile/devworkspace-operator/issues/1509)
- Remove group writable permissions from container images [#1516](https://github.com/devfile/devworkspace-operator/issues/1516)

# v0.36.0
## Bug Fixes & Improvements
### Remove `kube-rbac-proxy` from the controller Deployment [#1437](https://github.com/devfile/devworkspace-operator/pull/1437)
Expand Down
10 changes: 5 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ ifndef VERBOSE
endif

export NAMESPACE ?= devworkspace-controller
export DWO_IMG ?= quay.io/devfile/devworkspace-controller:next
export DWO_BUNDLE_IMG ?= quay.io/devfile/devworkspace-operator-bundle:next
export DWO_INDEX_IMG ?= quay.io/devfile/devworkspace-operator-index:next
export PROJECT_CLONE_IMG ?= quay.io/devfile/project-clone:next
export DWO_IMG ?= quay.io/devfile/devworkspace-controller:v0.37.1
export DWO_BUNDLE_IMG ?= quay.io/devfile/devworkspace-operator-bundle:v0.37.1
export DWO_INDEX_IMG ?= quay.io/devfile/devworkspace-operator-index:release
export PROJECT_CLONE_IMG ?= quay.io/devfile/project-clone:v0.37.1
export PULL_POLICY ?= Always
export DEFAULT_ROUTING ?= basic
export KUBECONFIG ?= ${HOME}/.kube/config
Expand Down Expand Up @@ -192,7 +192,7 @@ docker-build:
### docker-push: Pushes the controller image
docker-push:
ifneq ($(INITIATOR),CI)
ifeq ($(DWO_IMG),quay.io/devfile/devworkspace-controller:next)
ifeq ($(DWO_IMG),quay.io/devfile/devworkspace-controller:v0.37.1)
@echo -n "Are you sure you want to push $(DWO_IMG)? [y/N] " && read ans && [ $${ans:-N} = y ]
endif
endif
Expand Down
8 changes: 4 additions & 4 deletions build/scripts/generate_deployment.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,12 @@ Arguments:
Controller (and webhook) image to use for the default deployment.
Used only when '--use-defaults' is passed; otherwise, the value of
the DWO_IMG environment variable is used. If unspecified, the default
value of 'quay.io/devfile/devworkspace-controller:next' is used
value of 'quay.io/devfile/devworkspace-controller:v0.37.1' is used
--project-clone-image
Image to use for the project clone init container. Used only when
'--use-defaults' is passed; otherwise, the value of the PROJECT_CLONE_IMG
environment variable is used. If unspecifed, the default value of
'quay.io/devfile/project-clone:next' is used.
'quay.io/devfile/project-clone:v0.37.1' is used.
--split-yaml
Parse output file combined.yaml into a yaml file for each record
in combined yaml. Files are output to the 'objects' subdirectory
Expand Down Expand Up @@ -116,8 +116,8 @@ done
if $USE_DEFAULT_ENV; then
echo "Using defaults for environment variables"
export NAMESPACE=devworkspace-controller
export DWO_IMG=${DEFAULT_DWO_IMG:-"quay.io/devfile/devworkspace-controller:next"}
export PROJECT_CLONE_IMG=${PROJECT_CLONE_IMG:-"quay.io/devfile/project-clone:next"}
export DWO_IMG=${DEFAULT_DWO_IMG:-"quay.io/devfile/devworkspace-controller:v0.37.1"}
export PROJECT_CLONE_IMG=${PROJECT_CLONE_IMG:-"quay.io/devfile/project-clone:v0.37.1"}
export PULL_POLICY=Always
export DEFAULT_ROUTING=basic
export DEVWORKSPACE_API_VERSION=a6ec0a38307b63a29fad2eea945cc69bee97a683
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions deploy/deployment/kubernetes/combined.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions deploy/deployment/openshift/combined.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 5 additions & 4 deletions deploy/templates/components/csv/clusterserviceversion.yaml

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions olm-catalog/release-digest/channel.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,5 @@ entries:
- name: devworkspace-operator.v0.36.0
replaces: devworkspace-operator.v0.35.1
skipRange: '>=0.35.0 <0.35.1'
- name: devworkspace-operator.v0.37.0
replaces: devworkspace-operator.v0.36.0

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions olm-catalog/release/channel.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,5 @@ entries:
- name: devworkspace-operator.v0.36.0
replaces: devworkspace-operator.v0.35.1
skipRange: '>=0.35.0 <0.35.1'
- name: devworkspace-operator.v0.37.0
replaces: devworkspace-operator.v0.36.0
82 changes: 82 additions & 0 deletions olm-catalog/release/devworkspace-operator.v0.37.0.bundle.yaml

Large diffs are not rendered by default.

7 changes: 0 additions & 7 deletions pkg/library/status/check.go
Original file line number Diff line number Diff line change
Expand Up @@ -251,13 +251,6 @@ func CheckContainerStatusForFailure(containerStatus *corev1.ContainerStatus, ign
}

if containerStatus.State.Terminated != nil {
// Check if termination was due to a generic error, which might include postStart issues
// if the container failed to run.
if containerStatus.State.Terminated.Reason == "Error" || containerStatus.State.Terminated.Reason == "ContainerCannotRun" {
return checkIfUnrecoverableEventIgnored(containerStatus.State.Terminated.Reason, ignoredEvents),
fmt.Sprintf("%s: %s", containerStatus.State.Terminated.Reason, containerStatus.State.Terminated.Message)
}
// Check against other generic failure reasons for terminated state
for _, failureReason := range containerFailureStateReasons {
if containerStatus.State.Terminated.Reason == failureReason {
return checkIfUnrecoverableEventIgnored(containerStatus.State.Terminated.Reason, ignoredEvents),
Expand Down
2 changes: 1 addition & 1 deletion version/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ package version

var (
// Version is the operator version
Version = "v0.37.0-dev"
Version = "v0.37.1"
// Commit is the commit hash corresponding to the code that was built. Can be suffixed with `-dirty`
Commit string = "unknown"
// BuildTime is the time of build of the binary
Expand Down