-
Feature
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
BU Product Work
-
False
-
-
False
-
50% To Do, 0% In Progress, 50% Done
-
0
Feature Overview (aka. Goal Summary)
This feature is to investigate the ACME protocol as a replacement for the existing CSR machine approval process to address various use cases:
- The existing mechanism of CSR approval for nodes during installation relies on the compromise; all nodes requesting to join the cluster during the installation using the bootstrap certificate are trusted. This assumption is not desired.
- During day-2 operations, the existing CSR approval procedure requires the cluster admin to approve CSRs manually.
- This makes it impossible to have an automated procedure to automatically restore a cluster to a fully operational state after hibernation when certificates on Workers' nodes are expired.
- The static definition of node identifiers in the certificate (e.g. FQDN, IP address) prevents the use of dynamic IPs and names for Worker nodes in a cluster.
The intent of this card is to explore the option of using the ACME protocol to replace the existing CSR mechanism while ensuring the control plane can safely confirm the identity of the node that requests joining a cluster.
Goals (aka. expected user outcomes)
- Determine the feasibility of adopting the ACME protocol for authenticating and onboarding machines into the cluster.
- Define design document for implementation
- Define work for progressive delivery of the functionality
Requirements (aka. Acceptance Criteria):
A list of specific needs or objectives that a feature must deliver in order to be considered complete. Be sure to include nonfunctional requirements such as security, reliability, performance, maintainability, scalability, usability, etc. Initial completion during Refinement status.
<enter general Feature acceptance here>
Anyone reviewing this Feature needs to know which deployment configurations that the Feature will apply to (or not) once it's been completed. Describe specific needs (or indicate N/A) for each of the following deployment scenarios. For specific configurations that are out-of-scope for a given release, ensure you provide the OCPSTRAT (for the future to be supported configuration) as well.
Use Cases (Optional):
Include use case diagrams, main success scenarios, alternative flow scenarios. Initial completion during Refinement status.
<your text here>
Questions to Answer (Optional):
Include a list of refinement / architectural questions that may need to be answered before coding can begin. Initial completion during Refinement status.
<your text here>
Out of Scope
High-level list of items that are out of scope. Initial completion during Refinement status.
<your text here>
Background
Provide any additional context is needed to frame the feature. Initial completion during Refinement status.
<your text here>
Customer Considerations
Provide any additional customer-specific considerations that must be made when designing and delivering the Feature. Initial completion during Refinement status.
<your text here>
Documentation Considerations
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. Initial completion during Refinement status.
<your text here>
Interoperability Considerations
Which other projects, including ROSA/OSD/ARO, and versions in our portfolio does this feature impact? What interoperability test scenarios should be factored by the layered products? Initial completion during Refinement status.
<your text here>