terminal-controller-manager

command module
v0.33.0 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2024 License: Apache-2.0 Imports: 32 Imported by: 0

README

Gardener Terminal Controller Manager

REUSE status CI Build status Go Report Card reuse compliant

The terminal-controller-manager is used for the webterminal feature of the gardener/dashboard.

The terminal-controller-manager watches Terminal resources under the dashboard.gardener.cloud/v1alpha1 API group and ensures the desired state on the host and target cluster. Host and target cluster can also be the same. For more details and a usage scenario see docs here.

Development Setup

Prerequisites:

To build and push the images, run docker-build and docker-push make targets. Adapt the image as necessary:

make docker-build docker-push IMG_MANAGER_REPOSITORY=example/my-repo

Local Setup with Kind

The local setup describes the use of the local kind cluster setup of gardener. After deploying the gardener locally, the helm chart of the terminal-controller-manager can be installed into the kind cluster.

Deploy Gardener locally

First, deploy the gardener locally Deploying Gardener locally into a kind cluster. For more information check out https://github.com/gardener/gardener/blob/master/docs/deployment/getting_started_locally.md#setting-up-the-kind-cluster-garden-and-seed. The basic steps are the following.

Clone the gardener repository.

git clone git@github.com:gardener/gardener.git

Change directory to gardener.

cd gardener

Set up a new kind cluster named gardener-local.

make kind-up

The kubeconfig is stored in the ./example/gardener-local/kind/local/kubeconfig file within the gardener directory. Alternatively run kind get kubeconfig --name gardener-local to print out the kubeconfig.

Deploy Gardener resources into the cluster.

make gardener-up

Set the KUBECONFIG environment variable for the local garden cluster:

export KUBECONFIG=$PWD/example/gardener-local/kind/local/kubeconfig
Deploy Terminal Controller Manager locally

Change directory to terminal-controller-manager.

cd terminal-controller-manager

Build the terminal-controller-manager image and load it into the kind cluster.

make load-manager-docker-image

Run install make target.

make install

To verify that everything worked, check if the terminal-controller-manager pod is running in the terminal-system namespace:

kubectl -n terminal-system get po

NAME                                           READY   STATUS    RESTARTS   AGE
terminal-controller-manager-6d7b5bfbdd-l6vg9   2/2     Running   0          10s

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the extensions v1alpha1 API group +kubebuilder:object:generate=true +groupName=dashboard.gardener.cloud
Package v1alpha1 contains API Schema definitions for the extensions v1alpha1 API group +kubebuilder:object:generate=true +groupName=dashboard.gardener.cloud
internal

Jump to

Keyboard shortcuts

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