Skip to content

Add KubeOne plugin: cluster lifecycle management via kubeadm over SSH - #107

Open
arcivanov wants to merge 1 commit into
masterfrom
kubeone
Open

Add KubeOne plugin: cluster lifecycle management via kubeadm over SSH#107
arcivanov wants to merge 1 commit into
masterfrom
kubeone

Conversation

@arcivanov

Copy link
Copy Markdown
Member

Summary

  • New kubeone plugin integrating Kubermatic KubeOne for provisioning Kubernetes clusters on bare-metal/VM hosts via kubeadm over SSH
  • Binary download from GitHub releases (ZIP) or system PATH lookup, following the terraform/helm plugin pattern
  • Auto-discovers *.kubeone.yaml manifests during directory walk, templates with Jinja2, validates via kubeone config dump
  • Exposes apply(), reset(), status(), kubeconfig_export() on context.globals.kubeone
  • Respects Kubernator dry-run semantics (dump mode / --yes flag)
  • Optional terraform state pass-through via --tfjson when terraform plugin is loaded
  • Excludes *.kubeone.yaml from k8s plugin processing when both are registered
  • Warns when multiple KubeOne manifests are found (last one wins)

Test plan

  • 19 unit tests covering registration, stanza building, apply/reset dry-run, tfjson args, kubeconfig export, status, k8s excludes
  • Integration test downloading real KubeOne 1.9.1 binary, discovering and validating a bare-metal manifest via config dump

Integrates Kubermatic KubeOne for provisioning Kubernetes clusters on
bare-metal/VM hosts using kubeadm. Supports binary download from GitHub
releases or system PATH, manifest discovery (*.kubeone.yaml), Jinja2
templating, validation via `kubeone config dump`, and kubeconfig export.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant