Skip to content

save reusable solo flags in RemoteConfig #1178

@jeromy-cannon

Description

@jeromy-cannon

We removed the local caching of flags in ConfigManager to avoid issues with multi-cluster support. Now that we have RemoteConfig, it makes sense to store certain values in it to leverage for commands and subcommands for a better user experience.

  • Add all of the flags that are re-usable across multiple subcommands that are needed for network deploy to the deployment create subcommand to store in the remote config:
    • node aliases
    • release tag
    • solo chart version
    • (anything else?)
  • During the deployment create subcommand, as well as the network deploy subcommand store common flag values in remote config for reuse (specification: RemoteConfigSpecification)
    • node aliases unparsed (nodeAliasesUnparsed: string, getNodeAliases(): string[])
    • solo chart version (soloChartVersion: string)
    • hedera platform release tag (hederaPlatformReleaseTag: string)
    • chart directory (soloChartsDirectory: string)
    • local build path (hederaPlatformLocalBuildPath: string)
  • update commands/subcommands that have use these re-usable flags so that:
    • if a user does not specify the flag value as an command line argument and the flag/value exists in the remote config, use the value from the remote config and do not prompt the user for a value.
    • if the value specified by the user does not match what is in the remote config, throw a warning telling the user that the remote config value and the specified value does not match, and display those values.
      • Furthermore, if the force flag AND quiet flag is not set, then prompt the user if they wish to continue with the specified values or the remote config values.

NOTE: this could be broken up into multiple separate issues for smaller PRs, or have multiple smaller PRs relate to this single GitHub Issue.

Metadata

Metadata

Assignees

Labels

Multiple Cluster SupportIssues which are only required to enable Solo support for multi-cluster deployments.P1High priority issue. Required to be completed in the assigned milestone.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions