-
Notifications
You must be signed in to change notification settings - Fork 15
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
Use NSM-envs from the client application #101
Comments
@denis-tingaikin @edwarnicke |
@glazychev-art Could you provide concrete examples of things we might do with them? |
@edwarnicke Imagine the case when external client wants set Mutually Aware Group |
@LionelJouin Do you anticipate using the annotations for cases where you need to set a Mutually Aware Group? |
@edwarnicke no, I don't think so, we are not using the webhook. |
@glazychev-art @denis-tingaikin Do we have someone using Webhooks for more complex cases? Do we have a need ourselves there... or are we trying to get ahead of needs? |
@edwarnicke This could be useful for invariant testing. Moreover, I think this is actual question. What if external client wants to tune up nsc configuration? |
I think we might be inrested in support next syntax: networkservicemesh.io: | {{. mechanism }}://{{ .serviceName}}/{{ .interfaceName }}?{{. labels }}
{{.envConfig} Example: networkservicemesh.io: | kernel://ns-1/nsm-1
NSM_DIAL_TIMEOUT=5s
NSM_MAX_TOKEN_LIFE_TIME=30s
... Thoughts? |
What if we have multiple Network Services to which a Pod wishes to connect? |
Thats an intresting question. For this case we need change syntax to this networkservicemesh.io: |
{{.envConfig}
{{. mechanism1 }}://{{ .serviceName1}}/{{ .interfaceName1 }}?{{. labels1}}
{{. mechanism2 }}://{{ .serviceName2}}/{{ .interfaceName2 }}?{{. labels2}}
...
{{. mechanismN }}://{{ .serviceNameN}}/{{ .interfaceNameN }}?{{. labelsN}} Or we could simply add a new annotation networkservicemesh.io/env.config: |
{{.envConfig} |
I am concerned here are that all the use cases we have so far involve us wanting to tweak our test cases. Introducing complex parameter tweaking into our test cases makes it less likely that things just 'work' out of the box with a simple single line annotation. |
We don't want to use this for testing. We need this for users who want to enable @edwarnicke Makes sense? |
@denis-tingaikin Do we have users currently? |
At this moment we dont get any requests. I also saw that, for local datapath debug could be super useful to disable data path to avoid ton of icmp requests in traces. |
Description
We have a many NSM envs that allow us to configure the NSC in the best possible way:
https://github.com/networkservicemesh/cmd-nsc/blob/main/internal/config/config.go#L31-L43
And we definitely can do it when we use a bare NSC, without any actual client application.
But this is not the main use case for NSM - users can add
networkservicemesh
annotations:NetworkServices
orMechanism
- we can take it from the annotation. But what about others? What if the user wants to addAwarenessGroups
and so on?Possible solutions:
NSM_
prefixed envs that are passed by user and inject them into NSM-containersnetworkservicemesh.io
annotation and add new parametersThe text was updated successfully, but these errors were encountered: