fabric-operator is an open-source, cloud-native Operator for managing Hyperledger Fabric networks on Kubernetes. The operator follows the CNCF Operator Pattern, reducing the minutia of performing repetitive, detailed configuration tasks to automated activities performed under the guidance of software-based controllers.
Using the operator, a Fabric network is realized in a declarative fashion by applying a series of CA
, Peer
,
Orderer
, and Console
resources to the Kubernetes API. In turn, the controller executes a reconciliation loop,
orchestrating containers, storage, and configuration to achieve the desired target state.
In nautical terms, fabric-operator serves as the eXecutive Officer / XO of a vessel. It allows you, the captain, to invest valuable time and energy formulating strategic objectives for a blockchain deployment. The operator, or XO, is responsible to enact the plan, and "make it so."
Fabric, Ahoy!
- It slices
- It dices
- It folds your laundry
- It configures Fabric networks
- It configures Fabric networks on any Kube (even on your laptop)
- It configures Fabric networks with K8s APIs (kubectl, kustomize, helm, SDK clients,...)
- It configures Fabric networks with a web browser
- It configures Fabric networks with Ansible
- It configures Fabric networks with native Fabric CLI binaries
- It configures Fabric networks with CI/CD and git-ops best-practices
- It deploys Chaincode Now!!! (integrated
ccaas
andk8s
external builders) - It detects and automatically re-enrolls TLS certificates
- It will provide migration and future LTS revision support
- It manages hybrid cloud, multi-org, and multi-cluster Fabric networks
- It runs on pure containerd and mobyd (no dependencies on Docker/DIND)
- It provides wildcard DNS, SNI, and OCP domain ingress routing
- It is battle tested
- It is backed by commercial-grade, enterprise support offerings from IBM
- It ... just works. Enjoy!
- Declarative Fabric resources :
Channel
,Chaincode
,Organization
,Consortium
/ MSP, ... CRDs - Service Mesh Overlay (Linkerd, Istio, ...) with mTLS
- Metrics and observability with Prometheus and Grafana
- Operational management: Log aggregation, monitoring, alerting
- Modular CAs (Fabric CA, cert-manager.io, Vault, letsencrypt, ...)
- Backup / Recovery / Upgrade
- Idemixer, Token SDK, BFT Orderer
- Layer II blockchain integration (Cactus, Weaver, Token SDK, ...)
-
kubectl
,fabctl
,fabric-cli
command-line extensions.
- Build a multi-org network on a local KIND development cluster.
- Build a sample-network with Kube APIs.
- Build a Network with the Fabric Operations Console.
- Automate your network with Ansible Playbooks and the Console REST APIs.
- How to compile the operator
- How to unit test the operator
- How to launch + debug the operator
- How to contribute to this project.
- This is an open community project. Be KIND to your peers.
- Focus on outcomes (where are we going), not mechanics (how will we get there).
- Discussion, Comments, and Action at Hyperledger Discord : #fabric-kubernetes