summaryrefslogtreecommitdiffstats
path: root/modules/tozt/manifests/metabase.pp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/tozt/manifests/metabase.pp')
-rw-r--r--modules/tozt/manifests/metabase.pp55
1 files changed, 52 insertions, 3 deletions
diff --git a/modules/tozt/manifests/metabase.pp b/modules/tozt/manifests/metabase.pp
index 348fcb8..bde8715 100644
--- a/modules/tozt/manifests/metabase.pp
+++ b/modules/tozt/manifests/metabase.pp
@@ -20,16 +20,47 @@ class tozt::metabase {
source => 'puppet:///modules/tozt/nginx/metabase.conf';
}
+ exec { "create ynab db":
+ provider => shell,
+ command => "createdb -U metabase ynab",
+ user => 'postgres',
+ unless => "psql -Atc 'select datname from pg_catalog.pg_database' | grep -F ynab",
+ require => [
+ Exec["create metabase db user"],
+ Package["postgresql"],
+ Service["postgresql"],
+ ];
+ }
+
+ exec { "create investments db":
+ provider => shell,
+ command => "createdb -U metabase investments",
+ user => 'postgres',
+ unless => "psql -Atc 'select datname from pg_catalog.pg_database' | grep -F investments",
+ require => [
+ Exec["create metabase db user"],
+ Package["postgresql"],
+ Service["postgresql"],
+ ];
+ }
+
file {
"/home/doy/.config/ynab":
ensure => directory,
owner => 'doy',
group => 'doy',
require => Conf::User["doy"];
- "/etc/cron.hourly/ynab-export":
+ "/etc/cron.hourly/metabase":
mode => '0755',
- source => "puppet:///modules/tozt/ynab-export",
- require => Exec["clone ynab-export"];
+ source => "puppet:///modules/tozt/metabase",
+ require => [
+ Exec["clone ynab-export"],
+ Exec["clone investments-sheet-export"],
+ Secret["/home/doy/.config/ynab/api-key"],
+ Secret["/home/doy/.config/google/investment-sheets"],
+ Exec["create ynab db"],
+ Exec["create investments db"],
+ ];
}
secret { "/home/doy/.config/ynab/api-key":
@@ -39,6 +70,13 @@ class tozt::metabase {
require => File["/home/doy/.config/ynab"];
}
+ secret { "/home/doy/.config/google/investment-sheets":
+ source => "investments-sheets",
+ owner => 'doy',
+ group => 'doy',
+ require => File["/home/doy/.config/google"];
+ }
+
exec { "clone ynab-export":
command => "/usr/bin/git clone git://github.com/doy/ynab-export",
user => "doy",
@@ -49,4 +87,15 @@ class tozt::metabase {
File["/home/doy/coding"],
],
}
+
+ exec { "clone investments-sheet-export":
+ command => "/usr/bin/git clone git://github.com/doy/investments-sheet-export",
+ user => "doy",
+ cwd => "/home/doy/coding",
+ creates => "/home/doy/coding/investments-sheet-export",
+ require => [
+ Class["git"],
+ File["/home/doy/coding"],
+ ],
+ }
}