-
Notifications
You must be signed in to change notification settings - Fork 1.8k
OSSM-1148 [DOCS] Istio Ambient mode waypoint docs: L7 features #100107
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
base: service-mesh-docs-main
Are you sure you want to change the base?
OSSM-1148 [DOCS] Istio Ambient mode waypoint docs: L7 features #100107
Conversation
🤖 Wed Oct 08 05:42:57 - Prow CI generated the docs preview: |
@shreyasiddhartha: all tests passed! Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
/label service-mesh |
Confirm configurations and commands with rosa/ipv6/dualstack However, suppose that can be added CLI verification replacing for: 1.
Just to get outputs as for 2. Verified with extra curl pod in default namespace as example requires
And two curl commands: Get request should pass with 200 only from default/curl
with output Post request should fail with 403 even from default/curl
with output |
Good observation Mikhail. Recommending the user to use webbrowser without any instructions for ingress-gw/route will be an incomplete documentation. Mikhail, can you please suggest inline changes so that @shreyasiddhartha can make necessary changes. |
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.
I also like the suggestion from Mikhail about the successful (HTTP 200 OK) and failure scenarios using Auth policies.
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.
Here are inline updates with commands and doc-like words :D
|
||
.Verification | ||
|
||
* Open the `bookinfo` application in a web browser and refresh the page several times. Most requests (90%) are routed to `reviews-v1`, which displays no stars, while a smaller portion (10%) are routed to `reviews-v2`, which displays black stars. No newline at end of file |
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.
Open the `bookinfo` application in a web browser and refresh the page several times. Most requests (90%) are routed to `reviews-v1`, which displays no stars, while a smaller portion (10%) are routed to `reviews-v2`, which displays black stars.
Need to replace verification section as we did not applied gw/route before to make bookinfo accessible in browser, like (example without doc styling) :
Run the following curl command from within the ratings pod to access the productpage. Most responses (90%) will contain reviews-v1
, while a smaller portion (10%) will contain reviews-v2
output.
$ oc exec "$(oc get pod -l app=ratings -n bookinfo \
-o jsonpath='{.items[0].metadata.name}')" -c ratings -n bookinfo \
-- curl -sS productpage:9080/productpage | grep -om1 'reviews-v[12]'
[NOTE] | ||
==== | ||
The `targetRefs` field specifies the service targeted by the authorization policy of the waypoint proxy. | ||
==== No newline at end of file |
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.
Add .Verification section like (example without doc styling) :
To verify access control, deploy a curl application in the default namespace. This is required because the example policy references the cluster.local/ns/default/sa/curl service account:
a. Apply curl application deployment
$ oc apply -n default -f https://raw.githubusercontent.com/openshift-service-mesh/istio/refs/heads/master/samples/curl/curl.yaml
b. Wait curl application is ready
$ oc -n default rollout status deploy/curl --timeout=3m
A GET request to the productpage service should succeed (HTTP 200
) when made from the default/curl pod:
$ oc -n default exec deploy/curl -- sh -c \
'curl -s -o /dev/null -w "HTTP %{http_code}\n" http://productpage.bookinfo.svc.cluster.local:9080/productpage'
A POST request to the same service should be denied (HTTP 403
) due to the applied authorization policy, even when made from the same pod:
$ oc -n default exec deploy/curl -- sh -c \
'curl -s -o /dev/null -w "HTTP %{http_code}\n" -X POST http://productpage.bookinfo.svc.cluster.local:9080/productpage'
A GET request from another service, such as the ratings pod in the bookinfo namespace, will also be denied with RBAC: access denied
. This confirms that only requests from the explicitly allowed service account are permitted.:
$ oc exec "$(oc get pod -l app=ratings -n bookinfo \
-o jsonpath='{.items[0].metadata.name}')" \
-c ratings -n bookinfo \
-- curl -sS productpage:9080/productpage
Clean-up curl application
$ oc delete -n default -f https://raw.githubusercontent.com/openshift-service-mesh/istio/refs/heads/master/samples/curl/curl.yaml
Change type: Doc update; Istio Ambient mode waypoint docs: L7 features
Doc JIRA: https://issues.redhat.com/browse/OSSM-11148
Fix Version: service-mesh-docs-main and service-mesh-docs-3.2
Doc Preview:
SME Review/QE Review:
Peer Review: