-
Notifications
You must be signed in to change notification settings - Fork 344
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
Change from free form options to a typed model #72
Comments
This is the current set of options for 1.7: One thing to think about as well is regarding the organization of such options. Should they be split by component, like, "CollectorOptions" and "QueryOptions"? This would make it possible to reuse these objects for the apiVersion: io.jaegertracing/v1alpha1
kind: Jaeger
metadata:
name: typed-options
spec:
strategy: production
collector:
queue-size: 100
agent:
discovery:
min-peers: 10
storage:
type: cassandra
cassandra:
servers: cassandra
keyspace: jaeger_v1_datacenter3
schema:
datacenter: "datacenter3"
mode: "test" Then there's a question on what to do with options that are used for different components, in different ways, like the health check port ( apiVersion: io.jaegertracing/v1alpha1
kind: Jaeger
metadata:
name: typed-options
spec:
strategy: production
collector:
queue-size: 100
health-check-port: 14269 # applies this value to all components if strategy is production |
Yes I think we should use this opportunity to have options in specific categories related to their function. I think we should deal with other cases, that are not clear cut, on a case by case basis. We should also carefully consider whether all options should be exposed, or whether it is something that the operator could take responsibility for. I don't have anything specific in mind - but the health check could be a good example. We should discuss whether it really needs to be exposed to the user. |
Closing, there are no plans to change the options to a strongly typed variant. The validation can be done in the validating webhook. |
As discussed in #71 (comment), the current CRD uses a free format
options
field to allow the user to pass parameters through to the executables.Although this means that the user could take advantage of new options without requiring a new release of the operator, it also means that incorrect options can be specified and passed to the executables as parameters - resulting in the executable throwing an error.
Having a properly typed model in the CRD means that:
The text was updated successfully, but these errors were encountered: