npci/falcon
Falcon: The Hyperledger Fabric Deployment Helper for Kubernetes is an open-source project designed to streamline the deployment and management of Hyperledger Fabric based blockchain networks on K8.
5 Releases
Latest: 1y ago
Falcon:v1.2.0v1.2.0Latest
📦 Multi channel support is available.
- 1. Removed `.Values.config_transaction_filename`. Job will create txn file named as `<channel-name>.tx` due to multi-channel support.
- 2. Removed `Values.channel_block_filename`. Job will create channel block file named as `<channel-name>.block` due to multi-channel support.
- 3. Removed `Values.hlf_channel` and added multi-channel support. Use `.Values.app_channels` a list of channels to be created. Example.
- ```
- app_channels:
- mychannel1
- mychannel2
- ```
- + 18 more
📦 Job: Configure-org-channel
- 1. Corrected typo in variable name `.Values.organizatons` to `.Values.organizations`
- 2. Removed `identity_name` & `identity_secret` fields from `.Values.organizations` array since it is not required.
- 3. Added support to delete orgs from channel. Added new field "status" with acceptable values `active` or `disabled` for add/remove an org respectively. Example;
- ```
- name: org1
- ica_endpoint: ica-org1.my-hlf-domain.com:30000
- anchor_peer: peer0-org1.my-hlf-domain.com
- anchor_peer_port: 30000
- + 2 more
📦 Job: Cryptogen
- 1. Changed variable `.Values.organizations` to `Values.admin_organizations`
- 2. Changed Org type value from `peerorg` type to `consortium` for the consortium member org.
- 3. Removed `.Values.channel_artifact_dir`
- 4. Removed `.Values.base_dir`
- 5. Removed `.Values.hlf_channel`
- 6. Removed `.Values.config_transaction_filename`
- 7. Added `.Values.configTxProfileType`
- 8. Added `.Values.consortiumName`
- + 1 more
📦 Charts: fabric-orderer
- 1. Added individual `hlf_domain` support for `orderers`. Optional
- 2. Added option to add commands/args to orderers in-case if required.
- 3. Fixed orderer data pvc variable name mismatch
- 4. Changed the tcp health to http health check since the tcp health check was causing handshake error in orderer.
📦 Chart: fabric-peer
- 1. Changed `.Values.global.peerServicePort` from `30002` to `7051`
- 2. Added option to choose ingress as optional for peers.
📋 What's Changed
- Add support to delete orgs from channel by @jithindevasia in https://github.com/npci/falcon/pull/21
- Removed default nginx annotations from fabric-ca default values file by @jithindevasia in https://github.com/npci/falcon/pull/22
- Adding multi channel support on channel creation job by @jithindevasia in https://github.com/npci/falcon/pull/26
- Fixed orderer data pvc variable name mismatch by @jithindevasia in https://github.com/npci/falcon/pull/27
- Fixed peer cert pvc issue by @jithindevasia in https://github.com/npci/falcon/pull/28
- Removed Org admin credentials from Org addition job by @jithindevasia in https://github.com/npci/falcon/pull/30
- Added individual hlf_domain support for orderers by @jithindevasia in https://github.com/npci/falcon/pull/33
- Fixed ingress optional bug for peers by @jithindevasia in https://github.com/npci/falcon/pull/36
- + 4 more
Falcon:v1.1.0v1.1.0
📦 Chart : fabric-ops
- 1. Separated all fabric-ops jobs and configmaps to different template files for easy management.
- 2. Filestore fileupload/download are now separated into functions in the common script.
- 3. Fixed bug on the filestore upload as it was reporting successful upload even if the uploads were failing.
- 4. Restructured the common functions such as enrollment function to support msp/tls enrollments.
- 5. Removed the dependency on `identity_type` to decide whether tls/msp enrollement is needed.
- Job: `approve-chaincode`
- 1. Removed `job_type: chaincode_ops` and only `.Values.fabric_actions.approve_chaincode` to `true` is required.
- 9. Modified `.Values.ca.tlss_ca_endpoint` to `.Values.tlsca_endpoint`
- + 41 more
📦 Chart : fabric-orderer
- 1. Modified `.Values.global.enroll_on_every_pod_recreation` to `.Values.global.require_certs_dir_persistence` which is more readable. This can be set per orderer or globally.
- 2. Changed `.Values.block_file` to `.Values.global.block_file`. This can be overridden using `.block_file` per orderer when deploying new orderers with different genesis blockfile.
- 4. Added `.renew_orderer_certs` for re-generating certs. This will delete the existing certs and do new enrollment on pod startup.
- 6. Ingress resource is now optional, you can turn it off using `ingressEnabled` true/false globally or per orderer.
- 7. Modified `.Values.ca.ica_endpoint` to `.Values.global.ica_endpoint`
- 8. Modified `.Values.ca.tlsca_endpoint` to `.Values.global.tlsca_endpoint`
- 10. Removed env variable `ORDERER_GENERAL_GENESISFILE` from values file since this value needs to be customised per orderer using (.block_file). This env is now part of deployment template.
- 11. Added new field `.additionalEnvironmentVars` for indiviaul orderes if required to add custom env variable unique to orderers.
- + 2 more
📦 Chart : fabric-peer
- 1. Modified `.Values.enroll_on_every_pod_recreation` to `.Values.global.require_certs_dir_persistence`. This can be specified under global or per peer.
- 2. Added `.renew_peer_certs` for re-generating certs. This will delete the existing certs and do new enrollment. This has to be specified per peer.
- 3. Added new field `.additionalEnvironmentVars` for individual peers if required to add custom env variable unique to peer. This can be specified per peer or globally.
- 4. Ingress resource is now optional, you can turn it off using `ingressEnabled` true/false globally or per peer.
- 5. Modified `.Values.ica_tls_cert_file` to `.Values.ica_tls_certfile`
- 6. Modified `.Values.tlsca_tls_cert_file` to `.Values.tlsca_tls_certfile`
📦 Chart : fabric-ca
- 1. Now supports additional domain name in csr. Use `.Values.ca_server.additional_sans` to provide list of additional tls domains if required.
- 2. Added PVC support to store intermediate-ca-cert when running in ICA mode. So that the pod does not have to fetch the parent ca certificate on every pod restart.
✨ Orderer addition
- 1. Orderer addition in a running fabric network is now supported.
✨ Renew orderer TLS cert
- 1. This job will update the TLS cert of an orderer identity in the channel.
Falcon:v1.0.2v1.0.2
✨ v1.0.2 features:
- Peers & Orderes charts
- Added a new feature to skip msp/tls enrollments on every pod recreation through the boolean variable `enroll_on_every_pod_recreation`. If set to `true`, (by default) then deployment/sts will use an emptydir ephemeral volume for storing the certs and on every pod re-creation the init container performs the enrollment. If set to `false`, a pvc will be created from the given storageclass and stores the certificates there. On pod recreation, the init script checks the existence of the certs and skip the enrollment if the the certs exists.
- This will remove the dependency on the CA Server when a peer/orderer pod gets recreated due to any node failure. (But for the very first deployment, the CA server end-point should be available.)
- Filestore chart
- Added custom hostname/fqdn support for the filestore endpoint. This will remove the dependency on running filestore end-point with the same HLF domain. You can override the default chart generated filestore endpoint with any resolvable dns (If you have one already) using the `.Values.hostOverride` with your own FQDN.
- Added optional TLS support for the filestore ingress resource. To do that, create a kubenetes secret of tls type and provide it here in `.Values.ingress.tls.secretName`
- Peer
- New option to renew peer certificates. Set `.Values.renew_peer_certs: true ` to delete the existing certificates and generate new certs through an enrollment. Once the certs got renewed, change this to false again via a helm upgrade. Make this to true only when you want to renew the certs.
- + 12 more
Falcon:v1.0.1v1.0.1
📋 Changes
- Standardized all storage-class to "standard" in the example setup. Previously it was a mix of standard & standard-rwo.
- Updated Orderers / Tools charts to support _StorageClass_ value to be passed from values file. Previously it was hard coded.
- Added additional ENV variable support on Peer / Orderer charts. Now you can add additional ENV variables of individual pods from values file.
- Added _NodeSelector_, _Affinity_, _Tolerations_, _Resources_, _Probes_, _SecurityContext_ to Peer charts. Some of them were hard coded in 1.0.0 version.
- Fixed Imagepullpolicy value mapping on all charts. Few of them were hard coded previously.
Falcon:v1.0.0v1.0.0
✨ Features
- [x] CA Management (Root CA, TLS CA & Intermediate CAs)
- [x] Peer Creation
- [x] Orderer Creation
- [x] Channel Management
- [x] Chaincode Lifecycle Management (Install, Approve, Commit and CC Upgrades)
- [x] Cryptographic operations support and certification management
- [x] Domain Name support and SNI Based Routing
- [x] Ingress resource provisioning
- + 3 more