DN42 registry
Find a file
yhh 7e5994a27f master
### DN42 Signature
### method: ssh
### mntner: YHH-MNT
### text: e9cd97745d
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAZcAAAAHc3NoLXJzYQAAAAMBAAEAAAGBAMHrxTA2a48PdN6s7BPOoe
LVqu/bHBTJOeTqL2ZnMwO2wb8cfRCZJufVlqi67h+wHS1KjoJrJB3zyXwyVqt1mOrI8i0v
hobmJxpL2YGMJPlgGENaPzMReVTlf+8zgPsggVVNT1P4SPWWEo7B7h508ESambOc2cNc0z
lH9iC2RGGJmbq6adLBUn5UtHl4hVn+pviTHeW+SI6GLdOP9a1mS6QNi0eSOqTXfx0rJCqh
4VrgQE+gAIyA9WR7nnEjwYH8SeCYbcqGF0GUnq8y0vO3AEF9POzC9lvq2nOXlpE+KXhNa8
nfqdCkQwUsYfhjHGy8Sd2+HmkIJbg4O4sf5CDWs+MTVED0F1ZjiW+dGcDKCefQUI9TneBf
zs1zv626D7c4fgsuH93xwaozax48g1Adcz63rBnCTTVR9i+njh1cEkTZ3LY9jsvpEocZeP
65wS+2KkMBTRLbh+Fk4YqWCeHg8sjXdg+u8m7la1FzDx9FKbLe5YRaoqw089q9Y8Dy+ULA
1QAAAARkbjQyAAAAAAAAAAZzaGE1MTIAAAGUAAAADHJzYS1zaGEyLTUxMgAAAYA7R6Dw47
gyDeoigwpJXrspb7X6W15DfebmmPFKNJSYMJSGsyrYoMbVJo7+d+lgikNdqGXnGWpsjsa/
YgM+1OdXbgZjSDgHro/hqhs4kp9a7zIV/w0kxJtP9r3eRn00IAYK79/0O9OTk0614WfBBM
ERrpkYIdRRcUwSZbtJ4frQ0oE5f6U9l9JovjkrgRTfah3wqQbNxwcvWP5qWPvjf+dU9WMU
QvmH6Cw6kTnlWCg5A0d6/e7nysjcSxhHjT8Ta7KTytV+SEQIRa47J9lbv/0XoWbZVY3QRO
hv6FpGCdsHWDH65QLkY2JryjtOEABl+frO+JL9GCJZgLUsy9UMJG/YCIe0Bm0B79VajTvx
UaS0XN+4nMAaj4UfMhckoAG0j0uirqt4zMtodXYbZrB/T6xxQXg8IkZOd+paEIW8JH4anp
lyxBKAzpJbgP1MB977vSvPn8mmi94l1n1GKdTlCv9qgAlgT4eUyQGpo23FdDlLvMUq8pR/
n4mlxofK9ComfY0=
-----END SSH SIGNATURE-----
2025-08-26 00:09:09 +08:00
data master 2025-08-26 00:09:09 +08:00
utils [dn42_schema_local.py]: make the commit to check against configurable 2024-06-05 20:09:40 +02:00
.drone.yml Add drone signature 2023-05-13 19:05:23 +01:00
.gitignore Add emacs and macOS exclusions to .gitignore 2023-11-11 15:51:57 +00:00
check-my-stuff s/realpath/readlink -f/g 2018-01-01 02:53:36 +01:00
check-pol run shellcheck on helper scripts 2024-03-19 13:13:37 +01:00
check-pol2 [dn42_schema_local.py]: make the commit to check against configurable 2024-06-05 20:09:40 +02:00
check-remote require fully expanded ipv6 2017-12-11 17:33:55 -07:00
fmt-my-stuff run shellcheck on helper scripts 2024-03-19 13:13:37 +01:00
install-commit-hook s/realpath/readlink -f/g 2018-01-01 02:53:36 +01:00
README.md update registry location in README 2023-12-19 14:21:18 +00:00
sign-my-commit Various fixes to sign-my-commit: 2025-05-04 09:19:43 +01:00
squash-my-commits Various fixes to sign-my-commit: 2025-05-04 09:19:43 +01:00
validate-my-dns.py [validate-my-dns.py] also check hash algo 4 (sha384) 2024-05-07 22:44:37 +02:00

Guide for creating a Pull Request

The dn42 registry is a git repository and changes are made to it using pull requests.

There are many public guides available on how to work with remote git repositories,
e.g. git documentation or guide at github

  1. Fork the registry repo, then clone your fork to create a local working copy

Use the Fork button in the gitea UI (at the top right of the repository page), then:

git clone git@git.dn42.dev:<FOO>/registry.git

Where <FOO> is your gitea username.

  1. Make changes in your local copy

See the getting started guide in the Wiki for more information.

  • inet6num must have a random prefix to satisfy RFC4193
  • Include an auth method in your MNTNER so you changes to your objects can be authenticated
  • Run the schema checking tools to validate your changes
    • ./fmt-my-stuff MNTNER-MNT
    • ./check-my-stuff MNTNER-MNT
    • ./check-pol origin/master MNTNER-MNT
$EDITOR <change some stuff>
git add .
git commit -S
  1. Push your changes back to your forked copy of the registry
  • You must squash multiple commits together
  • You must also sign the final commit using your MNTNER authentication method.

Whilst not essential, it is also good practice to rebase your work on top of any other changes that may have happened on the master branch of the registry.

The registry contains a script that can automatically rebase and squash your commits:

./squash-my-commits -S --push

or you can do it manually:

# Add the main registry repository as another remote, you only need to do this once

git remote add dn42registry git@git.dn42.dev:dn42/registry.git

# make sure its up to date

git fetch dn42registry master

# rebase your local copy on top of the registry master
#
# -i to interactively pick the commits
# -S to sign the result with your GPG key (not required for SSH authentication)
#
# In interactive mode, make sure the first commit says 'pick'
# change the rest from 'pick' to 'squash'
# save and close to create the commit

git rebase -i -S dn42registry/master

# force push your changes back to your registry copy

git push --force

If you forget to sign your commit you can sign the existing commit using:

git commit --amend --no-edit -S
git push --force
  1. Create a pull request

In the gitea GUI, select your fork, check your changes again for a final time and then hit the 'Pull Request' button.

Your changes will go through a number of automatic checks before a final manual review by the registry maintainers. Manual reviews are typically completed once a day.

  1. Making updates

If you need to make changes to fix review issues simply make the updates to your fork and follow the process in (3) to rebase, squash and sign your changes again. You must do this for every update.

Do not close and re-open a new pull request, any changes you make on your branch will be automatically updated in the PR. Creating a new PR loses all the history and makes tracking changes harder.

  1. Tidy Up

Once your changes have been accepted and merged, you may delete your local copy and the fork that was created in gitea.

Gitea Usage

The DN42 registry is a community resource for your benefit. Registered users are free to create and use their own repositories and use the Drone CI tools, but please be considerate in your usage.

  • Repositories should be related to DN42
  • Do not create tools that make regular, automated, push changes to repositories unless agreed with the registry maintainers
  • Do not just create a mirror of other, publically available, repositories

Data Privacy

Gitea and the DN42 registry contains personal information for users who are registered in DN42; this information is stored in the United Kingdom and viewable by any registered member. In addition, anyone with access to the repository is able to make their own copies of the registry, which they may then process or transfer in arbitrary ways. You must assume that all data entered in to the registry cannot be kept private and will be made publically available.

Any personal information stored in the registry is optional and voluntarily provided by you. Whilst the registry maintainers will make best efforts to update or delete personal data, you must accept that the technical restrictions of git may make this impossible and that your information will likely have been distributed beyond the control of the registry maintainers.

If this is not acceptable for you, you must not upload your personal details to the registry.

All registered users have the capability to make copies of the registry data for their own use. If you do copy the registry you must ensure that any copies you make are deleted when no longer required and that you will make best efforts to update or delete personal data when requested.

You must not clone or mirror the registry in to a commercial git repository; commercial terms of service can be incompatible with the use of personal data in the registry.