Skip to content

Latest commit

 

History

History
60 lines (50 loc) · 2.63 KB

roadmap.md

File metadata and controls

60 lines (50 loc) · 2.63 KB

Roadmap 🗺️

This document outlines some goals, non-goals, and future aspirations for kinder.

kinder is heavily inspired by kind, kinder shares the same core ideas of kind, but in agreement with the kind team, was developed as a separated tool with the goal to explore new kubeadm-related use cases, share issues and solutions, and ultimately contribute back new features.

High level goals for kinder include:

  • Support docker and containerd as a container runtime inside nodes

  • Provide a local test environment for kubeadm development

    • Allow creation of nodes "ready for installing Kubernetes"
      • Support mount volumes
    • Provide pre built developer-workflows for kubeadm init, join, reset
      • init and init with phases
      • join and join with phases
      • init and join with automatic copy certs
      • Provide pre built developer-workflow for kubeadm upgrades
      • reset
    • Allow build of node-image variants
      • add pre-loaded images to a node-image
      • replace the kubeadm binary into a node-image
      • add Kubernetes binaries for a second Kubernetes versions (target for upgrades)
    • Allow test of kubeadm cluster variations
      • external etcd
      • kube-dns
    • Allow test of kubeadm features
      • discovery types
      • patches
      • certificate renewal
      • machine readable output
    • Provide "topology aware" wrappers for docker exec and docker cp
    • Provide a way to add nodes to an existing cluster
      • Add worker node
      • Add control plane node (and reconfigure load balancer)
    • Provide smoke test action
    • Support for testing concurrency on joining nodes
    • Support testing the kubeadm-operator
    • Explore synergies with CAPD
  • Be the kubeadm CI glue

    • Provide get Kubernetes artifacts command(s)
    • Allow build of node-image variants using Kubernetes artifacts from different sources
    • Provide E2E run command(s)
    • Provide test command that automates complex test scenarios composed by many steps/stages (Workflows)

Non-Goals include:

  • Replace or fork kind. kind is awesome and we are committed to help to improve it (see long term goals)
  • Supporting every possible use cases that can be build on top of kind as a library

Longer Term goals include:

  • Improve the kubeadm CI signal
  • Simplify kubeadm development/local testing
  • Help new contributors on kubeadm development
  • Contribute to improving and testing "kind as a library"
  • Contribute back idea/code for new features in kind