Skip to content

Development of Gardener Installation Operator

License

Notifications You must be signed in to change notification settings

hendrikKahl/landscaper

 
 

Repository files navigation

Landscaper

CI Build status Go Report Card reuse compliant

Landscaper provides the means to describe, install and maintain cloud-native landscapes. It allows you to express an order of building blocks, connect output with input data and ultimately, bring your landscape to live.

What does a 'landscape' consist of? In this context it refers not only to application bundles but also includes infrastructure components in public, private and hybrid environments.

While tools like Terraform, Helm or native Kubernetes resources work well in their specific problem space, it has been a manual task to connect them so far. Landscaper solves this specific problem and offers a fully-automated installation flow. To do so, it translates blueprints of components into actionable items and employs well-known tools like Helm or Terraform to deploy them. In turn the produced output can be used as input and trigger for a subsequent step - regardless of the tools used underneath. Since implemented as a set of Kubernetes operators, Landscaper uses the concept of reconciliation to enforce a desired state, which also allows for updates to be rolled out smoothly.

⚠️ Landscaper is currently in an alpha state, expect the api to change at any time.

Work in progress... partial and unfinished documentation ahead!

Start Reading

  • The documentation can be found here.
  • A list of available deployers is maintained here.
  • A glossary can be found here

Quick Start

Landscaper is a Kubernetes controller that can be easily installed via helm using the helm chart in charts/landscaper.

helm install -n ls-system landscaper ./charts/landscaper

We also build oci charts so the landscaper can also be installed with a specific version with:

export HELM_EXPERIMENTAL_OCI=1
export LS_VERSION="0.1.0"
helm chart pull eu.gcr.io/gardener-project/landscaper/charts/landscaper-controller:$LS_VERSION
helm chart export eu.gcr.io/gardener-project/landscaper/charts/landscaper-controller:$LS_VERSION ./charts
helm install ./charts

The chart can be configured via the values file:

image:
  tag: image version # .e.g. 0.2.0; check the latest releases in the github releases

landscaper:
  registryConfig:
    allowPlainHttpRegistries: false
    secrets: # contains optional oci secrets
      default: {
        "auths": {
          "hostname": {
            "auth": "my auth"
          }
        }
      }

  # deploy with integrated deployers for quick start
  deployers:
  - container
  - helm
  - manifest

About

Development of Gardener Installation Operator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 96.8%
  • Shell 1.5%
  • Makefile 0.7%
  • HTML 0.5%
  • Smarty 0.3%
  • Dockerfile 0.2%