UNPKG

@fairmint/canton-node-sdk

Version:
458 lines (457 loc) 11.7 kB
{ "$schema": "http://json-schema.org/schema#", "type": "object", "properties": { "imagePullPolicy": { "type": "string" }, "auth": { "type": "object", "description": "The authentication configuration for the application" }, "svValidator": { "type": "boolean", "description": "Whether this validator is part of an SV node" }, "spliceInstanceNames": { "type": "object", "description": "The names unique for the splice instance, must be specified as provided in the docs" }, "uiPollInterval": { "type": "number", "description": "The interval in milliseconds to poll the UI for updates" } }, "allOf": [ { "if": { "properties": { "svValidator": { "const": false } } }, "then": { "required": ["validatorPartyHint"], "properties": { "validatorPartyHint": { "type": "string", "pattern": "^[a-zA-Z0-9-_]+$", "description": "The validator party hint to use for the validator" } } }, "else": { "required": [], "properties": { } } }, { "if": { "properties": { "topup": { "properties": { "enabled": { "const": true } } } } }, "then": { "required": ["topup"], "properties": { "topup": { "type": "object", "required": ["targetThroughput", "minTopupInterval"], "properties": { "targetThroughput": { "type": "integer", "minimum": 0 }, "minTopupInterval": { "type": "string", "pattern": "^[0-9]+[smh]$" } } } } } }, { "required": [ "defaultJvmOptions", "enableWallet", "imageRepo", "migration", "nodeIdentifier", "persistence", "scanAddress", "spliceInstanceNames" ], "properties": { "imageRepo": { "type": "string" }, "imageDigests": { "type": "object" }, "defaultJvmOptions": { "type": "string" }, "additionalJvmOptions": { "type": "string" }, "resources": { "type": "object", "properties": { "limits": { "type": "object", "properties": { "cpu": { "type": ["number", "string"] }, "memory": { "type": ["number", "string"] } } }, "requests": { "type": "object", "properties": { "cpu": { "type": ["number", "string"] }, "memory": { "type": ["number", "string"] } } } } }, "metrics": { "type": "object", "properties": { "enable": { "type": "boolean" }, "release": { "type": "string" }, "interval": { "type": "string", "pattern": "^[0-9]+[smh]$" } } }, "persistence": { "type": "object", "required": [ "databaseName", "schema", "host", "port", "user", "secretName" ], "properties": { "databaseName": { "type": "string" }, "schema": { "type": "string" }, "host": { "type": "string" }, "port": { "type": "integer" }, "user": { "type": "string" }, "secretName": { "type": "string" } } }, "migrateValidatorParty": { "type": "boolean" }, "migration": { "type": "object", "required": ["id"], "properties": { "id": { "description": "The migration id of the synchronizer" }, "migrating": { "type": "boolean" }, "attachPvc": { "type": "boolean" } } }, "pvc": { "type": "object", "properties": { "volumeName": { "type": "string" }, "volumeStorageClass": { "type": "string" } } }, "failOnAppVersionMismatch": { "type": "boolean" }, "fixedTokens": { "type": "boolean" }, "enableWallet": { "type": "boolean" }, "enablePostgresMetrics": { "type": "boolean" }, "nodeSelector": { "type": "object" }, "affinity": { "type": "object" }, "tolerations": { "type": "array" }, "auth": { "type": "object", "required": ["audience", "jwksUrl"], "properties": { "audience": { "type": "string", "description": "The JWT audience for tokens used against the validator app API" }, "jwksUrl": { "type": "string", "pattern": "^http[s]?://.+$", "description": "The URL for the JWKS endpoint for the validator app API" } } }, "disableAuth": { "type": "boolean" }, "if": { "properties": { "disableAuth": { "const": "true" } } }, "then": { "required": [ "auth" ] }, "scanAddress": { "type": "string" }, "nonSvValidatorTrustSingleScan": { "type": "boolean" }, "useSequencerConnectionsFromScan": { "type": "boolean" }, "extraDomains": { "type": "array", "items": { "type": "object", "properties": { "alias": { "type": "string" }, "url": { "type": "string" } } } }, "participantIdentitiesDumpPeriodicBackup": { "type": "object", "properties": { "backupInterval": { "type": "string", "pattern": "^[0-9]+[smh]$" }, "location": { "type": "object", "properties": { "bucket": { "type": "object", "properties": { "jsonCredentials": { "type": "string" }, "projectId": { "type": "string" }, "secretName": { "type": "string" } } }, "prefix": { "type": "string" } } } } }, "participantAddress": { "type": "string" }, "svSponsorAddress": { "type": "string" }, "nodeIdentifier": { "type": "string" }, "appDars": { "type": "array", "items": { "type": "string" } }, "additionalUsers": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "additionalConfig": { "type": "string" }, "cluster": { "type": "object", "properties": { "fixedTokens": { "type": "boolean" } } }, "onboardingSecretFrom": { "type": "object", "properties": { "secretKeyRef": { "type": "object", "properties": { "key": { "type": "string" }, "name": { "type": "string" }, "optional": { "type": "boolean" } } } } }, "disableIngestUpdateHistoryFromParticipantBegin": { "type": "boolean" }, "contactPoint": { "type": "string" }, "livenessProbeInitialDelaySeconds": { "type": "integer" }, "participantIdentitiesDumpImport": { "type": "object", "properties": { "newParticipantIdentifier": { "type": "string" }, "secretName": { "type": "string" } } }, "spliceInstanceNames": { "type": "object", "properties": { "networkName": { "type": "string", "pattern": "^[a-zA-Z0-9-_ ]+$", "description": "The name of the network as provided in the docs" }, "networkFaviconUrl": { "type": "string", "pattern": "^http[s]?://.+$", "description": "The URL for the favicon for the network as provided in the docs" }, "amuletName": { "type": "string", "pattern": "^[a-zA-Z0-9-_ ]+$", "description": "The name of Amulets on this network, as provided in the docs" }, "amuletNameAcronym": { "type": "string", "pattern": "^[a-zA-Z0-9]+$", "description": "The acronym for the name of Amulets on this network, as provided in the docs" }, "nameServiceName": { "type": "string", "pattern": "^[a-zA-Z0-9-_ ]+$", "description": "The name of the Name Service on this network, as provided in the docs" }, "nameServiceNameAcronym": { "type": "string", "pattern": "^[a-zA-Z0-9]+$", "description": "The acornum of the name of Name Service on this network, as provided in the docs" } } }, "txLogBackfilling": { "type": "object", "enabled": { "type": "boolean" }, "batchSize": { "type": "integer" } } } }, { "oneOf": [ { "properties": { "validatorWalletUser": { "type": "string" } }, "required": ["validatorWalletUser"], "not": { "required": ["validatorWalletUsers"] } }, { "properties": { "validatorWalletUsers": { "type": "array", "items": { "type": "string" } } }, "required": ["validatorWalletUsers"], "not": { "required": ["validatorWalletUser"] } } ] } ] }