-
Feature
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
False
-
-
False
Feature Overview
Develop a new official kubectl plugin (Krew-indexed) that provides a guided, opinionated experience for discovering, installing, and configuring Medik8s self-node-remediation, fence-agents-remediation, node-healthcheck, and related operators.
The plugin will follow the interactive and declarative style of tools like openshift-install and oc adm must-gather, offering customers an easy on-ramp to Medik8s capabilities without requiring deep knowledge of each individual operator’s CRDs and configuration options.
Key capabilities:
- Interactive wizard or declarative YAML-driven mode
- Discovery of which Medik8s operators/remediation strategies are applicable to the current cluster environment
- Automated installation/upgrade of selected Medik8s operators via OLM
- Generation and application of pre-filled, best-practice configuration templates (CRs) with only the user-specific variables requested up-front
- Validation of the final configuration before apply
- Safe, controlled testing of the remediation flow created by the plugin.
Recommendations for the best-fitting remediation strategy based on detected infrastructure (bare-metal, cloud, fencing hardware, etc.)
Goals
- The plugin is published to Krew index as kubectl medik8s (or kubectl <?> if naming conflicts arise).
- Running kubectl medik8s install without arguments starts an interactive wizard that:
- Detects cluster type, node labels, available fencing agents, cloud provider, etc.
- Recommends one or more suitable Medik8s operators/remediation paths.
- Explains why each option is (or isn’t) recommended.
- Supports non-interactive mode via a declarative YAML input file for CI/CD and gitops use cases.
- Generates ready-to-apply manifests with sensible defaults; prompts only for required user inputs (e.g., APIVIP, fence-agent details, unsafe flags, excluded remediators, etc.).
- Installs
or upgradesthe selected operators using OLM (supports both bundled catalog and external catalog sources). - Performs pre-flight checks and post-apply validation (e.g., operator pods running, webhooks registered, remediation CRs valid).
- The plugin provides a dedicated command kubectl medik8s test remediation (or integrated as kubectl medik8s install --test) that allows safe, controlled testing of the remediation flow created by the plugin.
Provides a kubectl medik8s recommend command that outputs a report of current remediation coverage and gaps.- Includes comprehensive --help, examples, and built-in documentation.
- Unit and e2e tests covering major cloud and bare-metal scenarios.
- Documentation: README with quick-start, architecture diagram, and comparison to manual installation.
Requirements (mandatory -_ Complete while in Refinement status):
A list of specific needs, capabilities, or objectives that a Feature must deliver to satisfy the Feature. Some requirements will be flagged as MVP. If an MVP gets shifted, the Feature shifts. If a non MVP requirement slips, it does not shift the feature.
| Requirement | Notes | isMVP? |
|---|---|---|
| Y | ||
| Y | ||
| Y | ||
| Y | ||
| ? | ||
| N |
Documentation Considerations {}{}(Initial completion while in Refinement status):
Provide information that needs to be considered and planned so that documentation will meet customer needs. If the feature extends existing functionality, provide a link to its current documentation..
<your text here>
Questions to Answer {}{}(Initial completion while in Refinement status):
Include a list of refinement / architectural questions that may need to be answered before coding can begin.
<your text here>
Customer Considerations {}{}(Initial completion while in Refinement status):
Provide any additional customer-specific considerations that must be made when designing and delivering the Feature.
<your text here>
Team Sign Off (Completion while in Planning status)
- All required Epics (known at the time) are linked to the this Feature
- All required Stories, Tasks (known at the time) for the most immediate Epics have been created and estimated
- Add - Reviewers name, Team Name
- Acceptance == Feature as “Ready” - well understood and scope is clear - Acceptance Criteria (scope) is elaborated, well defined, and understood
- Note: Only set FixVersion/s: on a Feature if the delivery team agrees they have the capacity and have committed that capability for that milestone
| Reviewed By | Team Name | Accepted | Notes |