-
Notifications
You must be signed in to change notification settings - Fork 324
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
Support the value $POD_NAME
for the annotation
#982
Conversation
3c7db3c
to
400b8fc
Compare
$POD_NAME
for the annotation `consul.hashicorp.co…$POD_NAME
for the annotation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, left a minor comment which is 100% not blocking :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
…m/service-meta-pod_name`
400b8fc
to
6ff8ff6
Compare
@@ -9,6 +9,8 @@ IMPROVEMENTS: | |||
* Allow customization of `terminationGracePeriodSeconds` on the ingress gateways. [[GH-947](https://github.com/hashicorp/consul-k8s/pull/947)] | |||
* Support `ui.dashboardURLTemplates.service` value for setting [dashboard URL templates](https://www.consul.io/docs/agent/options#ui_config_dashboard_url_templates_service). [[GH-937](https://github.com/hashicorp/consul-k8s/pull/937)] | |||
* Allow using dash-separated names for config entries when using `kubectl`. [[GH-965](https://github.com/hashicorp/consul-k8s/pull/965)] | |||
* Control Plane | |||
* Support the value `$POD_NAME` for the annotation `consul.hashicorp.com/service-meta-pod_name` that will now be interpolated and set to the pod name in the service's metadata. [[GH-982](https://github.com/hashicorp/consul-k8s/pull/982)] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@thisisnotashwin it's supported for any meta annotation right? Not just service-meta-pod_name
but also service-meta-foo
for example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not really. I asked @david-yu and the ask from the customer is to only support $POD_NAME
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@thisisnotashwin Similar question that @lkysow asked. Should it support any meta annotation? I'm looking to also grab the pod-namespace. I can make a similar PR but then we get into different territory of adding every single metadata that we might need and doesn't seem sustainable
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or would it make sense to add another value for $POD_NAMESPACE
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @jeenx !! Currently we have only added support for the value $POD_NAME. I agree that adding a separate PR per env var is not sustainable, but in this case, these env vars are not actually set in the runtime env. We are actually replacing it with the value pod.Name()
. Hence we would need to this do on a per env basis as it is hard to determine whether the desired variable does exist in the env or not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's also important to note that this isn't actually an env var. We're doing this in the endpoints controller that doesn't have access to the actual pod's environment variables. So we can only support data we actually have when looking at the pod yaml.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it, would it be possible to add all that data that is available on the pod (e.g, namespace
)?
Changes proposed in this PR:
consul.hashicorp.com/service-meta-pod_name: $POD_NAME
where $POD_NAME will be replaced with the Pod's name. This mimics the support we had before the endpoints controller where environment variables were interpolated for tags.How I've tested this PR:
How I expect reviewers to test this PR:
Checklist: