Skip to content

Separate Machine APIs from Cluster APIs #490

@enxebre

Description

@enxebre

I'd like to bring up a conversation about evolving a Machine APIs at a separate cadence from the Cluster API. This ticket aims to facilitate and track a discussion around beta requirements for having a machine API distinctly from beta requirements for the Cluster API project as a whole. A beta API for machines should enable provisioning and deprovisioning machines via Kubernetes-style API, support basic health management, and clear policies for handling scale up and down of sets

Proposed changes:

  • Evolve the Machine API at a separate cadence from Cluster API
  • Split machine types into separate API group (machines.k8s.io) from clusters (cluster.k8s.io) in order to support the ability to serve the types that are only in that group, enable gradual adoption of types in more deployment environments.
  • Machine health checking
  • Machine deletion strategy
  • Make optional fields machine.spec.versions, machine.status.versions
  • Remove cluster assumption from actuators. Move from (Cluster, Machine) tuple to something like (Context, Machine)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/apiIssues or PRs related to the APIslifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions