Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
A
Adrian Duke
simulation: Add justfile and network.cue topology definition
CI — 0 passed, 1 failed
z6Mki2ag...Tyuy failure
9 days ago d197ab613952427c917110af6930a57366d99cdc History
heartwood simulation instances network.cue
package main

// Pre-calculated NIDs.
#BootstrapNIDs: {
	"bootstrap-0": "z6MkhJ3cwzpAoNjFnJXWETSPHcDyw2HuBVEhgkyTfbjQHY1B"
	"bootstrap-1": "z6MkjcaeSHhQVJU1UeXpnHHZ6mp67zDfQYNMDotHGxbrk7Nj"
	"bootstrap-2": "z6MkjNGhuJvdp2noidRMLqco4jFnNNSWzCxSZH5nJV1pGrwQ"
	"bootstrap-3": "z6MkpEsXUMSnmyfwdEVkAKijTxGy9WKmNoHWpoxxLM6bbz9M"
}

// Shared configs
#SeedAddress: {
	nid:   string
	name:  string
	role:  string | *"bootstrap"
	index: int | *0
	out:   "\(nid)@\(name)-\(index).\(role).default.svc.cluster.local:8776"
}

#BaseBootstrapSeedConfig: {
	node: {
		listen: ["0.0.0.0:8776"]
		seedingPolicy: {
			default: "allow"
			scope:   "all"
		}
		...
	}
	...
}

#BasePeerConfig: {
	node: {
		listen: []
		peers: type: "dynamic"
		connect: []
		externalAddresses: []
		log:   "INFO"
		relay: "auto"
		limits: {
			routingMaxSize:   1000
			routingMaxAge:    604800
			gossipMaxAge:     1209600
			fetchConcurrency: 1
			maxOpenFiles:     4096
			rate: {
				inbound: {fillRate: 5.0, capacity: 1024}
				outbound: {fillRate: 10.0, capacity: 2048}
			}
			connection: {inbound: 128, outbound: 16}
			fetchPackReceive: "500.0 MiB"
		}
		seedingPolicy: default: "block"
		...
	}
	...
}

values: {
	topology: {
		// Instances
		"bootstrap-v1-8-0": {
			role:          "bootstrap"
			version:       "1.8.0"
			replicas:      1
			nodeIdSeed:    "bootstrap-0"
			radicleConfig: #BaseBootstrapSeedConfig
		}
		"peer-v1-8-0": {
			role:          "peer"
			version:       "1.8.0"
			replicas:      1
			radicleConfig: #BasePeerConfig & {
				preferredSeeds: [
					(#SeedAddress & {nid: #BootstrapNIDs["bootstrap-0"], name: "bootstrap-v1-8-0"}).out,
				]
			}
		}
	}
}