{"id":20365856,"url":"https://github.com/cycoresystems/rtpengine-manager","last_synced_at":"2026-05-12T19:13:27.817Z","repository":{"id":148364271,"uuid":"368681555","full_name":"CyCoreSystems/rtpengine-manager","owner":"CyCoreSystems","description":"WIP","archived":false,"fork":false,"pushed_at":"2021-05-18T22:33:13.000Z","size":9,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-25T15:03:42.382Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CyCoreSystems.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}},"created_at":"2021-05-18T22:28:11.000Z","updated_at":"2024-04-06T16:13:10.000Z","dependencies_parsed_at":"2023-05-13T13:15:17.141Z","dependency_job_id":null,"html_url":"https://github.com/CyCoreSystems/rtpengine-manager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyCoreSystems%2Frtpengine-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyCoreSystems%2Frtpengine-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyCoreSystems%2Frtpengine-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyCoreSystems%2Frtpengine-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CyCoreSystems","download_url":"https://codeload.github.com/CyCoreSystems/rtpengine-manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241907609,"owners_count":20040500,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-11-15T00:20:36.116Z","updated_at":"2026-05-12T19:13:27.788Z","avatar_url":"https://github.com/CyCoreSystems.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rtpengine-manager\n\nNOTE:  this is currently a:\n  **NON-FUNCTIONAL WORK IN PROGRESS!**\n\nrtpengine-manager keeps the set of RTPEngine references in kamailio in sync with\nthe Endpoints of an RTPEngine Service set in Kubernetes.\n\nRTPEngine-manager watches a set of Kubernetes Services (one per rtpengine set in\nkamailio), and when changes occur to the set of Endpoints for that Service, it\nupdates the Kamailio RTPEngine list for the corresponding set using the Kamailio\nRPC system.\n\n## Usage\n\nIn general, `rtpengine-manager` is meant to run as a container within the same Pod as\nthe kamailio container.\n\n## Options\n\nCommand-line options are available to customize and configure the operation of\n`rtpengine-manager`:\n\n- `-b \u003chost:port\u003e`: specifies the address on which kamailio is running its binrpc service.  It defaults to `localhost:9998`.\n- `-set \u003cset-number\u003e=[namespace:]\u003cservice-name\u003e[:port]`: Specifies an RTPEngine set.  This may be passed multiple times for multiple sets.  Namespace is optional.  If not specified, namespace is `default` or the value of the `POD_NAMESPACE` environment variable.  Port is optional and if not specified, `22222` or the value of the `RTPENGINE_PORT` environment variable is used.  Port may also be a name corresponding the to the name of the port in the corresponding Service to be used for the control protocol of RTPEngine.\n\nFor simple systems where the monitored services are in the same namespace as\n`rtpengine-manager`, you can set the `POD_NAMESPACE` environment variable to\nautomatically use the same namespace in which `rtpengine-manager` runs.\n\n## RBAC\n\n`rtpengine-manager` needs to run under a service account with access to the `endpoints` resource\nfor the namespace(s) in which your RTPEngine services exist.\n\nExample RBAC Role for services in the `sip` namespace:\n\n```yaml\n\nkind: ServiceAccount\napiVersion: v1\nmetadata:\n  name: voip-manager\n  namespace: sip\n\n--\n\nkind: ClusterRole\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n  name: endpoints-reader\nrules:\n  - apiGroups: [\"\"]\n    resources: [\"endpoints\"]\n    verbs: [\"get\", \"watch\", \"list\"]\n\n--\n\nkind: RoleBinding\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n  namespace: sip\n  name: rtpengine-manager\nsubjects:\n  - kind: ServiceAccount\n    name: voip-manager\n    apiGroup: rbac.authorization.k8s.io\nroleRef:\n  kind: ClusterRole\n  name: endpoints-reader\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcycoresystems%2Frtpengine-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcycoresystems%2Frtpengine-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcycoresystems%2Frtpengine-manager/lists"}