github.com/IBM-Blockchain/fabric-operator@v1.0.4/README.md (about) 1 # fabric-operator 2 3 **fabric-operator** is an open-source, cloud-native [Operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) 4 for managing Hyperledger Fabric networks on Kubernetes. The operator follows the [CNCF Operator Pattern](link), 5 reducing the minutia of performing repetitive, detailed configuration tasks to automated activities performed under 6 the guidance of software-based controllers. 7 8 Using the operator, a Fabric network is realized in a declarative fashion by applying a series of `CA`, `Peer`, 9 `Orderer`, and `Console` resources to the Kubernetes API. In turn, the controller executes a _reconciliation loop_, 10 orchestrating containers, storage, and configuration to achieve the desired target state. 11 12 In nautical terms, fabric-operator serves as the _eXecutive Officer / XO_ of a vessel. It 13 allows you, the captain, to invest valuable time and energy formulating strategic objectives for a blockchain 14 deployment. The operator, or XO, is responsible to enact the plan, and _"make it so."_ 15 16 _Fabric, Ahoy!_ 17 18  19 20 21 ## Feature Benefits 22 23 - [x] It slices 24 - [x] It dices 25 - [ ] It folds your laundry 26 - [x] It configures Fabric networks 27 - [x] It configures Fabric networks on any Kube (even on your laptop) 28 - [x] It configures Fabric networks with K8s APIs (kubectl, kustomize, helm, SDK clients,...) 29 - [x] It configures Fabric networks with a web browser 30 - [x] It configures Fabric networks with Ansible 31 - [x] It configures Fabric networks with native Fabric CLI binaries 32 - [x] It configures Fabric networks with CI/CD and git-ops best-practices 33 - [x] It deploys _Chaincode Now!!!_ (integrated `ccaas` and `k8s` external builders) 34 - [x] It detects expiring and expired x509 certificates 35 - [x] It will provide migration and future LTS revision support 36 - [x] It manages hybrid cloud, multi-org, and multi-cluster Fabric networks 37 - [x] It runs on pure containerd _and_ mobyd (no dependencies on Docker/DIND) 38 - [x] It provides wildcard DNS, SNI, and OCP domain ingress routing 39 - [x] It is battle tested 40 - [x] It is backed by commercial-grade, enterprise support offerings from IBM 41 - [x] It ... _just works_. Enjoy! 42 43 44 ## Future Benefits 45 46 - [ ] Declarative Fabric resources : `Channel`, `Chaincode`, `Organization`, `Consortium` / MSP, ... CRDs 47 - [ ] Service Mesh Overlay (Linkerd, Istio, ...) with mTLS 48 - [x] Metrics and observability with [Prometheus and Grafana](./docs/prometheus.md) 49 - [ ] Operational management: Log aggregation, monitoring, alerting 50 - [ ] Modular CAs (Fabric CA, cert-manager.io, Vault, letsencrypt, ...) 51 - [ ] Automatic x509 certificate renewal 52 - [ ] Backup / Recovery / Upgrade 53 - [ ] Idemixer, Token SDK, BFT Orderer 54 - [ ] Layer II blockchain integration (Cactus, Weaver, Token SDK, ...) 55 - [ ] `kubectl`, `fabctl`, `fabric-cli` command-line extensions. 56 57 58 ## Build a Fabric Network 59 60 - Build a [sample-network](sample-network) with Kube APIs. 61 - [Build a Network](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-build-network) with the [Fabric Operations Console](https://github.com/hyperledger-labs/fabric-operations-console). 62 - Automate your network with [Ansible Playbooks](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ansible) and the Console REST APIs. 63 64 65 ## Build the Fabric Operator 66 67 - How to [compile](docs/DEVELOPING.md#build-the-operator) the operator 68 - How to [unit test](docs/DEVELOPING.md#unit-tests) the operator 69 - How to [launch + debug](docs/DEVELOPING.md#debug-the-operator) the operator 70 - How to [contribute](docs/CONTRIBUTING.md) to this project. 71 72 73 ## Community Guidelines 74 75 - This is an open community project. Be KIND to your peers. 76 - Focus on **outcomes** (_where are we going_), not **mechanics** (_how will we get there_). 77 - Discussion, Comments, and Action at Hyperledger Discord : [#fabric-kubernetes](https://discord.gg/hyperledger) 78