{"id":45688122,"url":"https://github.com/josh/ceph-mgr-endpoint-controller","last_synced_at":"2026-02-24T15:40:24.642Z","repository":{"id":334756945,"uuid":"1142239540","full_name":"josh/ceph-mgr-endpoint-controller","owner":"josh","description":"A Kube controller that keeps a service endpoint pointed to the active Ceph manager","archived":false,"fork":false,"pushed_at":"2026-02-16T16:43:51.000Z","size":109,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-17T00:07:16.746Z","etag":null,"topics":["ceph","kubernetes"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/josh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-01-26T06:20:08.000Z","updated_at":"2026-02-16T16:43:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/josh/ceph-mgr-endpoint-controller","commit_stats":null,"previous_names":["josh/ceph-mgr-endpoint-controller"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/josh/ceph-mgr-endpoint-controller","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josh%2Fceph-mgr-endpoint-controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josh%2Fceph-mgr-endpoint-controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josh%2Fceph-mgr-endpoint-controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josh%2Fceph-mgr-endpoint-controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/josh","download_url":"https://codeload.github.com/josh/ceph-mgr-endpoint-controller/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josh%2Fceph-mgr-endpoint-controller/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29788361,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T10:45:18.109Z","status":"ssl_error","status_checked_at":"2026-02-24T10:45:09.911Z","response_time":75,"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":["ceph","kubernetes"],"created_at":"2026-02-24T15:40:20.282Z","updated_at":"2026-02-24T15:40:24.633Z","avatar_url":"https://github.com/josh.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ceph-mgr-endpoint-controller\n\nA Kubernetes controller that discovers Ceph Manager services (Dashboard, Prometheus) and creates corresponding Kubernetes EndpointSlices for service discovery.\n\n## Overview\n\nThis controller connects to a Ceph cluster via RADOS, queries the manager for available services, and synchronizes their addresses as Kubernetes EndpointSlices. This enables Kubernetes Services to route traffic to Ceph services without manual endpoint management.\n\n## Installation\n\n1. Create a secret containing your Ceph credentials:\n\n```bash\nkubectl create secret generic ceph-mgr-endpoint-controller-secret \\\n --from-literal=userID=\"\u003cyour-ceph-user\u003e\" \\\n --from-literal=userKey=\"\u003cyour-ceph-key\u003e\"\n```\n\n2. Install the chart:\n\n```bash\nhelm install ceph-mgr-endpoint-controller ./charts/ceph-mgr-endpoint-controller \\\n --set config.clusterID=\"\u003cyour-cluster-fsid\u003e\" \\\n --set config.monitors=\"{192.168.1.10,192.168.1.11}\"\n```\n\n## Configuration\n\n| Value                            | Description                             | Default                                     |\n| -------------------------------- | --------------------------------------- | ------------------------------------------- |\n| `image.repository`               | Container image repository              | `ghcr.io/josh/ceph-mgr-endpoint-controller` |\n| `image.tag`                      | Container image tag                     | `\"\"`                                        |\n| `image.pullPolicy`               | Image pull policy                       | `IfNotPresent`                              |\n| `secret.name`                    | Secret name containing Ceph credentials | `ceph-mgr-endpoint-controller-secret`       |\n| `secret.userID`                  | Secret key for user ID                  | `userID`                                    |\n| `secret.userKey`                 | Secret key for user key                 | `userKey`                                   |\n| `config.create`                  | Create a ConfigMap for ceph.conf        | `true`                                      |\n| `config.name`                    | ConfigMap name for ceph.conf            | `ceph-config`                               |\n| `config.clusterID`               | Ceph cluster FSID                       | `\"\"`                                        |\n| `config.monitors`                | List of monitor addresses               | `[]`                                        |\n| `controller.serviceName`         | Parent Service name for EndpointSlices  | `ceph-mgr`                                  |\n| `controller.dashboardSliceName`  | EndpointSlice name for dashboard        | `ceph-mgr-dashboard`                        |\n| `controller.prometheusSliceName` | EndpointSlice name for prometheus       | `ceph-mgr-prometheus`                       |\n| `controller.interval`            | Polling interval                        | `30s`                                       |\n| `controller.debug`               | Enable debug logging                    | `false`                                     |\n| `service.create`                 | Create a Service for the EndpointSlices | `true`                                      |\n| `service.ports.dashboard`        | Dashboard service port                  | `8443`                                      |\n| `service.ports.prometheus`       | Prometheus service port                 | `9283`                                      |\n| `serviceAccount.create`          | Create a ServiceAccount                 | `true`                                      |\n| `serviceAccount.name`            | ServiceAccount name override            | `\"\"`                                        |\n| `resources.limits.cpu`           | Container CPU limit                     | `50m`                                       |\n| `resources.limits.memory`        | Container memory limit                  | `64Mi`                                      |\n| `resources.requests.cpu`         | Container CPU request                   | `10m`                                       |\n| `resources.requests.memory`      | Container memory request                | `32Mi`                                      |\n\nSee [values.yaml](./charts/ceph-mgr-endpoint-controller/values.yaml) for all options.\n\n## Requirements\n\n- Ceph configuration (`/etc/ceph/ceph.conf`) and client keyring must be accessible\n- Keyring must have permission to run `ceph mgr services`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosh%2Fceph-mgr-endpoint-controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjosh%2Fceph-mgr-endpoint-controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosh%2Fceph-mgr-endpoint-controller/lists"}