Skip to content

jborg/capacitor

This branch is 48 commits behind gimlet-io/capacitor:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Mar 7, 2024
6ddd352 · Mar 7, 2024
Mar 6, 2024
Dec 1, 2023
Mar 6, 2024
Mar 7, 2024
Jan 16, 2024
Mar 7, 2024
Mar 7, 2024
Dec 1, 2023
Oct 16, 2023
Mar 6, 2024
Feb 15, 2024
Mar 6, 2024
Mar 1, 2024

Repository files navigation

Capacitor

A general purpose UI for FluxCD.

Capacitor - Services

Installation

Flux

Deploy the latest Capacitor release in the flux-system namespace by adding the following manifests to your Flux repository:

---
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: OCIRepository
metadata:
  name: capacitor
  namespace: flux-system
spec:
  interval: 12h
  url: oci://ghcr.io/gimlet-io/capacitor-manifests
  ref:
    semver: ">=0.1.0"
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
  name: capacitor
  namespace: flux-system
spec:
  targetNamespace: flux-system
  interval: 1h
  retryInterval: 2m
  timeout: 5m
  wait: true
  prune: true
  path: "./"
  sourceRef:
    kind: OCIRepository
    name: capacitor

Note that Flux will check for Capacitor releases every 12 hours and will automatically deploy the new version if it is available.

Access Capacitor UI with port-forwarding:

kubectl -n flux-system port-forward svc/capacitor 9000:9000

Kubernetes manifests

kubectl apply -f https://raw.githubusercontent.com/gimlet-io/capacitor/main/deploy/k8s/rbac.yaml
kubectl apply -f https://raw.githubusercontent.com/gimlet-io/capacitor/main/deploy/k8s/manifest.yaml

kubectl port-forward svc/capacitor -n flux-system 9000:9000

Helm

kubectl apply -f https://raw.githubusercontent.com/gimlet-io/capacitor/main/deploy/k8s/rbac.yaml

helm repo add onechart https://chart.onechart.dev

helm upgrade -i capacitor -n flux-system onechart/onechart -f https://raw.githubusercontent.com/gimlet-io/capacitor/main/deploy/helm/onechart-helm-values.yaml

kubectl port-forward svc/capacitor -n flux-system 9000:9000

Why

FluxCD is an amazing backend for all things gitops.

It is a shame that ArgoCD gained so much traction mostly because developers appreciate the UI. Rolling out a read-only ArgoCD UI made Argo the de-facto kubernetes dashboard, where people look at logs and various kubernetes resources.

Capacitor's goal is to level the field: providing a UI option for Flux users that matches or exceeds the level of ArgoCD.

Built in public

The vision: https://www.youtube.com/watch?v=LaDRRDvsRAs

Capacitor is built currently by Gimlet.io founder Laszlo Fogas on live streams:

Philosophy

Capacitor wants to be more than a tool that displays Flux's CRDs in tables. Capacitor wants to provide contextualized information for developers to best operate their applications.

Screenshots

Kustomizations: Kustomizations

Error Handling: Capacitor - Error handling

HelmReleases: Capacitor - Helm Releases

Service Logs: Capacitor - Service logs

Roadmap

  • DONE: Flux CRD data ("sync state") backend
  • DONE: Flux CRD data ("sync state") frontend
  • DONE: UI for kubernetes resources deployed by Flux
  • DONE: Quick actions: logs, events, describe, port-forward
  • Displaying Errors
  • Error notifications
  • Support for environments
  • Display application meta information - service catalog items

Star History

Star History Chart

Please push ✨

About

A general purpose UI for FluxCD.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 57.2%
  • Go 39.5%
  • Shell 1.6%
  • HTML 0.9%
  • Makefile 0.5%
  • Dockerfile 0.2%
  • CSS 0.1%