/landscapercli

Primary LanguageGoApache License 2.0Apache-2.0

Landscaper CLI

The Landscaper CLI supports users to develop, maintain, and test components processed by the Landscaper. This comprises the handling of objects like component descriptors, blueprints, installations, etc.

The Landscaper CLI integrates the commands of the Components CLI.

The Landscaper CLI adds commands for the following use cases:

  • Automatic setup of a landscaper and an OCI registry for development
  • Development of components including a component descriptor and blueprint
  • Local validation of such components
  • Support for testing components on a kubernetes cluster
  • Support for accessing and maintaining components with a blueprint in OCI registry

Remark: This version of the Landscaper CLI requires that you have installed helm version 3.7 or higher due to some fundamental API changes especially with respect to the handling of helm charts stored as OCI resources.

Installation

Install the latest release via Nix, download binaries directly from GitHub Releases, or build and install directly from source.

Install using Nix (with Flakes)

# Nix (macOS, Linux, and Windows)
# ad hoc cmd execution
nix run github:gardener/landscapercli -- --help

# install development version
nix profile install github:gardener/landscapercli
# or release <version>
nix profile install github:gardener/landscapercli/<version>

#check installation
nix profile list | grep landscapercli

# optionally, open a new shell and verify that cmd completion works
landscaper-cli --help

Install from Github Release

If you install via GitHub releases, you need to

  • download the correct binary artifact for your os and architecture
  • unpack and put the landscapercli binary on your path

You can use this boilerplate:

# set operating system and architecture
os=darwin # choose between darwin, linux
arch=amd64 # choose between amd64

# Get latest version, unzip, make executable
curl -LO "curl -LO https://github.com/gardener/landscapercli/releases/latest/download/landscapercli-${os}-${arch}.gz"
gunzip landscapercli-${os}-${arch}.gz
chmod +x ./landscapercli-${os}-${arch}

# Move the binary in to your PATH
sudo mv ./landscapercli-${os}-${arch} /usr/local/bin/landscaper-cli

Build from source

Instructions can be found here.

Documentation

Detailed descriptions for commands could be found here.

The command reference is located here.

The Landscaper CLI support the installation of the Docker OCI registry with the quickstart command.

A description how to access an OCI registry which requires authentication with the Landscaper CLI can be found here.

Other examples: https://github.com/gardener/landscaper/blob/master/docs/tutorials/02-simple-import.md