aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-12-06 16:58:36 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-12-06 16:58:36 +0100
commitb6490b89ad42af8f3e4e6efcc1c335a105b255df (patch)
treedac9a35ea85fd0d4cc09f6098caeea601df953b0
parent7019369606cd9e318e24d88f67784915ef9701ac (diff)
Config stub
-rw-r--r--acme.toml18
-rw-r--r--cmd/acme/config.go38
2 files changed, 56 insertions, 0 deletions
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
+}