Skip to content

kindplane init

kindplane init demo

Initialise a new configuration file with sensible defaults.

Usage

kindplane init [flags]

Flags

Flag Short Description
--output -o Output filename (default: kindplane.yaml)

Description

The init command creates a new kindplane.yaml configuration file with sensible defaults for local Crossplane development.

The generated file includes:

  • Cluster configuration with 1 control plane and 1 worker node
  • Crossplane with common providers (AWS, Kubernetes)
  • Example Helm chart configurations (commented out)
  • Example composition sources (commented out)
  • JSON Schema reference for IDE support

Examples

Create Default Configuration

kindplane init

Creates kindplane.yaml in the current directory.

Custom Filename

kindplane init --output my-cluster.yaml

Creates my-cluster.yaml instead.

Specify Output Directory

kindplane init --output ./configs/dev.yaml

Creates the configuration file in a subdirectory.

Generated Configuration

The generated file looks like:

# yaml-language-server: $schema=https://raw.githubusercontent.com/kanzifucius/kindplane/main/kindplane.schema.json
# kindplane configuration file
# Generated by 'kindplane init'

cluster:
  name: kindplane-dev
  kubernetesVersion: "1.29.0"
  nodes:
    controlPlane: 1
    workers: 1
  portMappings:
    - containerPort: 80
      hostPort: 8080
      protocol: TCP
  ingress:
    enabled: true

crossplane:
  version: "1.15.0"
  providers:
    - name: provider-aws
      package: xpkg.upbound.io/upbound/provider-aws:v1.1.0
    - name: provider-kubernetes
      package: xpkg.upbound.io/crossplane-contrib/provider-kubernetes:v0.12.0

charts: []

compositions:
  sources: []

Next Steps

After initialising:

  1. Edit the configuration to match your needs
  2. Validate the configuration: kindplane validate
  3. Bootstrap the cluster: kindplane up