Giter Site home page Giter Site logo

domains's People

Contributors

patcon avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

domains's Issues

Improve useability of HOWTO examples

Right now, in the HOWTO.md doc, we have some expandable config examples:
https://github.com/g0v-network/domains/blob/main/docs/HOWTO.md#examples

Right now, these look like this (using the diff formatter):
Screen Shot 2022-02-09 at 1 19 32 PM

It's nice, because one diff can show changes in multiple files in the repo.

But as you can see in the above screenshot, highlighting also includes the + and - context lines.

It would be nice if there was a quicker, easier way to create a new PR. This could involve one or both of:

  1. Creating a hyperlink that initiates a stub PR and scaffolds out a new file, like Hypha does in the right-hand column of their meeting note directory.

  2. Use GitHub flavoured markdown to make the diffs more selectable using GitHub's permalink embed style. This is commonly used in pull requests and issues, but also works in any markdown docs within the repo. Example: https://github.com/patcon/test-github-markdown/

    ---
    '':
    - type: TXT
    values:
    # Who has admin for this domain
    - admin=patcon
    # Used for 301 redirect service below
    - 301 https://g0v.tw/
    - type: ALIAS
    value: 301.ronny.tw.

cc: Sam @therealitycorp

Add metadata linting in PR checks

Not for checking the whole config file, but just checking format of our metadata key, which is being used to keep track of:

  1. the repository the code comes from that's using the subdomain, and
  2. the maintainer(s) responsible for whatever lives at the subdomain

Could also use the linter to check for has admin control of the domain. I'm currently storing this in a TXT entry at the root level of each domain, as admin=foo.

https://github.com/23andMe/Yamale
https://github.com/nrkno/yaml-schema-validator-github-action

Add a workflow to leave comment in PR on successful update

Right now, the "test" comment shows what the change will be. But in order to confirm that the merged PR successfull updates the DNS, someone needs to know to hop into the "Actions" tab of the repo:

This would be better if there was a hint after merge. A simplest possible MVP is to just leave a comment with a link to the Actions listing page after merge: https://github.com/g0v-network/domains/actions/workflows/domain-sync.yml

Create dynamic landing page to support invitations to "fork" any gov page (wildcard DNS)

Pretend that I want to quickly suggest to someone that they could "fork" https://competitionbureau.gc.ca/ or https://space.canada.ca to a g0v domain managed via this repo.

I could tweet them:

  • a link to a g0v.tw explainer website (to explain the movement), and
  • maybe the docs to this repo (to explain how it works), and then maybe also
  • the real website (e.g., competitionbureau.gc.ca) and
  • the non-existent proposed one (e.g., competitionbureau.g0v.ca).

But all of that is confusing and hard to fit in a tweet.

It would maybe be neat if I could instead just link the person to any not-yet-created g0v subdomain http://competitionbureau.g0v.ca, and have a simple splash page explain all of this :)

Proposal

To do this, could set up a small app to sit behind a wildcard DNS record, and "catch" any subdomains that haven't had a record specifically created. In theory, this could walk people through all of:

  • what is the g0v movement and where did it start?
  • what does "fork the government" mean here?
  • how do they request use of this subdomain via this repo?
    • since we can pull the domain name (competitionbureau.g0v.ca) out of the browser url, we could even point them directly to creating the file on GitHub, e.g., click here for example. helper app.

Thoughts? Could this be helpful for other g0v nobodies?

Start managing domain: newspeak.link

Hey @systemantix @clementbriens @edsaperia, going to stub out what it would take to manage newspeak.link via this repo, in case you're open to it. Worst case scenario, this was a good chance to better-document the process ๐Ÿ™‚

Steps of Process

Full documentartion of steps [in theory] are detailed here: https://github.com/g0v-network/domains/blob/main/docs/HOWTO.md#domains

(Pull requests with doc improvements very welcome.)

Role Legend
๐Ÿ‘’ g0v-network/domains repo maintainer must do this, aka @patcon
๐Ÿ’ช PR submitter (or anyone) can do this, but likely either you or me
๐Ÿ‘‘ domain owner must do this, aka clement

  • ๐Ÿ‘’ add newspeak.link domain to Cloudflare account (status will be "pending transfer") [screenshot]
  • ๐Ÿ‘’ import existing DNS records into pending Cloudflare domain
  • ๐Ÿ‘’ enable management of pending domain under the Cloudflare API key
  • ๐Ÿ’ช create a minimal config file at newspeak.link.domain/newspeak.link.yaml, [see branch]
  • ๐Ÿ’ช transfer any existing DNS records into config file(s), in this case just newspeak.link.domain/newspeak.link.yaml, [see branch]
  • ๐Ÿ’ช add entry for newspeak.link to config.yaml [see branch]
  • ๐Ÿ’ช create a PR with the above config changes (#42)
    • ๐Ÿšง If Cloudflare preparation has already been done, an automated comment from CI will do a dry-run and show any differences between YAML config files and the "live" DNS records
  • ๐Ÿ‘’ if looks good, merge the PR
  • ๐Ÿ‘‘ change DNS nameservers (on Tucows?) to point to Cloudflare nameservers:
    clyde.ns.cloudflare.com
    tina.ns.cloudflare.com
    
  • ๐Ÿ’ช confirm nameservers are switched by check NS records: host -t ns newspeak.link
  • ๐Ÿ‘’ give push access on g0v-network/domains to newspeak.link domain owner (though future expectation is to work via PRs like this)
  • ๐Ÿ’ช document in clementbriens/newspeak-shortlink how the domain is managed.

Try merging multiple DNS node levels into one file

I am curious whether the config files for both of these could be merged into something like ALL.talent.c4nada.ca.yaml:

  • talent.c4nada.ca.yaml
  • go.talent.c4nada.ca.yaml

https://github.com/g0v-network/domains/tree/main/c4nada.ca.domain

This would allow all the config to exist at one url, accessible at some shortlink like https://go.talent.c4nada.ca/dns

Also, ownership/maintainership metadata could be assumed as encompassing all child DNS records. (instead of repeating for each sub-node)

Just need to test it out.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.