Skip to content

OADP-4817, OADP-1945, OADP-641: Add AWS_CA_BUNDLE support for custom CA certificates in BSLs#2241

Open
kaovilai wants to merge 1 commit into
openshift:oadp-1.4from
kaovilai:cherry-pick-oadp-641-to-1.4
Open

OADP-4817, OADP-1945, OADP-641: Add AWS_CA_BUNDLE support for custom CA certificates in BSLs#2241
kaovilai wants to merge 1 commit into
openshift:oadp-1.4from
kaovilai:cherry-pick-oadp-641-to-1.4

Conversation

@kaovilai

@kaovilai kaovilai commented Jun 16, 2026

Copy link
Copy Markdown
Member

Cherry-pick of #1930 (master) / #1943 (oadp-1.5) adapted for oadp-1.4 branch structure.

Summary

  • Add processCACertForBSLs() to extract CA certificates from BSL configurations and create velero-ca-bundle ConfigMap
  • Add processCACertificatesForVelero() to mount the ConfigMap and set AWS_CA_BUNDLE environment variable in the Velero deployment
  • AWS_CA_BUNDLE triggers AWS SDK native CA certificate functionality for S3 operations, enabling imagestream backup in air-gapped environments with custom CAs
  • Comprehensive unit tests for both functions (6 test cases)

Adaptation notes

oadp-1.4 uses controllers/ package with DPAReconciler (master uses internal/controller/ with DataProtectionApplicationReconciler). DPA is passed as a function parameter since oadp-1.4's reconciler has no r.dpa field.

Known limitation

If any BSL has caCert, the AWS_CA_BUNDLE env var applies to all BSLs' imagestream S3 client (env var is container-wide).

Related

Corresponding openshift-velero-plugin PRs (already merged to oadp-1.4)

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 16, 2026
@openshift-ci-robot

openshift-ci-robot commented Jun 16, 2026

Copy link
Copy Markdown

@kaovilai: This pull request references OADP-641 which is a valid jira issue.

Details

In response to this:

Cherry-pick of #1930 (master) / #1943 (oadp-1.5) adapted for oadp-1.4 branch structure.\n\n## Summary\n\n- Add processCACertForBSLs() to extract CA certificates from BSL configurations and create velero-ca-bundle ConfigMap\n- Add processCACertificatesForVelero() to mount the ConfigMap and set AWS_CA_BUNDLE environment variable in the Velero deployment\n- AWS_CA_BUNDLE triggers AWS SDK native CA certificate functionality for S3 operations, enabling imagestream backup in air-gapped environments with custom CAs\n- Comprehensive unit tests for both functions (6 test cases)\n\n## Adaptation notes\n\noadp-1.4 uses controllers/ package with DPAReconciler (master uses internal/controller/ with DataProtectionApplicationReconciler). DPA is passed as a function parameter since oadp-1.4's reconciler has no r.dpa field.\n\n## Known limitation\n\nIf any BSL has caCert, the AWS_CA_BUNDLE env var applies to all BSLs' imagestream S3 client (env var is container-wide).\n\n## Related\n\n- Master: #1930\n- oadp-1.5: #1943\n- Jira: OADP-1945, OADP-641

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 23be52e4-11bb-4a31-8e62-6a9bbc5175f0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci

openshift-ci Bot commented Jun 16, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: kaovilai

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 16, 2026
@kaovilai kaovilai changed the title OADP-641: Add AWS_CA_BUNDLE support for custom CA certificates in BSLs OADP-1945, OADP-641: Add AWS_CA_BUNDLE support for custom CA certificates in BSLs Jun 16, 2026
@openshift-ci-robot

openshift-ci-robot commented Jun 16, 2026

Copy link
Copy Markdown

@kaovilai: This pull request references OADP-1945 which is a valid jira issue.

This pull request references OADP-641 which is a valid jira issue.

Details

In response to this:

Cherry-pick of #1930 (master) / #1943 (oadp-1.5) adapted for oadp-1.4 branch structure.\n\n## Summary\n\n- Add processCACertForBSLs() to extract CA certificates from BSL configurations and create velero-ca-bundle ConfigMap\n- Add processCACertificatesForVelero() to mount the ConfigMap and set AWS_CA_BUNDLE environment variable in the Velero deployment\n- AWS_CA_BUNDLE triggers AWS SDK native CA certificate functionality for S3 operations, enabling imagestream backup in air-gapped environments with custom CAs\n- Comprehensive unit tests for both functions (6 test cases)\n\n## Adaptation notes\n\noadp-1.4 uses controllers/ package with DPAReconciler (master uses internal/controller/ with DataProtectionApplicationReconciler). DPA is passed as a function parameter since oadp-1.4's reconciler has no r.dpa field.\n\n## Known limitation\n\nIf any BSL has caCert, the AWS_CA_BUNDLE env var applies to all BSLs' imagestream S3 client (env var is container-wide).\n\n## Related\n\n- Master: #1930\n- oadp-1.5: #1943\n- Jira: OADP-1945, OADP-641

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@kaovilai

Copy link
Copy Markdown
Member Author

Note

Responses generated with Claude

This cherry-pick was opened as a courtesy for the assignee of OADP-1945 (Michal Pryc), which targets OADP 1.4.11. The velero plugin side is already merged (openshift-velero-plugin#293, #375) — this PR is the only remaining piece needed for caCert/imagestream backup to work on oadp-1.4.

@kaovilai kaovilai changed the title OADP-1945, OADP-641: Add AWS_CA_BUNDLE support for custom CA certificates in BSLs OADP-4817, OADP-1945, OADP-641: Add AWS_CA_BUNDLE support for custom CA certificates in BSLs Jun 16, 2026
@openshift-ci-robot

openshift-ci-robot commented Jun 16, 2026

Copy link
Copy Markdown

@kaovilai: This pull request references OADP-4817 which is a valid jira issue.

This pull request references OADP-1945 which is a valid jira issue.

This pull request references OADP-641 which is a valid jira issue.

Details

In response to this:

Cherry-pick of #1930 (master) / #1943 (oadp-1.5) adapted for oadp-1.4 branch structure.

Summary

  • Add processCACertForBSLs() to extract CA certificates from BSL configurations and create velero-ca-bundle ConfigMap
  • Add processCACertificatesForVelero() to mount the ConfigMap and set AWS_CA_BUNDLE environment variable in the Velero deployment
  • AWS_CA_BUNDLE triggers AWS SDK native CA certificate functionality for S3 operations, enabling imagestream backup in air-gapped environments with custom CAs
  • Comprehensive unit tests for both functions (6 test cases)

Adaptation notes

oadp-1.4 uses controllers/ package with DPAReconciler (master uses internal/controller/ with DataProtectionApplicationReconciler). DPA is passed as a function parameter since oadp-1.4's reconciler has no r.dpa field.

Known limitation

If any BSL has caCert, the AWS_CA_BUNDLE env var applies to all BSLs' imagestream S3 client (env var is container-wide).

Related

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

…kupStorageLocations

Cherry-pick of PR openshift#1930 (master) adapted for oadp-1.4 branch structure:
- controllers/ package (not internal/controller/)
- DPAReconciler (not DataProtectionApplicationReconciler)
- DPA passed as parameter (no r.dpa field)

Changes:
- Add processCACertForBSLs() to extract CA certificates from BSL configs
  and create velero-ca-bundle ConfigMap
- Add processCACertificatesForVelero() to mount ConfigMap and set
  AWS_CA_BUNDLE env var in velero deployment
- AWS_CA_BUNDLE triggers AWS SDK native CA cert functionality for S3,
  enabling imagestream backup in air-gapped environments with custom CAs
- Comprehensive unit tests for both functions

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <[email protected]>
Co-Authored-By: Happy <[email protected]>
Signed-off-by: Tiger Kaovilai <[email protected]>
@kaovilai kaovilai force-pushed the cherry-pick-oadp-641-to-1.4 branch from 1980cfd to db8145c Compare June 17, 2026 18:07
@kaovilai

Copy link
Copy Markdown
Member Author

/retest

@openshift-ci

openshift-ci Bot commented Jun 18, 2026

Copy link
Copy Markdown

@kaovilai: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants