Add tooling around secrets-management in openshift.#88
Add tooling around secrets-management in openshift.#88shivprakashmuley wants to merge 1 commit intoopenshift:mainfrom
Conversation
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: shivprakashmuley The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@shivprakashmuley: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
|
/cc @matzew |
This PR introduces a toolset designed to simplify and automate the entire lifecycle of managing external secrets in OpenShift. It provides a guided workflow that addresses the most common challenges developers face when integrating with providers like AWS, GCP, and Vault.
In summary, the PR provides the following key capabilities:
Recommendation (recommend_secrets_management): Helps users choose the right tool for their needs, differentiating between native Kubernetes Secrets for internal use and recommending either the External Secrets Operator (ESO) or the Secrets Store CSI Driver (SSCSI) for external secrets based on the desired integration pattern (syncing vs. mounting).
Guided Setup (generate_prerequisites_plan, secrets_management_configure):
Generates clear, provider-specific instructions for configuring the necessary cloud-side prerequisites (like IAM roles for Workload Identity).
Provides the correct manifests (SecretStore, SecretProviderClass) and instructions for installing the necessary operators from the OpenShift Software Catalog.
Usage Examples (generate_example_*):
Offers ready-to-use YAML examples for an ExternalSecret and an application Pod with a CSI volume, demonstrating how to consume secrets with either ESO or SSCSI.
Automated Auditing & Debugging (secrets_management_debug):
This is the core feature, acting as a "Secret Management Auditor." It performs a comprehensive, automated health check of a user's entire secrets configuration.
It systematically inspects everything from the application pod, ServiceAccount annotations, custom resources (ExternalSecret, SecretProviderClass), operator health, and RBAC permissions.
It generates a structured report with clear PASS/FAIL statuses and provides actionable, precise instructions to fix any identified misconfigurations, transforming a complex debugging process into a simple, deterministic audit.