From ba442140050f97a2de8f559448943b981d197280 Mon Sep 17 00:00:00 2001 From: Javier Viola Date: Wed, 5 Feb 2025 10:54:50 +0100 Subject: [PATCH 1/2] feat(orchestrator): add default_args for parachain --- javascript/packages/cli/src/actions/convert.ts | 4 ++-- javascript/packages/orchestrator/src/configGenerator.ts | 3 ++- javascript/packages/orchestrator/src/configTypes.ts | 1 + javascript/packages/orchestrator/src/sharedTypes.ts | 1 + javascript/packages/utils/src/types.ts | 1 + 5 files changed, 7 insertions(+), 3 deletions(-) diff --git a/javascript/packages/cli/src/actions/convert.ts b/javascript/packages/cli/src/actions/convert.ts index a62d80c7b..23d7f2f72 100644 --- a/javascript/packages/cli/src/actions/convert.ts +++ b/javascript/packages/cli/src/actions/convert.ts @@ -111,7 +111,7 @@ function convertSimpleParachain( invulnerable: true, }; - return { id: +id, collators: [collator] }; + return { id: +id, collators: [collator], default_args: [] }; } function convertParachain( @@ -133,7 +133,7 @@ function convertParachain( }), ); - return { id: +id, chain, collators }; + return { id: +id, chain, collators, default_args: [] }; } function convertHrmpChannels( diff --git a/javascript/packages/orchestrator/src/configGenerator.ts b/javascript/packages/orchestrator/src/configGenerator.ts index 1b26e2659..cf12e4f9e 100644 --- a/javascript/packages/orchestrator/src/configGenerator.ts +++ b/javascript/packages/orchestrator/src/configGenerator.ts @@ -407,6 +407,7 @@ export async function generateNetworkSpec( name: getUniqueName(parachain.id.toString()), para, cumulusBased: isCumulusBased, + defaultArgs: parachain.default_args || [], addToGenesis: parachain.add_to_genesis === undefined ? true @@ -553,7 +554,7 @@ async function getCollatorNodeFromConfig( cumulusBased: boolean, group?: string, ): Promise { - let args: string[] = []; + let args: string[] = sanitizeArgs(parachain.default_args || []); const env = collatorConfig.env ? DEFAULT_ENV.concat(collatorConfig.env) diff --git a/javascript/packages/orchestrator/src/configTypes.ts b/javascript/packages/orchestrator/src/configTypes.ts index b7b590729..26769f3c0 100644 --- a/javascript/packages/orchestrator/src/configTypes.ts +++ b/javascript/packages/orchestrator/src/configTypes.ts @@ -123,6 +123,7 @@ export interface ParachainConfig extends CommonParachainConfig { collator?: NodeConfig; collators?: NodeConfig[]; collator_groups?: NodeGroupConfig[]; + default_args: string[]; } export interface NodeGroupConfig extends NodeCommonTypes { diff --git a/javascript/packages/orchestrator/src/sharedTypes.ts b/javascript/packages/orchestrator/src/sharedTypes.ts index 0760a4243..7acc301dc 100644 --- a/javascript/packages/orchestrator/src/sharedTypes.ts +++ b/javascript/packages/orchestrator/src/sharedTypes.ts @@ -53,6 +53,7 @@ export interface Parachain extends CommonParachainConfig { wasmPath?: string; statePath?: string; collators: Node[]; + defaultArgs: string[]; } export interface Node extends NodeCommonTypes, Ports { diff --git a/javascript/packages/utils/src/types.ts b/javascript/packages/utils/src/types.ts index ac5e018f7..b56d1b56b 100644 --- a/javascript/packages/utils/src/types.ts +++ b/javascript/packages/utils/src/types.ts @@ -101,6 +101,7 @@ export interface ParachainConfig { collators?: NodeConfig[]; collator_groups?: NodeGroupConfig[]; genesis?: JSON | ObjectJSON; + default_args: string[]; } export interface HrmpChannelsConfig { From 972c9253f2205e82c3796cb017c7f247c1ef58b2 Mon Sep 17 00:00:00 2001 From: Javier Viola Date: Wed, 5 Feb 2025 10:57:59 +0100 Subject: [PATCH 2/2] add docs --- docs/src/network-definition-spec.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/src/network-definition-spec.md b/docs/src/network-definition-spec.md index ef738e9e5..107dab2f2 100644 --- a/docs/src/network-definition-spec.md +++ b/docs/src/network-definition-spec.md @@ -80,6 +80,7 @@ The network config can be provided both in `json` or `toml` format and each sect - `*id`: (Number) The id to assign to this parachain. Must be unique. - `add_to_genesis`: (Boolean, default true) flag to add parachain to genesis or register in runtime. - `cumulus_based`: (Boolean, default true) flag to use `cumulus` command generation. + - `default_args`: (Array of strings) An array of arguments to use as default to pass to the `command` side. _NOTE_: this args will be passed to the collator side and shouldn't include _args_ to the full node. - `genesis_wasm_path`: (String) Path to the wasm file to use. - `genesis_wasm_generator`: (String) Command to generate the wasm file. - `genesis_state_path`: (String) Path to the state file to use.