Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overhaul Agent configuration/CLI configuration #1865

Closed
Tracked by #2357
nambrot opened this issue Feb 22, 2023 · 6 comments
Closed
Tracked by #2357

Overhaul Agent configuration/CLI configuration #1865

nambrot opened this issue Feb 22, 2023 · 6 comments
Assignees
Labels
agent dx permissionless permissionless deployments PI

Comments

@nambrot
Copy link
Contributor

nambrot commented Feb 22, 2023

This ticket captures work to more fundamentally rearchitect agent configuration. This can either look like changing the current config library to not be based around the path-encoding ENV vars, but something more conventional. That possibly could be a lot of work and backwards compatability has to be considered, so this ticket is an investigate ticket.

An alternative could be a CLI that builds configuration in a wizard like fashion (and could be reused for other configuration).

Previous version:

Configuring Agents (and hyperlane-deploy) is super manual and the configuration surface area is massive (and super awk with ENV vars). There are related but also separate things to think about:

  • Overhaul agent configuration
    The current way to building up an object from config files and ENV vars that encode the path in it is not intuitive to most people. At the same time, changing that can be quite difficult. Maybe there are smaller scope things that can be done in the short-term (i.e. are command line args possible) but it is possible that the only way forward is a rewrite of the configuration loading part. (see Investigate ways to improve config loading errors #1593 for further context

  • CLI for configuration building
    avalanche and others have some very nice CLIs that basically build configuration through interactive wizards, store configuration in persistent memory and make it accessible-exportable. This could help with our config woes as operators could just use this to ultimately get the config they desire (either at that "wizard-time", or it specifies which exact ENV vars to set).

@nambrot nambrot added agent investigate dx permissionless permissionless deployments PI labels Feb 22, 2023
@nambrot
Copy link
Contributor Author

nambrot commented Mar 16, 2023

Easy to miss the need to specify mailboxes and IGPs when doing warp route deploy

@nambrot nambrot changed the title Rehaul configuration/CLI configuration Rehaul Agent configuration/CLI configuration Mar 16, 2023
@nambrot
Copy link
Contributor Author

nambrot commented Mar 24, 2023

In general, i think folks don't look at docs or guides to figure out what to run, but more often than not just run the binary/container. Ideally, the error message should indicate things like required/optional flags, how to format, etc.

@mattiekat
Copy link
Contributor

@nambrot
Copy link
Contributor Author

nambrot commented Mar 29, 2023

It just occurred to me, how hard is it to extend the current configuration scheme we have to use command line args? I know we don't love our current scheme, but as far as I can tell it might be not that dificult maybe?

@nambrot
Copy link
Contributor Author

nambrot commented Mar 29, 2023

Splitting out #2034 and #2033 , and keeping this as an investigate for a larger effort

@jmrossy
Copy link
Contributor

jmrossy commented Aug 5, 2023

CLI takes a big step towards wizard-like config generation. See here: #2573

@avious00 avious00 changed the title Rehaul Agent configuration/CLI configuration Overhaul Agent configuration/CLI configuration Sep 8, 2023
@avious00 avious00 closed this as completed Sep 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agent dx permissionless permissionless deployments PI
Projects
Archived in project
Development

No branches or pull requests

4 participants