{"id":22965229,"url":"https://github.com/ardikabs/dnsmanager-api","last_synced_at":"2026-04-18T14:04:35.240Z","repository":{"id":45123577,"uuid":"163858496","full_name":"ardikabs/dnsmanager-api","owner":"ardikabs","description":"DNS Manager API Server","archived":false,"fork":false,"pushed_at":"2022-12-08T01:30:42.000Z","size":31,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-04T14:59:48.756Z","etag":null,"topics":["dns-api","flask","python","webservice"],"latest_commit_sha":null,"homepage":"","language":"Python","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/ardikabs.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}},"created_at":"2019-01-02T15:32:51.000Z","updated_at":"2023-03-09T02:38:10.000Z","dependencies_parsed_at":"2023-01-24T03:15:23.666Z","dependency_job_id":null,"html_url":"https://github.com/ardikabs/dnsmanager-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ardikabs/dnsmanager-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ardikabs%2Fdnsmanager-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ardikabs%2Fdnsmanager-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ardikabs%2Fdnsmanager-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ardikabs%2Fdnsmanager-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ardikabs","download_url":"https://codeload.github.com/ardikabs/dnsmanager-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ardikabs%2Fdnsmanager-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31971500,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"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":["dns-api","flask","python","webservice"],"created_at":"2024-12-14T20:13:55.853Z","updated_at":"2026-04-18T14:04:35.200Z","avatar_url":"https://github.com/ardikabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DNS Manager API Server\nThis is DNS Manager API Server, built with Flask \u0026 dnspython package. You can manager your DNS Zone record with this API with simply using keyring variable.\n\n### Prerequisite\n* DNS Basic Knowledge (BIND9)\n* Python Knowledge\n* Docker Knowledge\n\n## Usage\nBase URL: `/api/v1/`\n\n### Endpoint\n* `/zones/` - Used for manage DNS Zone, method available are:\n    * `[GET]`\n    * `[POST]`\n    * `[PUT]`\n    * `[DELETE]`\n* `/records/` - Used for manage Record that registered on DNS Zone, method available are:\n    * `[GET]`\n    * `[POST]`\n    * `[PUT]`\n    * `[DELETE]`\n\n### Setup Local Deployment\n* Go over in `/project` - Project Directory\n* `pip install -r requirements.txt` - Installing Dependency\n* `python manage.py recreatedb` - Setup Local Database (make sure change your database default database will using data-dev.db)\n* Before running the Server, make sure you just create an environment variable in `.env` file\n* `python manage.py run` - Running DNS Manager API Server in `http://localhost:5000/api/v1/`\n\n### Setup Docker Deployment\n* Make sure you are running on Linux Operating System (*this is because we need Celery and Gunicorn to start the API Server)\n* Before running the Server, make sure you just create an environment variable in `.env` file\n* There is 2 ways to deploy with Docker or Docker Compose\n  * \u003cb\u003eDocker\u003c/b\u003e\n    * Go over in root directory\n    * `docker build -t \u003cyour-username\u003e/dnsmanager:tag . ` - Create DNS Manager API Server Image\n    * `docker run -d -p 8080:8080 --name dnsmanager \u003cyour-username\u003e/dnsmanager:tag` - Running DNS Manager API Server Container\n    * This way you need to install redis in other container or just running in localhost\n  * \u003cb\u003eDocker Compose\u003c/b\u003e\n    * Go over in root directory\n    * If necessary make change on docker-compose.yml file for service configuration\n    * `docker-compose up -d` - Up all service described at docker-compose.yml\n    * With this way, you will need several container like:\n      * `redis`\n      * `postgresdb`\n      * `dnsmanager`\n\n### Additional Information\nThis DNS Manager API Server will work to communicate to your DNS Server on specific zone using \u003cb\u003e`Keyring`\u003c/b\u003e, with this way its a best practice to communicate on DNS without directly changing on the db file.\nIf you have an existing DNS Zone that currently have record, with this DNS Manager Server API, we will import all the existing record from the registered zone. We also using a periodic task to check if there is a new record that not added from API and than added to the database.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fardikabs%2Fdnsmanager-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fardikabs%2Fdnsmanager-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fardikabs%2Fdnsmanager-api/lists"}