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  ![Operator Components](docs/images/fabric-operator-components.png)
    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