From 39dce803e17bef84986a9e19e0bc745cd7aaca2f Mon Sep 17 00:00:00 2001
From: Nemo <me@captnemo.in>
Date: Sun, 31 Dec 2017 00:11:36 +0530
Subject: [PATCH] Final commit

---
 main.tf               |   2 +-
 radicale/config       | 144 +++++++++++---------------------------------------------------------------------
 radicale/logging.conf |  22 ++++++++++++++++++++++
 radicale/main.tf      |  32 ++++++++++++++++++++------------
 radicale/users        |   1 +
 5 files changed, 50 insertions(+), 151 deletions(-)

diff --git a/main.tf b/main.tf
index 82bd878..9ad5848 100644
--- a/main.tf
+++ a/main.tf
@@ -25,6 +25,6 @@
 }
 
 module "radicale" {
-  source ="radicale"
+  source = "radicale"
   domain = "radicale.bb8.fun"
 }
diff --git a/radicale/config b/radicale/config
index a91d071..6e9e73f 100644
--- a/radicale/config
+++ a/radicale/config
@@ -1,160 +1,32 @@
-# vim:ft=cfg
-
-# Config file for Radicale - A simple calendar server
-#
-# Place it into /etc/radicale/config (global)
-# or ~/.config/radicale/config (user)
-#
-# The current values are the default ones
-
-
+# See radicale.org/configuration/
 [server]
-
-# CalDAV server hostnames separated by a comma
-# IPv4 syntax: address:port
-# IPv6 syntax: [address]:port
-# For example: 0.0.0.0:9999, [::]:9999
-#hosts = 127.0.0.1:5232
 hosts = 0.0.0.0:5232
-
-# Daemon flag
-#daemon = False
 
-# File storing the PID in daemon mode
-#pid =
-
 # Max parallel connections
-#max_connections = 20
-
-# Max size of request body (bytes)
-#max_content_length = 10000000
-
-# Socket timeout (seconds)
-#timeout = 10
-
-# SSL flag, enable HTTPS protocol
-ssl = False
-
-# SSL certificate path
-#certificate = /etc/ssl/radicale.cert.pem
+max_connections = 10
 
-# SSL private key
-#key = /etc/ssl/radicale.key.pem
-
-# CA certificate for validating clients. This can be used to secure
-# TCP traffic between Radicale and a reverse proxy
-#certificate_authority =
-
-# SSL Protocol used. See python's ssl module for available values
-#protocol = PROTOCOL_TLSv1_2
-
-# Available ciphers. See python's ssl module for available ciphers
-#ciphers =
-
-# Reverse DNS to resolve client address in logs
-dns_lookup = False
-
 # Message displayed in the client when a password is needed
-#realm = Radicale - Password Required
+realm = Authentication required
 
-
-[encoding]
-
-# Encoding for responding requests
-request = utf-8
-
-# Encoding for storing local collections
-stock = utf-8
-
-
 [auth]
 
 # Authentication method
 # Value: none | htpasswd | remote_user | http_x_remote_user
-#type = none
-
-# Htpasswd filename
-#htpasswd_filename = /etc/radicale/users
+type = htpasswd
+htpasswd_filename = /config/users
 
-# Htpasswd encryption method
-# Value: plain | sha1 | ssha | crypt | bcrypt | md5
-# Only bcrypt can be considered secure.
-# bcrypt and md5 require the passlib library to be installed.
-#htpasswd_encryption = bcrypt
-
-# Incorrect authentication delay (seconds)
-delay = 1
-
-
-[rights]
-
-# Rights backend
-# Value: none | authenticated | owner_only | owner_write | from_file
-#type = owner_only
-
-# File for rights management from_file
-# file = /etc/radicale/rights
-
-
 [storage]
-
-# Storage backend
-# Value: multifilesystem
-#type = multifilesystem
-
-# Folder for storing local collections, created if not present
-#filesystem_folder = /var/lib/radicale/collections
 filesystem_folder = /data/collections
-
-# Lock the storage. Never start multiple instances of Radicale or edit the
-# storage externally while Radicale is running if disabled.
-#filesystem_locking = True
 
-# Sync all changes to disk during requests. (This can impair performance.)
-# Disabling it increases the risk of data loss, when the system crashes or
-# power fails!
-#filesystem_fsync = True
-
-# Delete sync token that are older (seconds)
-#max_sync_token_age = 2592000
-
-# Close the lock file when no more clients are waiting.
-# This option is not very useful in general, but on Windows files that are
-# opened cannot be deleted.
-#filesystem_close_lock_file = False
-
-# Command that is run after changes to storage
-# Example: ([ -d .git ] || git init) && git add -A && (git diff --cached --quiet || git commit -m "Changes by "%(user)s)
-#hook =
-
-
-[web]
-
-# Web interface backend
-# Value: none | internal | radicale_infcloud
-# (See also https://github.com/Unrud/RadicaleInfCloud)
-#type = internal
-
-
 [logging]
 
-# Logging configuration file
-# If no config is given, simple information is printed on the standard output
 # For more information about the syntax of the configuration file, see:
 # http://docs.python.org/library/logging.config.html
-#config =
-
-# Set the default logging level to debug
-#debug = False
-
-# Store all environment variables (including those set in the shell)
-#full_environment = False
-
-# Don't include passwords in logs
-#mask_passwords = True
+# config = /config/logging
 
 
 [headers]
 
 # Additional HTTP headers
-#Access-Control-Allow-Origin = *
+X-Powered-By: Allomancy
+Server: Blackbox
diff --git a/radicale/logging.conf b/radicale/logging.conf
new file mode 100644
index 0000000..cd27e76 100644
--- /dev/null
+++ a/radicale/logging.conf
@@ -1,0 +1,22 @@
+[loggers]
+keys = root
+
+[handlers]
+keys = file
+
+[formatters]
+keys = full
+
+[logger_root]
+# Change this to DEBUG or INFO for higher verbosity.
+level = WARNING
+handlers = file
+
+[handler_file]
+class = FileHandler
+# Specify the output file here.
+args = ('/var/log/radicale/log',)
+formatter = full
+
+[formatter_full]
+format = %(asctime)s - [%(thread)x] %(levelname)s: %(message)s
diff --git a/radicale/main.tf b/radicale/main.tf
index 3c49a9d..b21bb1a 100644
--- a/radicale/main.tf
+++ a/radicale/main.tf
@@ -12,15 +12,15 @@
   image = "${docker_image.radicale.latest}"
 
   labels {
-    "traefik.port"                                     = 5232
-    "traefik.enable"                                   = "true"
-    "traefik.frontend.headers.SSLTemporaryRedirect"    = "true"
-    "traefik.frontend.headers.STSSeconds"              = "2592000"
-    "traefik.frontend.headers.STSIncludeSubdomains"    = "false"
-    "traefik.frontend.headers.contentTypeNosniff"      = "true"
-    "traefik.frontend.headers.browserXSSFilter"        = "true"
-    "traefik.frontend.passHostHeader"                  = "true"
-    "traefik.frontend.rule"                            = "Host:${var.domain}"
+    "traefik.port"                                  = 5232
+    "traefik.enable"                                = "true"
+    "traefik.frontend.headers.SSLTemporaryRedirect" = "true"
+    "traefik.frontend.headers.STSSeconds"           = "2592000"
+    "traefik.frontend.headers.STSIncludeSubdomains" = "false"
+    "traefik.frontend.headers.contentTypeNosniff"   = "true"
+    "traefik.frontend.headers.browserXSSFilter"     = "true"
+    "traefik.frontend.passHostHeader"               = "true"
+    "traefik.frontend.rule"                         = "Host:${var.domain}"
   }
 
   volumes {
@@ -38,11 +38,15 @@
     file    = "/config/config"
   }
 
-  # env = [
-  #   "PGID=1003",
-  #   "PUID=1000",
-  #   "TZ=Asia/Kolkata",
-  # ]
+  upload {
+    content = "${file("${path.module}/logging.conf")}"
+    file    = "/config/logging"
+  }
+
+  upload {
+    content = "${file("${path.module}/users")}"
+    file    = "/config/users"
+  }
 
   restart               = "unless-stopped"
   destroy_grace_seconds = 10
diff --git a/radicale/users b/radicale/users
new file mode 100644
index 0000000..03a9ae4 100644
--- /dev/null
+++ a/radicale/users
@@ -1,0 +1,1 @@
+nemo:$2y$05$vC1WTAuKn2xuDYZ6I3ucxuPnCrtZrVKzdDHSYhqCegi97RM/pdzXW
--
rgit 0.1.5