From b6490b89ad42af8f3e4e6efcc1c335a105b255df Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 6 Dec 2015 16:58:36 +0100 Subject: Config stub --- acme.toml | 18 ++++++++++++++++++ cmd/acme/config.go | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 acme.toml create mode 100644 cmd/acme/config.go diff --git a/acme.toml b/acme.toml new file mode 100644 index 0000000..beea243 --- /dev/null +++ b/acme.toml @@ -0,0 +1,18 @@ +[account] +mail = "another@example.com" +key = "/etc/acme.key" +provider = "https://acme-staging.api.letsencrypt.org/directory" + +[[want]] +domains = [ "www.example.com", "example.com" ] +cert = "/etc/certs/www_example_com.pem" +key = "/etc/private/www_example_com.key" +# webroot = /var/www/htdocs + +[[want]] +domains = [ "www.example.net", "example.net" ] +cert = "/etc/certs/www_example_net.pem" +key = "/etc/private/www_example_net.key" + +[[hook]] +cmd = "sudo service nginx reload" diff --git a/cmd/acme/config.go b/cmd/acme/config.go new file mode 100644 index 0000000..24d7820 --- /dev/null +++ b/cmd/acme/config.go @@ -0,0 +1,38 @@ +package main + +import ( + "log" + + "github.com/BurntSushi/toml" +) + +type Config struct { + Account Account + Want []Want + Hook []Hook +} + +type Account struct { + Mail string + Key string + Provider string +} + +type Want struct { + Domains []string + Cert string + Key string +} + +type Hook struct { + CMD string +} + +func ReadConfig(fname string) Config { + var c Config + _, err := toml.DecodeFile(fname, &c) + if err != nil { + log.Fatal(err) + } + return c +} -- cgit v1.2.3