Skip to content

kyma-project/kyma-infrastructure-manager

REUSE status Go Report Card

Kyma Infrastructure Manager

Overview

Kyma Infrastructure Manager (KIM) manages the Kyma cluster infrastructure. It's built using the kubebuilder framework.

It's responsible for generating and rotating Secrets containing dynamic kubeconfigs.

Prerequisites

  • Access to a Kubernetes cluster. You can use k3d to get a local cluster for testing or run against a remote cluster.
  • kubectl

Installation

  1. Clone the project.

    git clone https://github.com/kyma-project/infrastructure-manager.git && cd infrastructure-manager/
  2. Set the infrastructure-manager image name.

    export IMG=custom-infrastructure-manager:0.0.1
    export K3D_CLUSTER_NAME=infrastructure-manager-demo
  3. Build the project.

    make build
  4. Build the image.

    make docker-build
  5. Push the image to the registry.

    k3d
    k3d cluster create $K3D_CLUSTER_NAME
    k3d image import $IMG -c $K3D_CLUSTER_NAME
    Globally available Docker registry
    make docker-push
  6. Deploy.

    make deploy
  7. Create a Secret with the Gardener credentials.

    export GARDENER_KUBECONFIG_PATH=<kubeconfig file for Gardener project> 
    make gardener-secret-deploy

Usage

KIM is responsible for creating and rotating Secrets of clusters defined in the GardenerCluster custom resources (CRs). The sample CR is available in this YAML file.

Time-Based Rotation

Secrets are rotated based on kubeconfig-expiration-time. For more information, see Configuration.

Force Rotation

It's possible to force the Secret rotation before the time-based rotation kicks in. To do that, add the operator.kyma-project.io/force-kubeconfig-rotation: "true" annotation to the GardenCluster CR.

Contributing

See CONTRIBUTING.md

Code of Conduct

See CODE_OF_CONDUCT.md

Licensing

See the LICENSE file

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 16

Languages