Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/project-zot/dnscontrol
Zot's domain management
https://github.com/project-zot/dnscontrol
Last synced: about 1 month ago
JSON representation
Zot's domain management
- Host: GitHub
- URL: https://github.com/project-zot/dnscontrol
- Owner: project-zot
- License: apache-2.0
- Created: 2021-12-03T23:05:23.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-09-21T20:00:17.000Z (over 2 years ago)
- Last Synced: 2023-03-04T05:27:16.635Z (almost 2 years ago)
- Language: JavaScript
- Size: 42 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![dnscontrol-check](https://github.com/project-zot/dnscontrol/actions/workflows/dnscontrol-check.yml/badge.svg)](https://github.com/project-zot/dnscontrol/actions/workflows/dnscontrol-check.yml)
[![dnscontrol-push](https://github.com/project-zot/dnscontrol/actions/workflows/dnscontrol-push.yml/badge.svg)](https://github.com/project-zot/dnscontrol/actions/workflows/dnscontrol-push.yml)# dnscontrol
This repo is where we manage the project-zot domains. The current zones that are related to project zot are:
* **zotregistry.io**: To be used for the actual project as well as registries, signatures, etc.
* **zotregistry.net**: This is reserved for future use by a zotregistry SaaS offering.## Tooling
We are using [hexonet](https://www.hexonet.net) as both the registrar and the authoritative name service.
We are using stackexchange's [dnscontrol](https://stackexchange.github.io/dnscontrol/) dns management system, using a set of *GitHub Actions*. The actions we are incorporating are [dnscontrol-action](https://github.com/koenrh/dnscontrol-action). There are three actions that have been defined.
* [dnscontrol-check](https://github.com/project-zot/dnscontrol/blob/main/.github/workflows/dnscontrol-check.yml) is run by a push to any branch other than the *main* branch. This runs locally (no hexonet access) just to check for syntax errors.
* [dnscontrol-pr](https://github.com/project-zot/dnscontrol/blob/main/.github/workflows/dnscontrol-pr.yml) is run when a pull request is made from another branch to main. It generates a pr comment that contains a *dry run* output of dnscontrol's interaction with hexonet.
* [dnscontrol-push](https://github.com/project-zot/dnscontrol/blob/main/.github/workflows/dnscontrol-push.yml) is run when there is a merge into *main* branch. It actually commits the changes to hexonet.Secrets are stored in this repo that authenticate to hexonet for API access.
## Process
Since github actions can not access secrets when they are called from a fork, all changes must be staged into a branch of this repo, as opposed to a personal fork of this repo.
Please consult the [dnscontrol](https://stackexchange.github.io/dnscontrol/) documentation for an overview of dnscontrol's syntax. It is worth noting that dnscontrol configurations are written in javascript.
If a domain needs to be added or removed, edits need to be made to the [dnsconfig.js](https://github.com/project-zot/dnscontrol/blob/main/dnsconfig.js) file. This file is also where you define reuseable macros for things like namesever selection, SOA data, *etc.*
If you need to make changes to a given zone, the zone's file needs to be edited, currently those zone files are:
* [zotregistry_io.js](https://github.com/project-zot/dnscontrol/blob/main/domains/zotregistry_io.js)
* [zotregistry_net.js](https://github.com/project-zot/dnscontrol/blob/main/domains/zotregistry_net.js)