gandi-rrr is a web server that provides a RESTful interface for adding and removing resource records
on a domain using the gandi.net API. Records are created by doing a
POST request to the server with a JSON payload containing a name and value. A token
header
must also be sent with the request to identify the type of record and which domain the request is for.
Tokens are defined in the config file of the server, see included config for examples. List of supported
record types can be found here.
None, binaries are statically linked. If you want to compile from source you need the go toolchain.
- gandi-rrr-1.0.0-darwin-386.tar.gz
- gandi-rrr-1.0.0-darwin-amd64.tar.gz
- gandi-rrr-1.0.0-freebsd-386.tar.gz
- gandi-rrr-1.0.0-freebsd-amd64.tar.gz
- gandi-rrr-1.0.0-linux-386.tar.gz
- gandi-rrr-1.0.0-linux-amd64.tar.gz
- gandi-rrr-1.0.0-linux-arm.tar.gz
- gandi-rrr-1.0.0-linux-arm5.tar.gz
- gandi-rrr-1.0.0-windows-386.tar.gz
- gandi-rrr-1.0.0-windows-amd64.tar.gz
All examples uses the jq tool to pretty-print
the json response. Also note that the examples uses 'https'. gandi-rrr will only
accept https requests if certfile
and keyfile
are defined in the config file.
Self-signed certificates can be generated with the cert tool.
$ curl --silent --insecure -H 'Token:foobarbaz' https://127.0.0.1:4430 | jq .
{
"records": [
{
"ttl": 900,
"type": "A",
"value": "10.0.0.100",
"name": "foo"
},
{
"ttl": 900,
"type": "A",
"value": "10.0.0.101",
"name": "bar"
}
],
"domain": "bazqux.com"
}
$ curl --silent --insecure -H 'Token:foobarbaz' https://127.0.0.1:4430/foo | jq .
{
"ttl": 900,
"type": "A",
"value": "10.0.0.100",
"name": "foo"
}
$ curl --silent --insecure -H 'Token:foobarbaz' -X POST -d '{"name": "baz", "value": "10.0.0.102"}' https://127.0.0.1:4430 | jq .
{
"success": true
}
$ curl --silent --insecure -H 'Token:foobarbaz' -X DELETE https://127.0.0.1:4430/baz | jq .
{
"success": true
}