]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/letsencrypt/files/default/bin/upload
Add framework for managing letsencrypt certificates
[chef.git] / cookbooks / letsencrypt / files / default / bin / upload
diff --git a/cookbooks/letsencrypt/files/default/bin/upload b/cookbooks/letsencrypt/files/default/bin/upload
new file mode 100755 (executable)
index 0000000..56da629
--- /dev/null
@@ -0,0 +1,20 @@
+#!/usr/bin/ruby
+
+require "json"
+require "tempfile"
+
+domain = ARGV.shift
+directory = ARGV.shift
+
+bag = {
+  :id => domain,
+  :key => File.read(File.join(directory, "privkey.pem")),
+  :certificate => File.read(File.join(directory, "fullchain.pem"))
+}
+
+file = Tempfile.new(["letsencrypt", ".json"])
+
+file.puts JSON.generate(bag)
+file.close
+
+system("/usr/bin/knife", "data", "bag", "from", "file", "letsencrypt", file.path)