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

enhancement: report dependency not installed to kuadrant & policy status #994

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

KevFan
Copy link
Contributor

@KevFan KevFan commented Nov 8, 2024

Description

Closes: #730

Report in the Kuadrant and Policy status when required dependencies are not installed

  • Kuadrant CR
    • Gateway API not installed
    • Gateway Provider (istio / envoy gateway) not intalled
    • Limitador Operator not installed
    • Authorino Operator not installed
  • AuthPolicy CR
    • Gateway API not installed
    • Gateway Provider (istio / envoy gateway) not intalled
    • Authorino Operator not installed
  • RateLimitPolicy CR
    • Gateway API not installed
    • Gateway Provider (istio / envoy gateway) not intalled
    • Limitador Operator not installed
  • TLSPolicy CR (does not require a Gateway Provider)
    • Gateway API not installed
    • CertManager not installed
  • DNSPolicy CR (does not require a Gateway Provider)
    • Gateway API not installed
    • DNS Operator not installed

Verification

  • Gateway API and Gateway API provider status are tested by integration tests, so passing integration tests should be enough

To verify other status:

  • Create cluster
make local-setup
  • Delete CRDs to simulate not installed
# DNS Operator
kubectl delete crd dnsrecords.kuadrant.io   
# Authorino Operator                                                                    
kubectl delete crd authconfigs.authorino.kuadrant.io
kubectl delete crd authorinos.operator.authorino.kuadrant.io
# Limitador Operator
kubectl delete crd limitadors.limitador.kuadrant.io
# Cert Manager
kubectl delete crd certificates.cert-manager.io
  • Apply CRs
kubectl apply -f config/samples/kuadrant_v1_authpolicy.yaml                                      
kubectl apply -f config/samples/kuadrant_v1_dnspolicy.yaml
kubectl apply -f config/samples/kuadrant_v1_ratelimitpolicy.yaml
kubectl apply -f config/samples/kuadrant_v1_tlspolicy.yaml
kubectl apply -f config/samples/kuadrant_v1beta1_kuadrant.yaml
  • Check status
kubectl get kuadrant kuadrant-sample -o yaml | yq '.status'
kubectl get authpolicy authpolicy-sample -o yaml | yq '.status'
kubectl get ratelimitpolicy ratelimitpolicy-sample -o yaml | yq '.status'
kubectl get dnspolicy dnspolicy-sample -o yaml | yq '.status'
kubectl get tlspolicy tlspolicy-sample -o yaml | yq '.status'
image

@KevFan KevFan force-pushed the issues/730 branch 7 times, most recently from d01d7fc to 90b4385 Compare November 15, 2024 09:18
@KevFan KevFan self-assigned this Nov 15, 2024
@KevFan KevFan added kind/enhancement New feature or request size/medium labels Nov 15, 2024
@KevFan KevFan changed the title Issues/730 enhancement: report dependency not installed to kuadrant & policy status Nov 15, 2024
@KevFan KevFan marked this pull request as ready for review November 15, 2024 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement New feature or request size/medium
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[state-of-the-world] common policy status controller
1 participant