{"id":19096518,"url":"https://github.com/sapcc/andromeda","last_synced_at":"2025-04-30T14:11:47.618Z","repository":{"id":37605467,"uuid":"314554020","full_name":"sapcc/andromeda","owner":"sapcc","description":"Platform agnostic GSLB frontend with OpenStack-like API","archived":false,"fork":false,"pushed_at":"2025-04-29T18:38:10.000Z","size":3015,"stargazers_count":6,"open_issues_count":6,"forks_count":3,"subscribers_count":44,"default_branch":"main","last_synced_at":"2025-04-29T19:44:10.470Z","etag":null,"topics":["golang","gslb","loadbalancer","openstack"],"latest_commit_sha":null,"homepage":"https://sapcc.github.io/andromeda/","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/sapcc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-11-20T12:56:08.000Z","updated_at":"2025-04-28T17:27:59.000Z","dependencies_parsed_at":"2023-11-27T16:31:13.334Z","dependency_job_id":"9293e987-3f5b-4955-831c-6fe30bc0c288","html_url":"https://github.com/sapcc/andromeda","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sapcc%2Fandromeda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sapcc%2Fandromeda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sapcc%2Fandromeda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sapcc%2Fandromeda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sapcc","download_url":"https://codeload.github.com/sapcc/andromeda/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251717825,"owners_count":21632360,"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":["golang","gslb","loadbalancer","openstack"],"created_at":"2024-11-09T03:36:57.183Z","updated_at":"2025-04-30T14:11:47.591Z","avatar_url":"https://github.com/sapcc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# andromeda\nPlatform agnostic GSLB frontend with OpenStack-like API\n\nAndromeda is a OpenStack like REST API Fronted for Global Loadbalancing as a Service (GLbaaS). It can support multiple backends, called provider.\nFeatures:\n* Multi-tenant capable\n* keystone authentication\n* OpenStack policy files\n* Prometheus metrics\n* Rate limiting\n* OpenStack like Quota API\n* Multiple Database backends supported\n  * PostgreSQL\n  * MariaDB (Warning, MySQL/Percona is **not** supported)\n  * CockroachDB\n\nCurrently it supports following provider:\n* F5 BigIP DNS\n* Akamai\n\nAPI Documentation: https://sapcc.github.io/andromeda/\n\n## CLI Client\nAndromeda provides a reference CLI client called `m31ctl` that uses the REST API of Andromeda.\n\n## Running Requirements\n* go 1.19\n* NATS\n* SQL Database (PostgreSQL/MariaDB/CockroachDB)\n\n### Optional development requirements (needed to re-create meta sources)\n* swagger https://github.com/go-swagger/go-swagger/blob/master/docs/install.md\n* protoc https://grpc.io/docs/protoc-installation/\n* protoc-gen-go https://github.com/golang/protobuf\n* protoc-gen-micro v3 https://github.com/asim/go-micro/tree/v3/cmd/protoc-gen-micro\n\n## Build\n* Build `andromeda` and `m31ctl`: `$ make`\n* Rebuild swagger metafiles: `$ make swagger`\n\n## Example Architecture\n\n```mermaid\nflowchart TB\n    A[User region A] --\u003e|Rest API| C(andromeda-api)\n    B[User region B] --\u003e|Rest API| D(andromeda-api)\n    M[User region C] --\u003e|Rest API| O(andromeda-api)\n    C \u0026 D \u0026 O \u003c--\u003e NATS\n    C ---\u003e db1[(Database)]\n    D ----\u003e db2[(Database)]\n    O ---\u003e db3[(Database)]\n    \n    subgraph Distributed Database\n    \n    db1 ---|sync| db2\n    db2 ---|sync| db3\n    end\n    subgraph NATS\n    N[NATS message bus]\n    end\n\n    \n    NATS --\u003e andromeda-worker-1\n    NATS --\u003e andromeda-worker-2\n    NATS --\u003e andromeda-worker-3\n```\n\n\n## License\n* APACHE LICENSE, VERSION 2.0\n* Text version: https://www.apache.org/licenses/LICENSE-2.0.txt\n* SPDX short identifier: Apache-2.0\n* OSI Approved License: https://opensource.org/licenses/Apache-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsapcc%2Fandromeda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsapcc%2Fandromeda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsapcc%2Fandromeda/lists"}