Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Add support for generating bootstrap data in Ignition format to CABPK #4172

Merged
merged 8 commits into from
Dec 8, 2021
Merged

✨ Add support for generating bootstrap data in Ignition format to CABPK #4172

merged 8 commits into from
Dec 8, 2021

Commits on Dec 8, 2021

  1. bootstrap/kubeadm: Add Ignition bootstrap format

    Add support for using Ignition as the format for bootstrap data. This
    allows using Ignition-based distros as the operating system for
    workload cluster nodes.
    
    Co-authored-by: Suraj Deshmukh <suraj@kinvolk.io>
    
    Signed-off-by: Mateusz Gozdek <mateusz@kinvolk.io>
    Signed-off-by: Johanan Liebermann <jliebermann@microsoft.com>
    invidian committed Dec 8, 2021
    Configuration menu
    Copy the full SHA
    895b82f View commit details
    Browse the repository at this point in the history
  2. bootstrap/kubeadm: add validation webhook for KubeadmConfigTemplate

    As users usually do not create KubeadmConfig directly, but rather create
    KubeadmConfigTemplate and now KubeadmConfig has more validation rules,
    it's good if users sees those errors directly.
    
    Signed-off-by: Mateusz Gozdek <mateusz@kinvolk.io>
    Signed-off-by: Johanan Liebermann <jliebermann@microsoft.com>
    invidian committed Dec 8, 2021
    Configuration menu
    Copy the full SHA
    03d9170 View commit details
    Browse the repository at this point in the history
  3. controlplane/kubeadm/api/v1beta1: validate KubeadmConfigSpec

    KubeadmConfigSpec has now more validation rules, so we should trigger
    them, as KubeadmConfigSpec is embedded in KubeadmControlPlane object.
    
    Signed-off-by: Mateusz Gozdek <mateusz@kinvolk.io>
    Signed-off-by: Johanan Liebermann <jliebermann@microsoft.com>
    invidian committed Dec 8, 2021
    Configuration menu
    Copy the full SHA
    e6ffd8e View commit details
    Browse the repository at this point in the history
  4. Add Ignition provisioning format for CAPD

    Allow provisioning CAPD machines using Ignition as an alternative to
    cloud-init.
    
    So far, cloud-init has been hardcoded as the only provisioning format
    supported by CAPD.
    
    - Add a package called "provisioning" which contains the interfaces and
      common logic for all supported provisioning formats.
    - Move the existing cloud-init code under the new package.
    - Add a new provisioning implementation for Ignition.
    
    Co-authored-by: Suraj Deshmukh <suraj@kinvolk.io>
    
    Signed-off-by: Johanan Liebermann <jliebermann@microsoft.com>
    johananl authored and invidian committed Dec 8, 2021
    Configuration menu
    Copy the full SHA
    edbb149 View commit details
    Browse the repository at this point in the history
  5. Add feature gate KubeadmBootstrapFormatIgnition

    This commit adds the feature gate KubeadmBootstrapFormatIgnition that
    will control the usage of field Ignition in KubeadmConfig.
    
    If user provides ignition field then the webhook config rejects the
    request with a validation error.
    
    Signed-off-by: Suraj Deshmukh <suraj@kinvolk.io>
    Signed-off-by: Johanan Liebermann <jliebermann@microsoft.com>
    surajssd authored and invidian committed Dec 8, 2021
    Configuration menu
    Copy the full SHA
    523663f View commit details
    Browse the repository at this point in the history
  6. Document Ignition feature gate

    Signed-off-by: Suraj Deshmukh <suraj@kinvolk.io>
    Signed-off-by: Johanan Liebermann <jliebermann@microsoft.com>
    surajssd authored and invidian committed Dec 8, 2021
    Configuration menu
    Copy the full SHA
    de8748e View commit details
    Browse the repository at this point in the history
  7. Rename kubeadmconfig_types_test.go

    This file tests functions in kubeadmconfig_webhook_test.go.
    
    Signed-off-by: Johanan Liebermann <jliebermann@microsoft.com>
    johananl authored and invidian committed Dec 8, 2021
    Configuration menu
    Copy the full SHA
    1df0796 View commit details
    Browse the repository at this point in the history
  8. Disallow unsupported storage params with Ignition

    Ignition doesn't support the replace_fs filesystem parameter and the
    partition filesystem parameter supported by cloud-init. Disallow using
    these parameters with Ignition.
    
    Signed-off-by: Johanan Liebermann <jliebermann@microsoft.com>
    johananl authored and invidian committed Dec 8, 2021
    Configuration menu
    Copy the full SHA
    87df81f View commit details
    Browse the repository at this point in the history