diff options
-rw-r--r-- | manifests/tozt.pp | 1 | ||||
-rw-r--r-- | modules/metabase/manifests/init.pp | 12 | ||||
-rw-r--r-- | modules/tozt/files/metabase (renamed from modules/tozt/files/ynab-export) | 1 | ||||
-rw-r--r-- | modules/tozt/manifests/metabase.pp | 55 |
4 files changed, 54 insertions, 15 deletions
diff --git a/manifests/tozt.pp b/manifests/tozt.pp index c4ec96f..322c9c5 100644 --- a/manifests/tozt.pp +++ b/manifests/tozt.pp @@ -6,6 +6,7 @@ node 'tozt', 'tozt.localdomain' { class { 'base': extra_script => " (cd /home/doy/coding/ynab-export && git pull) + (cd /home/doy/coding/investments-sheet-export && git pull) "; } diff --git a/modules/metabase/manifests/init.pp b/modules/metabase/manifests/init.pp index a576194..a3573fa 100644 --- a/modules/metabase/manifests/init.pp +++ b/modules/metabase/manifests/init.pp @@ -54,18 +54,6 @@ class metabase { ]; } - exec { "create metabase db": - provider => shell, - command => "createdb -U metabase metabase", - user => 'postgres', - unless => "psql -Atc 'select datname from pg_catalog.pg_database' | grep -F metabase", - require => [ - Exec["create metabase db user"], - Package["postgresql"], - Service["postgresql"], - ]; - } - service { "metabase": ensure => running, require => [ diff --git a/modules/tozt/files/ynab-export b/modules/tozt/files/metabase index 3cf1254..b52a817 100644 --- a/modules/tozt/files/ynab-export +++ b/modules/tozt/files/metabase @@ -2,3 +2,4 @@ set -eu su doy /home/doy/coding/ynab-export/bin/load > /dev/null +su doy /home/doy/coding/investments-sheet-export/bin/load > /dev/null 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"], + ], + } } |