Initial commit of Timesheets install role

Change-Id: I4a0b1f7aa05fc50bc3d88be001413a00be65f231
diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml
new file mode 100644
index 0000000..73c07f5
--- /dev/null
+++ b/molecule/default/converge.yml
@@ -0,0 +1,12 @@
+---
+# timesheets molecule/default/verify.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Converge
+  hosts: all
+  tasks:
+    - name: "Include timesheets"
+      include_role:
+        name: "timesheets"
diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml
new file mode 100644
index 0000000..acf028d
--- /dev/null
+++ b/molecule/default/molecule.yml
@@ -0,0 +1,29 @@
+---
+# timesheets molecule/default/molecule.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+dependency:
+  name: galaxy
+driver:
+  name: docker
+platforms:
+  - name: "ubuntu-18.04-priv"
+    image: "quay.io/paulfantom/molecule-systemd:ubuntu-18.04"
+    privileged: true
+    volumes:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+  - name: "debian-10-priv"
+    image: "quay.io/paulfantom/molecule-systemd:debian-10"
+    privileged: true
+    volumes:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+provisioner:
+  name: ansible
+  inventory:
+    host_vars:
+      debian-10-priv:
+        ansible_python_interpreter: /usr/bin/python3
+verifier:
+  name: ansible
diff --git a/molecule/default/prepare.yml b/molecule/default/prepare.yml
new file mode 100644
index 0000000..ce920eb
--- /dev/null
+++ b/molecule/default/prepare.yml
@@ -0,0 +1,49 @@
+---
+# timeesheets molecule/default/prepare.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Prepare for Timesheets by installing dependency roles
+  hosts: all
+
+  vars:
+    pgsql_users:
+      - name: "timesheets_db_user"
+        password: "timesheets_db_pass"
+    pgsql_databases:
+      - name: "timesheets"
+        owner: "timesheets_db_user"
+
+    acme_username: "www-data"  # make independent of the acme role
+    vhosts:
+      - name: "timesheets.example.com"
+        default_server: true
+        custom_root: "/opt/timesheets/ui/dist/timesheetsui"
+        extra_config: |
+          location /rest {
+            proxy_pass            http://localhost:3000;
+            proxy_buffering       off;
+            proxy_http_version    1.1;
+            proxy_read_timeout    60;
+            proxy_connect_timeout 90;
+
+            proxy_set_header      Host              $host;
+            proxy_set_header      X-Forwarded-For   $proxy_add_x_forwarded_for;
+            proxy_set_header      X-Forwarded-Proto $scheme;
+            proxy_set_header      X-Real-IP         $remote_addr;
+            proxy_set_header      Accept-Encoding   "";
+          }
+
+
+  pre_tasks:
+    - name: Install GPG to support adding apt repo keys
+      apt:
+        name: "gpg"
+        state: "present"
+        update_cache: true
+
+  roles:
+    - nodejs
+    - nginx
+    - postgresql
diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml
new file mode 100644
index 0000000..85a5b1f
--- /dev/null
+++ b/molecule/default/verify.yml
@@ -0,0 +1,12 @@
+---
+# timesheets molecule/default/verify.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Verify
+  hosts: all
+  tasks:
+  - name: example assertion
+    assert:
+      that: true