Skip to content

Backup CronJob should use DevWorkspaceOperatorConfig imagePullPolicy #1637

@rohanKanojia

Description

@rohanKanojia

Description

The backup CronJob controller hardcodes imagePullPolicy: Always on the backup container in createBackupJob (controllers/backupcronjob/backupcronjob_controller.go). It does not use config.workspace.imagePullPolicy from DevWorkspaceOperatorConfig, unlike other workspace-related auxiliary containers.

During backup load tests, backup Jobs can fail with registry rate limiting when many Jobs pull the same image on every run:

Failed to pull image "registry.redhat.io/devworkspace/devworkspace-project-backup-rhel9@sha256:...": pull QPS exceeded
Warning  Failed  kubelet  Error: ErrImagePull

Acceptance criteria

  • Backup Job container imagePullPolicy is taken from resolved DevWorkspaceOperatorConfig config.workspace.imagePullPolicy.
  • When the field is unset, behavior matches the operator default (Always).
  • Unit test verifies backup Job spec reflects a non-default imagePullPolicy (e.g. IfNotPresent).
  • Documented or verified that setting IfNotPresent reduces repeated pulls and mitigates registry QPS limits under backup load.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions