-
Notifications
You must be signed in to change notification settings - Fork 43
Adding mTLS kuadrant installation mode #1170
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
Conversation
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.
There is a few comments that I have. I didn't try running this locally.
I would like to point out with the state of the world and the topology any time you find your self request data from the cluster you are doing something wrong
7b55e2a
to
83a6d54
Compare
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 think this is now at the stage where we need to be able to compile and run the operator to do a good review. It is getting close.
da6de62
to
e64e213
Compare
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.
Very good progress.
Few questions:
- If the gateway provider is not Istio and a user enables mtls, should we report in kuadrant status?
When a user deletes a gateway, the peerAuthentications objects gets deleted? (not very important now and can be tackled in follow up PR's)(I learned that one peerAuthentications is created at the kuadrant namespace)
Trying to run the verification steps: it fails with
Consider granting required permissions to the operator |
@eguzki thanks for you reviews. I've been caught up with other work but starting to address those now. Need to rebase first. 🤕 😂 |
0117f93
to
8554127
Compare
5f377cc
to
eda5877
Compare
Signed-off-by: Laura Fitzgerald <[email protected]>
Cannot add the deployment of Authorino to the topology without adding all the cluster deployment to the topology. Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
@david-martin done with this. Ready for another review. I just addressed your comment and added the link from kuadrant CR to the PeerAuthentication on the topology. |
tests/commons.go
Outdated
@@ -691,3 +692,14 @@ func IsRLPAcceptedAndEnforced(g Gomega, ctx context.Context, cl client.Client, p | |||
g.Expect(enforcedCond.Status).To(Equal(metav1.ConditionTrue)) | |||
g.Expect(enforcedCond.Reason).To(Equal(string(kuadrant.PolicyReasonEnforced))) | |||
} | |||
|
|||
func AuthorionIsReady(cl client.Client, key client.ObjectKey) func(g Gomega, ctx context.Context) { |
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.
func AuthorionIsReady(cl client.Client, key client.ObjectKey) func(g Gomega, ctx context.Context) { | |
func AuthorinoIsReady(cl client.Client, key client.ObjectKey) func(g Gomega, ctx context.Context) { |
sorry :)
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.
🙈
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.
done
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Nice one @laurafitzgerald @eguzki getting this change over the line. |
What
Closes #1153
Changes
kuadrant.io/managed: "true"
. Remove it when mTLS mode is offsidecar.istio.io/inject
label. Value depends on mTLS mode.sidecar.istio.io/inject
label. Value depends on mTLS mode.envoy.transport_sockets.tls
)is limitador installed logic-> at controller boot time the CRDs can only be checked, the limitador resource depends on kuadrant cr.Deployment.spec.template.label mutatorLinkDeploymentToAuthorinoCannot add the deployment of Authorino to the topology without adding all the cluster deployment to the topology.Report a status to the cr when istio is not installed-> Follow up work to be done described in When mTLS is enabled and Istio is not installed in the cluster then report in the status #1263 (this PR is already too big)Doc-> will be addressed as part of Update documentation to reflect the new method of configuration. #1154Verification steps
The storyboard is:
kubectl wait --timeout=300s --for=condition=Ready kuadrant kuadrant-sample -n kuadrant-system
Result should show
false
Turn mtls ON
kubectl patch kuadrant kuadrant-sample --type=merge --patch '{"spec": {"mtls": {"enable": true}}}' -n kuadrant-system
Result should show
true
It should return
403
and429
s.which should have the following spec
which should have the following spec
which should have the following spec
Which should return
Which should return
Turn mtls OFF
kubectl patch kuadrant kuadrant-sample --type=merge --patch '{"spec": {"mtls": null}}' -n kuadrant-system
Result should show
false
It should return
403
(forbidden) and429
s (too many requests).which should return
which should return empty.
which should return empty.
false
Which should return
false
.false
Which should return
false
.