@kinvolk/headlamp-plugin
Version:
The needed infrastructure for building Headlamp plugins.
90 lines (80 loc) • 2.72 kB
Markdown
# Flux
The Flux plugin provides a way to visualize Flux (should be installed in your cluster) in Headlamp. Flux is a tool for implementing GitOps and synchronizing Kubernetes clusters with sources of configuration (like Git repositories). It also automates updates to configuration when there is new code to deploy.
This plugin adds a new item (Flux) to the sidebar to give the user an overview of the Flux installation on the cluster.
## Flux Installation
Please refer to the [official installation guide](https://fluxcd.io/flux/installation/) for Flux to learn to install it.
## Plugin Installation in Headlamp for Desktop
Go to the Plugin Catalog, search for the Flux plugin, and click the Install button. Reload the UI (Navigation menu > Reload, or use the notification after installing the plugin) to see the new Flux item in the sidebar.
## Installing the Flux Headlamp plugin in a Headlamp deployment
If you are deploying Headlamp using Helm, you can use the following HelmRelease manifest to install the Flux Headlamp plugin with your Headlamp deployment:
```yaml
apiVersion: v1
kind: Namespace
metadata:
name: headlamp
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
name: headlamp
namespace: headlamp
spec:
interval: 1m0s
timeout: 1m0s
url: https://headlamp-k8s.github.io/headlamp/
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: headlamp
namespace: headlamp
spec:
chart:
spec:
chart: headlamp
sourceRef:
kind: HelmRepository
name: headlamp
version: "*"
interval: 1m0s
values:
ingress:
enabled: true
ingressClassName: nginx
annotations:
cert-manager.io/cluster-issuer: letsencrypt-http01-nginx-issuer
hosts:
- host: example.com # Change me
paths:
- path: /
type: ImplementationSpecific
tls:
- secretName: headlamp-tls
hosts:
- example.com # Change me
config:
pluginsDir: /build/plugins
initContainers:
- command:
- /bin/sh
- -c
- mkdir -p /build/plugins && cp -r /plugins/* /build/plugins/
image: ghcr.io/headlamp-k8s/headlamp-plugin-flux:latest
imagePullPolicy: Always
name: headlamp-plugins
volumeMounts:
- mountPath: /build/plugins
name: headlamp-plugins
persistentVolumeClaim:
accessModes:
- ReadWriteOnce
enabled: true
size: 1Gi
volumeMounts:
- mountPath: /build/plugins
name: headlamp-plugins
volumes:
- name: headlamp-plugins
persistentVolumeClaim:
claimName: headlamp
```