|
1 | 1 | # DevWorkspace Operator Changelog |
| 2 | + |
| 3 | +# v0.40.0 |
| 4 | + |
| 5 | +## Features |
| 6 | + |
| 7 | +### Per-workspace backup status tracking [#1549](https://github.com/devfile/devworkspace-operator/issues/1549) |
| 8 | + |
| 9 | +The backup controller now tracks backup status individually for each DevWorkspace using annotations. When a backup job completes or fails, the following annotations are set on the DevWorkspace: |
| 10 | + |
| 11 | +- `controller.devfile.io/last-backup-time`: timestamp of the last backup attempt |
| 12 | +- `controller.devfile.io/last-backup-successful`: whether the last backup succeeded |
| 13 | + |
| 14 | +This allows the controller to determine when each workspace needs a new backup based on its own backup history rather than a global timestamp. |
| 15 | + |
| 16 | +### Restore workspace from backup [#1525](https://github.com/devfile/devworkspace-operator/issues/1525) |
| 17 | + |
| 18 | +DevWorkspaces can now be restored from a backup by setting the `controller.devfile.io/restore-workspace: 'true'` attribute. When this attribute is set, the workspace deployment includes a restore init container that pulls the backed-up `/projects` content from an OCI registry instead of cloning from Git. |
| 19 | + |
| 20 | +By default, the restore source is derived from the admin-configured registry at `<registry>/<namespace>/<workspace>:latest`. Users can optionally specify a custom source image using the `controller.devfile.io/restore-source-image` attribute. |
| 21 | + |
| 22 | +```yaml |
| 23 | +kind: DevWorkspace |
| 24 | +spec: |
| 25 | + template: |
| 26 | + attributes: |
| 27 | + controller.devfile.io/restore-workspace: 'true' |
| 28 | + # Optional: restore from a specific image instead of the default backup registry |
| 29 | + controller.devfile.io/restore-source-image: 'registry.example.com/my-backup:latest' |
| 30 | +``` |
| 31 | +
|
| 32 | +### Configurable backup job retry limit [#1579](https://github.com/devfile/devworkspace-operator/issues/1579) |
| 33 | +
|
| 34 | +Administrators can now configure the maximum number of retries for backup jobs in the DevWorkspaceOperatorConfig via the `backoffLimit` field. The default value is 3. |
| 35 | + |
| 36 | +```yaml |
| 37 | +apiVersion: controller.devfile.io/v1alpha1 |
| 38 | +kind: DevWorkspaceOperatorConfig |
| 39 | +metadata: |
| 40 | + name: devworkspace-operator-config |
| 41 | +config: |
| 42 | + workspace: |
| 43 | + backupCronJob: |
| 44 | + backoffLimit: 5 |
| 45 | +``` |
| 46 | + |
| 47 | +### Inject HOST_USERS environment variable for user namespace configuration [#1582](https://github.com/devfile/devworkspace-operator/pull/1582) |
| 48 | + |
| 49 | +When `hostUsers` is set to `false` in the workspace configuration, the `HOST_USERS=false` environment variable is now automatically injected into workspace containers. This allows container images to detect that they are running in a dedicated user namespace and adjust their behavior accordingly (for example, enabling rootless container builds with Podman). |
| 50 | + |
| 51 | +## Bug Fixes & Improvements |
| 52 | + |
| 53 | +- Sort automount configmaps and secrets to ensure deterministic ordering [#1578](https://github.com/devfile/devworkspace-operator/pull/1578) |
| 54 | +- Set owner reference for image-builder rolebindings to enable cleanup on DevWorkspace deletion [#1590](https://github.com/devfile/devworkspace-operator/pull/1590) |
| 55 | +- Fix trailing slashes in registry path causing malformed image references [#1592](https://github.com/devfile/devworkspace-operator/pull/1592) |
| 56 | +- Update Go to 1.25.7 [#1574](https://github.com/devfile/devworkspace-operator/pull/1574) |
| 57 | + |
2 | 58 | # v0.39.0 |
3 | 59 | ## Features |
4 | 60 | ### Implement backup feature for DevWorkspaces [#1524](https://github.com/devfile/devworkspace-operator/issues/1524) |
|
0 commit comments