Hi Jose I want to clarify that the file parsing that Argparse4j provides is just a mechanism for taking command line args and putting them in a file. It doesn't actually change what the command line args are for processing the file. So I can add any kafka-storage command line arg into the file including say the storage UUID. I see that the file parsing will be useful in the future as we add more record types to add for the bootstrap process.
I'm against adding specific parsing for a list of configs vs. a separate JSON file as it is adding more surface area that needs testing for a feature that is used infrequently. One config method should be sufficient for one or more SCRAM records that a customer wants to bootstrap with. Thanks for the feedback --Proven On Mon, Feb 13, 2023 at 1:56 PM José Armando García Sancio <jsan...@confluent.io.invalid> wrote: > Thanks for the discussion Colin and Proven. > > CLIs can be difficult to design when there are complicated use cases. > Did we consider having CLI flags only for the common case? I would > think that the common case is SCRAM for one user. > > For the complicated and less common cases they have to provide a > "configuration file" that contains all of the SCRAM users and their > passwords. > > The common case could be: > --scram-user alice > --scram-algo SHA-256 > --scram-password ... > --scram-salt ... > --scram-iterations ... > > If the user wants to provide multiple scram configurations they need > to use --scram-config <path-to-file>. The file would be human readable > (maybe JSON or .properties) and contains the scram configuration for > multiple users. > > -- > -José >