gem

command module
v0.0.0-...-2373d08 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 18, 2021 License: Apache-2.0, BSD-2-Clause, MIT Imports: 4 Imported by: 0

README

gem

gem is the Gardener Extension Manager - not to be confused with Rubygems of course.

When working with Gardener, you'll always want to use extensions. Extensions come in the form of of controller-registration.yaml files. These files register an extension provider in Gardener so that it can then make use of its functionality when creating a Shoot cluster. More on this topic can be found in the Gardener repository.

One issue when working with extensions is to get the right set of versions. gem is a command line tool & library that addresses this issue by providing means to define extension requirements, resolve them to exact revisions and then download them into one controller-registrations.yaml file (one big YAML that contains all controller-registration.yaml files as a list).

Installation

To install gem, you need a working go installation >1.11. Once you have it, cd to an empty, temporary directory (in order not to mess up any go project) and run

GO111MODULE=on go get github.com/gardener/gem

Usage

In order to use gem you need to define a requirements.yaml. An example can be found here. In this file, you list your required gardener extensions.

For a requirement, you always have to specify a name and either a revision, version or branch. Optionally, you can also specify a filename, if the name of controller-registration is not the default controller-registration.yaml.

Once you've successfully defined a requirements.yaml file, gem provides the following commands to work with it, though the most important one will probably be ensure:

  • solve: tries to solve the requirements given in your requirements.yaml and write it into a locks.yaml.

  • fetch: requires a locks.yaml to be present. Fetches the controller-registrations specified via the requirements and locks.

  • ensure: ensures that the controller-registrations you specified in your requirements.yaml are present and up to date. It can optionally also update your dependencies to the latest allowed version.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
cmd
gem
gem/api
Package api contains API schema definitions for the gem internal API group.
Package api contains API schema definitions for the gem internal API group.
gem/api/v1alpha1
Package v1alpha1 contains API schema definitions for the gem v1alpha1 API group.
Package v1alpha1 contains API schema definitions for the gem v1alpha1 API group.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL