An open API service indexing awesome lists of open source software.

https://github.com/vshn/espejote

Espejote is a Kubernetes operator able to generate, patch, or manage resources in a cluster.
https://github.com/vshn/espejote

Last synced: 5 days ago
JSON representation

Espejote is a Kubernetes operator able to generate, patch, or manage resources in a cluster.

Awesome Lists containing this project

README

        


a goopher standing in front of a big mirror

The Espejote tool ('big mirror' in Spanish) manages arbitrary resources in a Kubernetes cluster.

It allows a GitOps workflow while still being able to depend on in-cluster resources.


Espejote: An in-cluster templating controller

## Installation

### In-cluster using `kubectl`

```sh
kubectl apply -k config/crd
kubectl apply -k config/default
```

### CLI using Homebrew

Works on macOS and Linux.

```sh
brew install vshn/tap/espejote
```

### CLI using `go get`

```sh
go install github.com/vshn/espejote@latest
```

## Usage

Espejote manages resources by server-side applying rendered Jsonnet manifests to the cluster.
It allows fine-grained control over external context used to rendering the resources and the triggers that cause the resources to be applied.

`espejote` CLI docs are available [here](./docs/cli/espejote.md).

API (CRD) documentation is available [here](./docs/api.adoc).

`espejote.libsonnet` documentation is available [here](./docs/lib/README.md).

Annotated examples are available:
- [Admission: OpenShift 4 Cluster Autoscaler Patch](./docs/annotated-examples/admission/ocp-cluster-autoscaler-patch.adoc)
- [ManagedResource: OpenShift 4 Node Disruption Policies](./docs/annotated-examples/managedresource/node-disruption-policies.adoc)
- We're working on more examples, stay tuned!

The original idea and design document is available [here](https://kb.vshn.ch/oc4/references/architecture/espejote-in-cluster-templating-controller.html).