falcon icon indicating copy to clipboard operation
falcon copied to clipboard

Registry for Chaincode Lifecycle Management

Open tittuvarghese opened this issue 2 years ago • 0 comments

It is hard to manage chaincode lifecycle in purely distributed environment. It is good to have a central registry and automated jobs to pull the latest version, and perform installation & approval of the chaincode at every peer. (Installation on every peer, approval at org level).

Following are the features to be considered,

  1. Central registry / can leverage filestore itself
  2. Dashboard to manage lifecycle and upload chaincodes (Falcon ops dashboard)
  3. Job associated with every peer to pull and install new chaincode
  4. Job to approve chaincode if new version is installed. (Based on the version)
  5. Feedback mechanism to central dashboard for job status. (For tracking)
  6. Chaincode commit and rollback mechanism from dashboard (Falcon ops dashboard)

Sample payload which can be pulled by JOB to perform the cc lifecycle management jobs.

{
    "myproject": {
        "version": "1",
        "cc_name": "chaincode-test",
        "channel_name": "mychannel",
        "cc_file_name": "chaincode_10.tar.gz",
        "cc_checksum": "e7cd90cfac934c0f6f44a5ee5db98c10da7fdafe5e9ed969d1f60a9b93809e15",
        "cc_collection_config": "true",
        "cc_collection_config_file_name": "collection-config-sample.json",
        "cc_collection_config_checksum": "7bc74976fde72bcbed113eeebcdb173f3e33a4df014589b7ed5ec20b89a1f61b",
        "registry": "http://cc-central-registry.myhlfdomain.com/registry",
        "base_path": "myproject",
        "package_id": "chaincode_10:e7cd90cfac934c0f6f44a5ee5db98c10da7fdafe5e9ed969d1f60a9b93809e15"
    }
}

tittuvarghese avatar Dec 16 '23 13:12 tittuvarghese