all repos — dns @ 1f7cfb052dbaf51dfca61edb88867ae3f21dfeae

DNS records for my domains, managed via dnscontrol

inline get-consumer-key script to shell.nix

Alin
commit

1f7cfb052dbaf51dfca61edb88867ae3f21dfeae

parent

8f5dc8d19187a36dcfe2c4b2d3772255005d5524

2 files changed, 51 insertions(+), 45 deletions(-)

changed files
D get_consumer_key.sh
@@ -1,45 +0,0 @@
-#!/bin/sh -set -eu - -if [ -z "$OVH_APP_KEY" ]; then - echo 'Need $OVH_APP_KEY!' - echo "https://eu.api.ovh.com/createApp/" - exit 1 -fi - -BODY=' -{ - "accessRules": [ - { - "method": "DELETE", - "path": "/domain/zone/*" - }, - { - "method": "GET", - "path": "/domain/zone/*" - }, - { - "method": "POST", - "path": "/domain/zone/*" - }, - { - "method": "PUT", - "path": "/domain/zone/*" - }, - { - "method": "GET", - "path": "/domain/*" - }, - { - "method": "PUT", - "path": "/domain/*" - }, - { - "method": "POST", - "path": "/domain/*/nameServers/update" - } - ] -} -' - -echo $BODY | xh --json --print=b POST https://eu.api.ovh.com/1.0/auth/credential "X-Ovh-Application:$OVH_APP_KEY"
M shell.nixshell.nix
@@ -24,6 +24,57 @@ prettier
# fallback for using lorri (shellHook doesn't work as expected) (writeShellScriptBin "update-types" update-types) + (writeScriptBin "get-consumer-key" '' + #!/${pkgs.fishMinimal} + # adapted from <https://docs.dnscontrol.org/provider/ovh#activation> + + if set --query OVH_CONSUMER_KEY + echo >&2 "Nothing to do. OVH_CONSUMER_KEY is set." + exit 0 + end + + if ! set --query OVH_APP_KEY + echo >&2 'Need $OVH_APP_KEY! Go to https://eu.api.ovh.com/createApp/' + exit 1 + end + + set accessRules '[ + { + "method": "DELETE", + "path": "/domain/zone/*" + }, + { + "method": "GET", + "path": "/domain/zone/*" + }, + { + "method": "POST", + "path": "/domain/zone/*" + }, + { + "method": "PUT", + "path": "/domain/zone/*" + }, + { + "method": "GET", + "path": "/domain/*" + }, + { + "method": "PUT", + "path": "/domain/*" + }, + { + "method": "POST", + "path": "/domain/*/nameServers/update" + } + ]' + + xh --body \ + POST https://eu.api.ovh.com/1.0/auth/credential \ + X-Ovh-Application:"$OVH_APP_KEY" \ + accessRules:="$accessRules" + + '') ]; shellHook = update-types; }