Skip to content
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

Prevent ossification of ambient #43614

Closed
howardjohn opened this issue Feb 25, 2023 · 6 comments
Closed

Prevent ossification of ambient #43614

howardjohn opened this issue Feb 25, 2023 · 6 comments
Labels
Ambient Beta Must have for Beta of Ambient Mesh area/ambient Issues related to ambient mesh lifecycle/staleproof Indicates a PR or issue has been deemed to be immune from becoming stale and/or automatically closed

Comments

@howardjohn
Copy link
Member

In ambient, we have made a lot of design decisions, from behaviors, APIs, headers, etc. All of this is "alpha". Given the size and scope of these changes, and that we probably only have one opportunity to "get it right", it's critical that we can make the right decisions.

IMO, this can only reasonably done through iteration. Theoretically the feature progression between alpha beta stable provides this. In practice, things have been historically locked in after the first alpha release (1.18 for ambient).

To avoid this, we should make explicit measures to avoid ossification in ambient so that we have flexibility to make required changes.

Ideas:

  • prefix APIs with experimental-
  • Very very clear, alarms blaring, warning documentation
  • Following above, make uses explicitly acknowledge the alpha style in ambient??
  • Vague idea - intentionally make breaking changes. This is likely only useful if we remain in alpha for a long time without any natural changes. This is a bit like the Google SRE trick or intentional downtime when exceeding SLOs.

cc @costinm

@costinm
Copy link
Contributor

costinm commented Feb 25, 2023

I think most impact will be to have alpha/experimental off by default, with narrow opt-in ( workload ) and clear experimental- prefix.

We can also have an install mode that clearly indicates it's experimental and unsupported and allows broader use for testing.

@GregHanson
Copy link
Member

and clear experimental- prefix.

@costinm what does this include? Labels, annotations, headers, API's? Waypoint/Gateway naming (GatewayClassName for instance)?

@costinm
Copy link
Contributor

costinm commented Feb 28, 2023

It may ne better to identify first what we do want to treat as stable:

  • api - K8S Gateway seems clear, a subset of Istio beta APIs ( authz, etc ) - when applied to a gateway
  • an narrow subset of api that apply to ztunnel
  • default protocol based on h2 and a subset of headers
  • MCS API if we can finish enabing it
  • ???

I think most install options, labels, annotations are to be treated as experimental - for a long time we had the goal to either promote to CRD and beta or deprecate. That probably won't work for sidecar/original Istio, but may work for ambient if we start right.

@istio-policy-bot istio-policy-bot added the lifecycle/stale Indicates a PR or issue hasn't been manipulated by an Istio team member for a while label May 30, 2023
@GregHanson
Copy link
Member

not stale

@istio-policy-bot istio-policy-bot removed the lifecycle/stale Indicates a PR or issue hasn't been manipulated by an Istio team member for a while label Jun 6, 2023
@istio-policy-bot istio-policy-bot added the lifecycle/stale Indicates a PR or issue hasn't been manipulated by an Istio team member for a while label Sep 5, 2023
@hanxiaop
Copy link
Member

hanxiaop commented Sep 5, 2023

not stale

@istio-policy-bot istio-policy-bot removed the lifecycle/stale Indicates a PR or issue hasn't been manipulated by an Istio team member for a while label Sep 5, 2023
@keithmattix keithmattix added the Ambient Beta Must have for Beta of Ambient Mesh label Sep 5, 2023
@istio-policy-bot istio-policy-bot added the lifecycle/stale Indicates a PR or issue hasn't been manipulated by an Istio team member for a while label Dec 5, 2023
@hanxiaop hanxiaop added the lifecycle/staleproof Indicates a PR or issue has been deemed to be immune from becoming stale and/or automatically closed label Dec 5, 2023
@istio-policy-bot istio-policy-bot added lifecycle/stale Indicates a PR or issue hasn't been manipulated by an Istio team member for a while and removed lifecycle/stale Indicates a PR or issue hasn't been manipulated by an Istio team member for a while labels Dec 5, 2023
@craigbox
Copy link
Contributor

As we are now moving towards Beta, I imagine we can close this issue. Please re-open if you disagree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Ambient Beta Must have for Beta of Ambient Mesh area/ambient Issues related to ambient mesh lifecycle/staleproof Indicates a PR or issue has been deemed to be immune from becoming stale and/or automatically closed
Projects
Status: Done
Development

No branches or pull requests

7 participants