DN42 Registry
Find a file
jrb0001 df5b5bf211 Update sign-my-commit help for signing via ssh-agent
### DN42 Signature
### method: ssh
### mntner: JRB0001-MNT
### text: 1086f8a93fab1fed1df4ad74c44d99678cce22d2
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAhcAAAAHc3NoLXJzYQAAAAMBAAEAAAIBAOifnnBQf7Zorgs8rYijGi
cmJMr4AD1vDe+INyq+RPw7ipeh2v0hNEa8Eg7fosCtpRv+5vDqOL1R8C3mHiLCGiIwGsa4
pHKrek39yrJwVWSp1bmZKdeUvNsxWwyi2VM8TtRbOqi0YV4vmQvQerhqb7UsiS2nXg52+4
C/AOYwB8DMUERxjtKpzZC6roQbKKAGj2E1zcrYOlTGBvghnWrsULDsUez5sAw5uiVEbUL0
QxdC/C4xH00mt7OMFh+7prPBzryh3lcSy7SOGdJk1I8RVHJqkQci6upSn5y9rF1dDbb3rb
4BbrJ74tKGDju/3N5N2dwJr0MxGMNmg4+39byFs7RSkcBSsTRq//wBQHcUsVuVsu8M10Yc
flX8/BSC2/jluV/05gAGD+6nmXDUrgO6HBoD+msEi4iOiJP94LyR02sshrtaqEALu2iVzo
TipEJChJOUJlUg3VjdWxv5wm9zVgza4Kq43G6ZP2lifIDi1M2G942z5ZGk/cn4lEpl2lLK
1eofB5zI1XVefKbg+EJONCbgE6nQ92GOlLJmO29pMUQEiFqYqzpgHtDm0PgV6qN5b3imma
1kw3MIDYjzvQzuW0u6ioXjFwZPaEM+PQk1U9w7H/gbm2kS3QCKX+UBv2I6NNEIXWxwS6ln
mT9XdXXh9XAWkPthUf/2kysMG653zH1nAAAABGRuNDIAAAAAAAAABnNoYTUxMgAAAhQAAA
AMcnNhLXNoYTItNTEyAAACAJeBkqqX0WoTI4Q7RNP1O2EbVtJ9SGUGES2cz1WV45nOcOGX
E2GyD5B4NDM3oUxHFWVsy8oq5GWGgcayknCMJ/MnVnhDOkqM7ZM3Hc/8jQUO3oGIL59I5p
amohRm/m/IRHcVvkoV/0GejLpNeJcs2VhYawQivUUZElqTvuLCfkNKXLy7/holSEAvY9v3
4qfGELiXbw7URs0jcJ2ak+yEET0ke+e5MePgcmTLUmBFAKx9AEZSsyGUGwpvkHOUyTVPGu
d1zSOSaTdvM1eERfMKANE9GH9gfc0E10zZ0PRBzkpOEwicDAkHT35ZKHdFhmiTnrDDMh/r
NBFZzEN357rczkmi12oN8NnNsPA+MrAVOiJgMNJeYMrKOMtdjf4xyeM1am3Qic0ss5T1Zq
GVR368i3QEo/MDRhcKwCXlT+BZh1yZ0Hs9ASpShpgp6cPGSiF7+bNZ7UDrm+ReA7gDRXFA
p/973czBwiz6R3cIGytZ4ASZw/zUUMmmc/iwapcqiajDCZ3KBcPHAf2w+VjweuB1carxkA
iQAwC0EHl0Pd7KIcmvFBjdvCIYvFRpggPAbwkF4cLTD1mv24sa18WtyRe71n37Ptj9kaTa
jNbDs4YoWFag9h4uc+Qh88Uf4SKkPVCP8RsC4v2n2IvWMJNETnVzN/zWz3rPQpm7ANJArz
8mfdND
-----END SSH SIGNATURE-----
2022-06-26 22:51:48 +02:00
data Add AS4242420504 2022-06-26 18:18:16 +09:00
utils/schema-check
.drone.yml
.gitignore
check-my-stuff
check-pol
check-remote
fix-infrastructure-objects
fmt-my-stuff
install-commit-hook
README.md Update registry README 2022-05-27 13:10:54 +01:00
sign-my-commit Update sign-my-commit help for signing via ssh-agent 2022-06-26 22:51:48 +02:00
squash-my-commits

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 Canada 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.