Skip to content

Conversation

@KatyaRyazantseva
Copy link
Contributor

Adds a configuration file system to customize Docker images for lean clients without modifying the codebase.

Related to #83

Key changes:

  • Add --config-file flag to specify custom image overrides
  • Default images in client-cmds/default-client-config.yml
  • Example template in user-config.yml.example
  • Config loader with validation in load-client-config.sh
  • Updated README with usage examples

Usage:

# Use custom images
NETWORK_DIR=local-devnet ./spin-node.sh --node all --config-file user-config.yml

Only override specific clients from the config file - others use defaults automatically.

@g11tech
Copy link
Member

g11tech commented Jan 22, 2026

instead of adding it as a extra flag why don't we make it madatory for network folders (local-network, ansible-network) to have a clients-config.yaml file where this can be specified and read from? also remove individual images reads from client cmds, so its not an override but the original place to specify

@ch4r10t33r
Copy link
Contributor

instead of adding it as a extra flag why don't we make it madatory for network folders (local-network, ansible-network) to have a clients-config.yaml file where this can be specified and read from? also remove individual images reads from client cmds, so its not an override but the original place to specify

The idea behind this custom parameter was to switch to a new image (for local testing) without having to change the client-cmd.sh.

@KatyaRyazantseva
Copy link
Contributor Author

instead of adding it as a extra flag why don't we make it madatory for network folders (local-network, ansible-network) to have a clients-config.yaml file where this can be specified and read from? also remove individual images reads from client cmds, so its not an override but the original place to specify

The long-term goal is to make quickstart possible to run just by pulling the docker image. In this case, we won't have the whole repo available and will need to pass the config file as a parameter. Additionally, the config file may have a custom name and path depending on the user's setup.

Additionally, I'm not a fan of having two separate config files. I would prefer to refactor this (either now or later) into a single file that maintains the separation through structure, for example:

local:
  metrics-port: 8081
  ip: "127.0.0.1"
ansible:
  metrics-port: 8086
  ip: "45.134.126.203"

This approach would use corresponding defaults for each section. Whenever users need to change something on the local or ansible side, they can configure it in one file without duplicating other parameters.

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