Skip to content

Add Fabric-X Single-Container Devnet Environment - #798

Merged
umegbewe merged 17 commits into
hyperledger-labs:mainfrom
HarK-github:fabx_staticfeats
Aug 14, 2026
Merged

Add Fabric-X Single-Container Devnet Environment#798
umegbewe merged 17 commits into
hyperledger-labs:mainfrom
HarK-github:fabx_staticfeats

Conversation

@HarK-github

@HarK-github HarK-github commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Description:

This pull request introduces the Fabric-X development environment to Fablo. It establishes a dynamic, Docker-based distributed Byzantine Fault Tolerant (BFT) orchestration system that allows developers to generate and provision fully containerized Fabric-X topologies, complete with multi-node consensus and independent microservice routing.

Changes:

  • Fabric-X Integration: Engineered the core generation engine and templating architecture to support Fabric-X network definitions within Fablo, introducing:

    • Cryptographic definitions (crypto-config.yaml)
    • Channel profiles tailored for ARMA orderer types (configtx.yaml)
    • ARMA distributed shared configurations (shared_config.yaml)
    • Client tool environment settings (fxconfig.yaml)
    • Dynamic microservice configurations for the BFT cluster and committers (config/assembler.yaml, config/batcher.yaml, config/consenter.yaml, config/router.yaml, etc.)
  • Docker Orchestration: Docker Compose provisioning system that dynamically generates and orchestrates 9 core microservice containers (including router, batcher, consenter, and assembler) per BFT node across multi-organization deployments.

  • Makefile Automation: Makefile workflow (make init, make start) for cryptographic generation, genesis block creation, and the Docker container lifecycle.

  • State Lifecycle Management: Built the cryptographic mounting process within the Docker containers, utilizing a secondary alpine step to prevent directory-mount panics and ledger state consistency issues.

  • Consensus Configuration: Created parameterized crypto-config, configtx, and shared_config templates to dynamically support N-party orderer devnets based on the user's topology configuration.

Closes: #789

Screenshots

Screenshot Screenshot
image image

@MaryamArif7

Copy link
Copy Markdown
Contributor

@HarK-github
src/setup-docker/index.ts(74,24): error TS2339: Property 'fabricx' does not exist on type 'FabloConfigExtended'.

Noticed this uses "fabricx" instead of "fabric-x" which is what's already in the schema and my #788 checks.

@HarK-github
HarK-github marked this pull request as draft July 30, 2026 06:53
@HarK-github
HarK-github marked this pull request as ready for review July 31, 2026 04:46
- Refactored index.ts to dynamically render 9 microservice configs per BFT node
- Replaced monolithic docker-compose with multi-org templated compose
- Fixed client-tls-ca.pem directory mount panic via alpine find command
- Removed legacy static mock-orderer and sidecar configurations

Signed-off-by: Harshit Kandpal <kandpalhar@gmail.com>
Signed-off-by: Harshit Kandpal <kandpalhar@gmail.com>
Signed-off-by: Harshit Kandpal <kandpalhar@gmail.com>
Comment thread src/setup-docker/templates/fabric-x/compose.test-committer.yaml.ejs Outdated
Comment thread src/setup-docker/templates/fabric-x/compose.test-committer.yaml.ejs Outdated
Comment thread src/setup-docker/templates/fabric-x/compose.test-committer.yaml.ejs Outdated
Comment thread src/setup-docker/templates/fabric-x/.gitignore Outdated
Comment thread src/setup-docker/templates/fabric-x/fxconfig.yaml.ejs Outdated
Comment thread src/setup-docker/templates/fabric-x/Makefile.ejs Outdated
@HarK-github
HarK-github requested a review from umegbewe August 3, 2026 14:05
Signed-off-by: Harshit Kandpal <kandpalhar@gmail.com>
…templates

Signed-off-by: Harshit Kandpal <kandpalhar@gmail.com>
Signed-off-by: Harshit Kandpal <kandpalhar@gmail.com>
Signed-off-by: Harshit Kandpal <kandpalhar@gmail.com>
…r-compose.yaml

Signed-off-by: Harshit Kandpal <kandpalhar@gmail.com>
…xtures

Signed-off-by: Harshit Kandpal <kandpalhar@gmail.com>
…le) and clean stale comments from docker-compose.yaml

Signed-off-by: Harshit Kandpal <kandpalhar@gmail.com>
Comment thread src/setup-docker/templates/fabric-x/config/sidecar.yaml
Comment thread src/setup-docker/templates/fabric-x/config/query-service.yaml
Comment thread src/setup-docker/templates/fabric-x/shared-config.yml
Comment thread src/setup-docker/templates/fabric-x/config/validator.yaml
Comment thread src/setup-docker/templates/fabric-x/config/verifier.yaml
Signed-off-by: Harshit Kandpal <kandpalhar@gmail.com>
@HarK-github
HarK-github requested a review from umegbewe August 11, 2026 18:00
@umegbewe
umegbewe merged commit b3d2124 into hyperledger-labs:main Aug 14, 2026
10 checks passed
@mergify

mergify Bot commented Aug 14, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants