-
Notifications
You must be signed in to change notification settings - Fork 674
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
design: Add a pattern for adding extensible status information to HTTPProxy #2495
Comments
This commit enables the status subresource for HTTPProxy. This means that: - normal HTTPProxy changes that include updates to the `status` stanza will have the status updates dropped - updates to `status` can only be made using requests to the status subresource. Also changes the HTTPProxy status updating to use the status subresource, and adds RBAC for Contour to be able to update it. Having the status subresource enabled is best-practice for CRDs and will be a foundation for further status work. It also means that HTTPProxy objects no longer need to include the `status` stanza to be valid. Updates projectcontour#2495 Signed-off-by: Nick Young <ynick@vmware.com>
This would be a much welcome addition for us:
Our solution for now is to emit detailed events (success/error) attached to the The only thing missing for a full CD pipeline would be for |
This commit enables the status subresource for HTTPProxy. This means that: - normal HTTPProxy changes that include updates to the `status` stanza will have the status updates dropped - updates to `status` can only be made using requests to the status subresource. Also changes the HTTPProxy status updating to use the status subresource, and adds RBAC for Contour to be able to update it. Having the status subresource enabled is best-practice for CRDs and will be a foundation for further status work. It also means that HTTPProxy objects no longer need to include the `status` stanza to be valid. Updates projectcontour#2495 Signed-off-by: Nick Young <ynick@vmware.com>
That's a good point @bgagnon - As I start experimenting with adding Conditions to HTTPProxy, I'll make sure I try out the support In addition, after talking to @jpeach and @stevesloka today, I'm going to go ahead with #2371, and add the |
This commit enables the status subresource for HTTPProxy. This means that: - normal HTTPProxy changes that include updates to the `status` stanza will have the status updates dropped - updates to `status` can only be made using requests to the status subresource. Also changes the HTTPProxy status updating to use the status subresource, and adds RBAC for Contour to be able to update it. Having the status subresource enabled is best-practice for CRDs and will be a foundation for further status work. It also means that HTTPProxy objects no longer need to include the `status` stanza to be valid. Updates projectcontour#2495 Signed-off-by: Nick Young <ynick@vmware.com>
This commit enables the status subresource for HTTPProxy. This means that: - normal HTTPProxy changes that include updates to the `status` stanza will have the status updates dropped - updates to `status` can only be made using requests to the status subresource. Also changes the HTTPProxy status updating to use the status subresource, and adds RBAC for Contour to be able to update it. Having the status subresource enabled is best-practice for CRDs and will be a foundation for further status work. It also means that HTTPProxy objects no longer need to include the `status` stanza to be valid. Updates projectcontour#2495 Signed-off-by: Nick Young <ynick@vmware.com>
This commit enables the status subresource for HTTPProxy. This means that: - normal HTTPProxy changes that include updates to the `status` stanza will have the status updates dropped - updates to `status` can only be made using requests to the status subresource. Also changes the HTTPProxy status updating to use the status subresource, and adds RBAC for Contour to be able to update it. Having the status subresource enabled is best-practice for CRDs and will be a foundation for further status work. It also means that HTTPProxy objects no longer need to include the `status` stanza to be valid. Refactors the `k8s.UnstructuredConverter` to have FromUnstructured and ToUnstructured methods, and uses ToUnstructured where required. Updates projectcontour#2495 Signed-off-by: Nick Young <ynick@vmware.com>
This commit enables the status subresource for HTTPProxy. This means that: - normal HTTPProxy changes that include updates to the `status` stanza will have the status updates dropped - updates to `status` can only be made using requests to the status subresource. Also changes the HTTPProxy status updating to use the status subresource, and adds RBAC for Contour to be able to update it. Having the status subresource enabled is best-practice for CRDs and will be a foundation for further status work. It also means that HTTPProxy objects no longer need to include the `status` stanza to be valid. Refactors the `k8s.UnstructuredConverter` to have FromUnstructured and ToUnstructured methods, and uses ToUnstructured where required. Updates projectcontour#2495 Signed-off-by: Nick Young <ynick@vmware.com>
This commit enables the status subresource for HTTPProxy. This means that: - normal HTTPProxy changes that include updates to the `status` stanza will have the status updates dropped - updates to `status` can only be made using requests to the status subresource. Also changes the HTTPProxy status updating to use the status subresource, and adds RBAC for Contour to be able to update it. Having the status subresource enabled is best-practice for CRDs and will be a foundation for further status work. It also means that HTTPProxy objects no longer need to include the `status` stanza to be valid. Refactors the `k8s.UnstructuredConverter` to have FromUnstructured and ToUnstructured methods, and uses ToUnstructured where required. Updates projectcontour#2495 Signed-off-by: Nick Young <ynick@vmware.com>
This commit enables the status subresource for HTTPProxy. This means that: - normal HTTPProxy changes that include updates to the `status` stanza will have the status updates dropped - updates to `status` can only be made using requests to the status subresource. Also changes the HTTPProxy status updating to use the status subresource, and adds RBAC for Contour to be able to update it. Having the status subresource enabled is best-practice for CRDs and will be a foundation for further status work. It also means that HTTPProxy objects no longer need to include the `status` stanza to be valid. Refactors the `k8s.UnstructuredConverter` to have FromUnstructured and ToUnstructured methods, and uses ToUnstructured where required. Updates #2495 Signed-off-by: Nick Young <ynick@vmware.com>
Updates the DAG StatusClient to use the StatusUpdateWriter pattern. Fixes projectcontour#2560 Fixes projectcontour#2580 Fixes projectcontour#2522 We should be able to remove the StatusClient eventually, but that API also needs refactoring for adding Conditions (currently under projectcontour#2495), so for now I've just updated it to send updates via the StatusUpdateWriter rather than make API calls directly. Signed-off-by: Nick Young <ynick@vmware.com>
Updates the DAG StatusClient to use the StatusUpdateWriter pattern. Fixes projectcontour#2560 Fixes projectcontour#2580 Fixes projectcontour#2522 We should be able to remove the StatusClient eventually, but that API also needs refactoring for adding Conditions (currently under projectcontour#2495), so for now I've just updated it to send updates via the StatusUpdateWriter rather than make API calls directly. Signed-off-by: Nick Young <ynick@vmware.com>
Updates the DAG StatusClient to use the StatusUpdateWriter pattern. Fixes projectcontour#2560 Fixes projectcontour#2580 Fixes projectcontour#2522 We should be able to remove the StatusClient eventually, but that API also needs refactoring for adding Conditions (currently under projectcontour#2495), so for now I've just updated it to send updates via the StatusUpdateWriter rather than make API calls directly. Signed-off-by: Nick Young <ynick@vmware.com>
Updates the DAG StatusClient to use the StatusUpdateWriter pattern. Fixes projectcontour#2560 Fixes projectcontour#2580 Fixes projectcontour#2522 We should be able to remove the StatusClient eventually, but that API also needs refactoring for adding Conditions (currently under projectcontour#2495), so for now I've just updated it to send updates via the StatusUpdateWriter rather than make API calls directly. Signed-off-by: Nick Young <ynick@vmware.com>
Updates the DAG StatusClient to use the StatusUpdateWriter pattern. Fixes projectcontour#2560 Fixes projectcontour#2580 Fixes projectcontour#2522 We should be able to remove the StatusClient eventually, but that API also needs refactoring for adding Conditions (currently under projectcontour#2495), so for now I've just updated it to send updates via the StatusUpdateWriter rather than make API calls directly. Signed-off-by: Nick Young <ynick@vmware.com>
Updates the DAG StatusClient to use the StatusUpdateWriter pattern. Fixes projectcontour#2560 Fixes projectcontour#2580 Fixes projectcontour#2522 We should be able to remove the StatusClient eventually, but that API also needs refactoring for adding Conditions (currently under projectcontour#2495), so for now I've just updated it to send updates via the StatusUpdateWriter rather than make API calls directly. Signed-off-by: Nick Young <ynick@vmware.com>
Updates the DAG StatusClient to use the StatusUpdateWriter pattern. Fixes #2560 Fixes #2580 Fixes #2522 We should be able to remove the StatusClient eventually, but that API also needs refactoring for adding Conditions (currently under #2495), so for now I've just updated it to send updates via the StatusUpdateWriter rather than make API calls directly. Signed-off-by: Nick Young <ynick@vmware.com>
Updates projectcontour#2495. Signed-off-by: Nick Young <ynick@vmware.com>
Updates projectcontour#2495. Signed-off-by: Nick Young <ynick@vmware.com>
@youngnick what were the thoughts around the basic info bits? I was looking to add things like Poking around a bit we need to add an Something like:
Then if we re-use the same
I'd like to agree on what we thing we should call all this bits. In this example I named it (@skriss ) |
Adds a details subcodition array to the DetailedCondition allowing for more information to be exposed to users via an HTTPProxy Conditions struct. Things like fqdn, included paths or headers can be written to child proxies allowing users to understand what has been included to them from a parent resource. Updates projectcontour#2495 Signed-off-by: Steve Sloka <slokas@vmware.com>
Adds a details subcodition array to the DetailedCondition allowing for more information to be exposed to users via an HTTPProxy Conditions struct. Things like fqdn, included paths or headers can be written to child proxies allowing users to understand what has been included to them from a parent resource. Updates projectcontour#2495 Signed-off-by: Steve Sloka <slokas@vmware.com>
Adds a details subcodition array to the DetailedCondition allowing for more information to be exposed to users via an HTTPProxy Conditions struct. Things like fqdn, included paths or headers can be written to child proxies allowing users to understand what has been included to them from a parent resource. Updates projectcontour#2495 Signed-off-by: Steve Sloka <slokas@vmware.com>
Why would you not just add these fields directly to status? |
Makes sense to me @jpeach, was just trying to follow the idea of the conditions spec idea. Following the thread of just adding to the status struct could have something like this:
|
Other bits of information like who my parent is, might be interesting to follow the chain of inclusion around. |
We'll talk about this more, but my initial thoughts were:
|
This commit removes all trace of the `contour.heptio.com` annotations, and updates a few `heptio` references I found as well. Closes projectcontour#2495. Signed-off-by: Nick Young <ynick@vmware.com>
This commit removes all trace of the `contour.heptio.com` annotations, and updates a few `heptio` references I found as well. This support has been deprecated since Contour v1.8.0 in September. Closes projectcontour#2495. Signed-off-by: Nick Young <ynick@vmware.com>
This commit removes all trace of the `contour.heptio.com` annotations, and updates a few `heptio` references I found as well. This support has been deprecated since Contour v1.8.0 in September. Closes projectcontour#2495. Signed-off-by: Nick Young <ynick@vmware.com>
Closed by mistake, my bad. |
The Contour project currently lacks enough contributors to adequately respond to all Issues. This bot triages Issues according to the following rules:
You can:
Please send feedback to the #contour channel in the Kubernetes Slack |
The Contour project currently lacks enough contributors to adequately respond to all Issues. This bot triages Issues according to the following rules:
You can:
Please send feedback to the #contour channel in the Kubernetes Slack |
This issue covers the work to add more information to HTTPProxy's
status
stanza.Features we need from HTTPProxy's status stanza:
Blocks #2325, through this blocks #370, #432, and #1691, and #399
Blocks #2021
Blocks #2371
Blocks #1598
Blocks #2141
Previous work was in #1868, although that was before I knew about Conditions.
We may also need to consider changing theWe did need to update to a subresource to make handling the status updates easier, and to allow separate RBAC of them.status
stanza to be an actual subresource, although that may be a large enough change that it should be a new document versionThe text was updated successfully, but these errors were encountered: