{"id":24849243,"url":"https://github.com/bugbiteme/kuadrant-demo","last_synced_at":"2026-02-11T14:03:42.842Z","repository":{"id":257988855,"uuid":"872707328","full_name":"bugbiteme/kuadrant-demo","owner":"bugbiteme","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-16T02:06:42.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-09T05:36:50.749Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bugbiteme.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-14T23:39:04.000Z","updated_at":"2024-10-16T02:06:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"9af1a836-3791-4e5b-a11a-8f9e6778aa48","html_url":"https://github.com/bugbiteme/kuadrant-demo","commit_stats":null,"previous_names":["bugbiteme/kuadrant-demo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bugbiteme/kuadrant-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugbiteme%2Fkuadrant-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugbiteme%2Fkuadrant-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugbiteme%2Fkuadrant-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugbiteme%2Fkuadrant-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bugbiteme","download_url":"https://codeload.github.com/bugbiteme/kuadrant-demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugbiteme%2Fkuadrant-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29333925,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T12:42:24.625Z","status":"ssl_error","status_checked_at":"2026-02-11T12:41:23.344Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-31T12:30:19.944Z","updated_at":"2026-02-11T14:03:42.828Z","avatar_url":"https://github.com/bugbiteme.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# kuadrant-demo\n\nInstructions based on kuadrant installation documentation:\nhttps://docs.kuadrant.io/0.11.0/kuadrant-operator/doc/install/install-openshift/\n\n## Prereqs\n- OpenShift Container Platform 4.16.x or later with community Operator catalog available.\n  - RHDH: `Red Hat OpenShift Container Platform Cluster (AWS)`\n- AWS/Azure or GCP with DNS capabilities.\n- Accessible Redis instance.\n- log into openshift via the CLI ('oc login ...`)\n\n\n## Step 1 - Set up your environment\n\nEnvironment Variable (you can get these from the AWS console)\n\n\n```bash\nexport AWS_ACCESS_KEY_ID=xxxxxxx # Key ID from AWS with Route 53 access\nexport AWS_SECRET_ACCESS_KEY=xxxxxxx # Access key from AWS with Route 53 access\nexport REDIS_URL=redis://user:xxxxxx@some-redis.com:10340 # A Redis cluster URL\n```\n\n## Step 2 - Install Gateway API v1\n\n```\noc apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.0.0/standard-install.yaml\n```\n\nExpected output:\n```\ncustomresourcedefinition.apiextensions.k8s.io/gatewayclasses.gateway.networking.k8s.io created\ncustomresourcedefinition.apiextensions.k8s.io/gateways.gateway.networking.k8s.io created\ncustomresourcedefinition.apiextensions.k8s.io/httproutes.gateway.networking.k8s.io created\ncustomresourcedefinition.apiextensions.k8s.io/referencegrants.gateway.networking.k8s.io created\n```\n\n## Step 3 - Install cert-manager\n(from: https://docs.openshift.com/container-platform/4.16/security/cert_manager_operator/cert-manager-operator-install.html#cert-manager-install-cli_cert-manager-operator-install)\n\nInstallation\n\n```\napply create -f k8/cert-manager \n```\n\nVerify that the OLM subscription is created by running the following command:\n\n```\noc get subscription -n cert-manager-operator\n```\n\nOutput\n```\nNAME                              PACKAGE                           SOURCE             CHANNEL\nopenshift-cert-manager-operator   openshift-cert-manager-operator   redhat-operators   stable-v1\n```\n\nVerify whether the Operator is successfully installed by running the following command:\n\n```\noc get csv -n cert-manager-operator\n```\n\nOutput\n```\nNAME                            DISPLAY                                       VERSION   REPLACES                        PHASE\ncert-manager-operator.v1.14.0   cert-manager Operator for Red Hat OpenShift   1.14.0    cert-manager-operator.v1.13.1   Succeeded\n```\n\n**Note** If `PHASE` shows as `Failed` , delete these resources and try again\n\nDelete:\n```\noc delete -f k8/cert-manager\n```\n\nVerify that the status cert-manager Operator for Red Hat OpenShift is Running by running the following command:\n\n```\noc get pods -n cert-manager-operator\n```\n\nOutput:\n```\nNAME                                                       READY   STATUS    RESTARTS   AGE\ncert-manager-operator-controller-manager-xxx               2/2     Running   0          3m10s\n```\n\nVerify that the status of cert-manager pods is Running by running the following command:\n\n```\noc get pods -n cert-manager\n```\n\nOutput:\n```\nNAME                                      READY   STATUS    RESTARTS   AGE\ncert-manager-7bbf4bdb5b-ncgcv             1/1     Running   0          4m58s\ncert-manager-cainjector-694ddbdd8-6rbsd   1/1     Running   0          4m58s\ncert-manager-webhook-5b599554ff-g6pdz     1/1     Running   0          4m58s\n```\n\n## Step 4 - Install and configure Istio with the Sail Operator \n(Assumes OSSM 3.x rather than Envoy GW with Gateway API provider)\n\n```\noc create -f k8/sail-operator\n```\nOutput:\n```\nnamespace/gateway-system created\noperatorgroup.operators.coreos.com/sail created\nsubscription.operators.coreos.com/sailoperator created\n```\n\nCheck the status of the installation as follows:\n\n```\noc get installplan -n gateway-system -o=jsonpath='{.items[0].status.phase}'\n```\n\nWhen ready, the status will change from `installing` to `complete`\n\n### Configure Istio as a gateway\n\n```\noc apply -f k8/gateway-system\n```\n\nOutput:\n```\nistio.operator.istio.io/default created\n```\nWait for Istio to be ready as follows:\n\n```\noc wait istio/default -n gateway-system --for=\"condition=Ready=true\"\n```\n\nOutput:\n\n```\nistio.operator.istio.io/default condition met\n```\n\n## Step 6 - Optional: Configure observability and metrics (TODO)\n\n## Step 7 - Setup the catalogsource and Kuandrant operator\n\nAccording Kuadrant documentation, before installing the Kuadrant Operator you\nneed to create a `CatalogSource` CR in order to set up secrets that will be \nused later.\n\nI have combined creating `CatalogSource` and installing the Kuadrant operator in one step:\n\n```\noc apply -f k8/kuadrant-system\n```\n\nOutput:\n\n```\nnamespace/kuadrant-system created\ncatalogsource.operators.coreos.com/kuadrant-operator-catalog created\nsubscription.operators.coreos.com/kuadrant-operator created\noperatorgroup.operators.coreos.com/kuadrant created\n```\nWait for the Kuadrant Operators to be installed as follows:\n\n```\noc  get installplan -n kuadrant-system -o=jsonpath='{.items[0].status.phase}'    \n```\nOutput:\n```                       \nComplete\n```\n\n### Set up a DNSProvider\n\nThe example here is for `AWS Route 53`. It is important the secret for the DNSProvider \nis setup in the same namespace as the gateway.\n\nNamespace:\n```\noc create -f k8/ingress-gateway/                                             \n```\n\nOutput:\n```\nnamespace/ingress-gateway created\n```\n  \nSecret creation:\n```\noc -n ingress-gateway create secret generic aws-credentials \\\n  --type=kuadrant.io/aws \\\n  --from-literal=AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \\\n  --from-literal=AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \n```\n\nOutput:\n```\nsecret/aws-credentials created\n```\n\n## Step 9 - Install Kuadrant Components\n\nTo trigger your Kuadrant deployment\n\n```\noc apply -f k8/kuadrant-system-2\n```\n\nOutput:\n```\nkuadrant.kuadrant.io/kuadrant created\n```\n\nThis will setup and configure a number of Kuadrant subcomponents. Some of these can also take additional configuration:\n\n- Authorino (Enforcement Component for AuthPolicy)\n  - Learn More: (Authorino CRD)[https://docs.kuadrant.io/latest/authorino-operator/#the-authorino-custom-resource-definition-crd]\n- Limitador (Enforcement Component for RateLimitPolicy)\n  - Learn More:(Limitador CRD)[https://docs.kuadrant.io/latest/limitador-operator/#features]\n- DNS Operator (Enforcement Component for DNSPOlicy)\n\n```bash\noc get pods      \nNAME                                                              READY   STATUS      RESTARTS   AGE\n47d9bae1bba2b665c8d7af92af72f5f5e40d6a312e18cd3520efa5444cj4s6j   0/1     Completed   0          14m\n8c6622a121e44f73764d24640c6635ade6d1eed22a16d3824c4a56b101vr8xr   0/1     Completed   0          14m\na2b8922a63dde9fbc3c98056388b4d5803a6a7373b972f7ca2304e97389shck   0/1     Completed   0          14m\na71e1d850f27946bc9eed3d71f12b9c3747c4d485278f71baab7db0c1ct9vqm   0/1     Completed   0          14m\nauthorino-848b779d9f-rfvrc                                        1/1     Running     0          2m2s\nauthorino-operator-85df9f449f-bc4lb                               1/1     Running     0          13m\nauthorino-webhooks-86cfc9d5d6-g27cx                               1/1     Running     0          13m\ndns-operator-controller-manager-5bdccfdd4b-kvl6q                  1/1     Running     0          13m\nkuadrant-operator-catalog-d5g66                                   1/1     Running     0          14m\nkuadrant-operator-controller-manager-84f87448c7-jzmdv             1/1     Running     0          13m\nlimitador-limitador-5cbb99d8d6-gjz9p                              1/1     Running     0          2m3s\nlimitador-operator-controller-manager-68598db75b-nzj7h            1/1     Running     0          13m\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbugbiteme%2Fkuadrant-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbugbiteme%2Fkuadrant-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbugbiteme%2Fkuadrant-demo/lists"}