{"id":47593895,"url":"https://github.com/osc/keycloak-cr-operator","last_synced_at":"2026-05-28T23:01:46.447Z","repository":{"id":343109271,"uuid":"1175405570","full_name":"OSC/keycloak-cr-operator","owner":"OSC","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-09T19:12:15.000Z","size":298,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-10T11:43:03.427Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/OSC.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-07T17:06:58.000Z","updated_at":"2026-03-24T16:06:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/OSC/keycloak-cr-operator","commit_stats":null,"previous_names":["osc/keycloak-cr-operator"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/OSC/keycloak-cr-operator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSC%2Fkeycloak-cr-operator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSC%2Fkeycloak-cr-operator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSC%2Fkeycloak-cr-operator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSC%2Fkeycloak-cr-operator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OSC","download_url":"https://codeload.github.com/OSC/keycloak-cr-operator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSC%2Fkeycloak-cr-operator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33629560,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"2026-04-01T17:50:38.897Z","updated_at":"2026-05-28T23:01:46.442Z","avatar_url":"https://github.com/OSC.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CI Status](https://github.com/OSC/keycloak-cr-operator/actions/workflows/test-e2e.yml/badge.svg?branch=main)](https://github.com/OSC/keycloak-cr-operator/actions)\n[![GitHub release](https://img.shields.io/github/v/release/OSC/keycloak-cr-operator?include_prereleases\u0026sort=semver)](https://github.com/OSC/keycloak-cr-operator/releases/latest)\n![GitHub All Releases](https://img.shields.io/github/downloads/OSC/keycloak-cr-operator/total)\n\n# keycloak-cr-operator\nKeycloak Custom Resource Operator for Kubernetes\n\n## Table of Contents\n- [Description](#description)\n- [Install](#install)\n- [Usage](#usage)\n  - [KeycloakClient](#keycloakclient)\n- [Development](#development)\n- [Working with Kubebuilder](#working-with-kubebuilder)\n- [License](#license)\n\n## Description\nThe keycloak-cr-operator is a Kubernetes operator that manages Keycloak resources based on Custom Resources defined in Kubernetes. The following types of resources can be managed:\n\n* Keycloak Clients using [KeycloakClient](#keycloakclient)\n\nThe keycloak-cr-operator is designed to work with existing Keycloak deployments that can be deployed outside Kubernetes or within Kubernetes.\n\n## Install\nThe primary method to install the keycloak-cr-operator is with Helm.\n\n### Prerequisites\n- Helm 3.x\n- Kubernetes cluster\n- cert-manager (required by default)\n\n### Installation Steps\n1. Add the OSC Helm repository:\n```bash\nhelm repo add keycloak-cr-operator https://osc.github.io/keycloak-cr-operator\n```\n\n2. Install the operator with required configuration:\n```bash\nhelm install keycloak-cr-operator keycloak-cr-operator/keycloak-cr-operator \\\n  --namespace keycloak-cr-operator-system \\\n  --create-namespace \\\n  --set manager.config.keycloakURL=\"https://keycloak.example.com\" \\\n  --set manager.config.adminPassword=\"your-admin-password\"\n```\n\n### Required Parameters\nWhen installing with Helm, the following parameters must be set:\n- `manager.config.keycloakURL`: The URL of your Keycloak server\n- `manager.config.adminPassword`: The admin password for Keycloak\n\n### Optional Configuration\nThe operator can be configured with additional parameters:\n- `manager.config.defaultRealm`: The default Keycloak realm (defaults to \"master\")\n- `manager.config.clientIdPrefix`: Prefix for generated client IDs (defaults to \"kubernetes\")\n- `manager.config.adminUsername`: Admin username (defaults to \"admin\")\n- `manager.config.adminRealm`: Admin realm (defaults to \"master\")\n\n### Cert-manager Dependency\nThe operator requires cert-manager for metric and webhook certificate management. Cert-manager is enabled by default. If you're not using cert-manager, you can disable it:\n```bash\nhelm install keycloak-cr-operator osc/keycloak-cr-operator \\\n  --namespace keycloak-cr-operator-system \\\n  --create-namespace \\\n  --set manager.config.keycloakURL=\"https://keycloak.example.com\" \\\n  --set manager.config.adminPassword=\"your-admin-password\" \\\n  --set certManager.enable=false \\\n  --set metrics.protocol=http\n```\n\n## Usage\n\n### KeycloakClient\n\nSee [KeycloakClient docs](./docs/keycloakclient.md)\n\n## Development\n\n**Requires**\n\n* Kind\n* kubectl\n* Helm\n\nThe following outlines the steps to setup a development environment:\n\n```\nmake setup-test-e2e\nmake install-cert-manager\nmake install-keycloak\n\nmake docker-build IMG=quay.io/ohiosupercomputercenter/keycloak-cr-operator:latest\nkind load docker-image quay.io/ohiosupercomputercenter/keycloak-cr-operator:latest --name keycloak-cr-operator-test-e2e\n\nmake helm-deploy IMG=quay.io/ohiosupercomputercenter/keycloak-cr-operator:latest HELM_EXTRA_ARGS=\"-f charts/keycloak-cr-operator/ci/test-values.yaml --cleanup-on-fail=false\"\n\nkubectl apply -f config/samples/keycloak_v1alpha1_keycloakclient.yaml\n\nkubectl logs -n keycloak-cr-operator -l app.kubernetes.io/name=keycloak-cr-operator\n```\n\n## Working with Kubebuilder\n\nRefer to [Kubebuilder Usage](./docs/kubebuilder_usage.md) for additional information about interacting with this project via Kubebuilder.\n\n## License\n\nCopyright 2026 Ohio Supercomputer Center.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosc%2Fkeycloak-cr-operator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosc%2Fkeycloak-cr-operator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosc%2Fkeycloak-cr-operator/lists"}