diff options
Diffstat (limited to 'modules/tozt/manifests/metabase.pp')
-rw-r--r-- | modules/tozt/manifests/metabase.pp | 55 |
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"], + ], + } } |