-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Open
streamnative/pulsar-archived
#5181Labels
Description
Search before asking
- I searched in the issues and found nothing similar.
Motivation
Currently the JavaInstanceStarter uses JCommander to parse command line args. However in certain cases reading from command line is not very flexible (think we need to use a env var as an argument but the container has no shell access). Thus we need to support reading configs from a file.
This is necessary for :
- update replicas will cause all pods been rescheduled streamnative/function-mesh#368
- Build distroless package for better security, smaller size, speed and more streamnative/function-mesh#448
BTW, we can provide a new issue for python as well.
Solution
Solution:
- add a new command line flag "--config_file" and accepts a file URl
- read the file using
PulsarConfigurationLoaderand create a new classJavaInstanceConfiguration extends PulsarConfiguration. - Config priority : command line > conf file.
- Create a new validation class the make sure required field are either provided in the file or via command line interface (this means we need to make all JCommander required field non-required)
We need to make sure this new feature would not break any existing code.
Alternatives
No response
Anything else?
No response
Are you willing to submit a PR?
- I'm willing to submit a PR!
Reactions are currently unavailable