Puppet Class: superset::init_db
- Defined in:
- manifests/init_db.pp
Summary
Overview
Initialises the superset db with an admin user, default roles and default permissions. Can also optionally load examples
lint:ignore:140chars
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'manifests/init_db.pp', line 9
class superset::init_db {
assert_private()
$superset_dir = "${superset::install_dir}/apache-superset"
$set_env_var = "export SUPERSET_CONFIG_PATH=${superset_dir}/superset_config.py; export FLASK_APP=${superset_dir}/bin/superset;"
# Use of SQLite will be deprecated at some point
exec { 'Initialize DB':
command => "${set_env_var} superset db upgrade > .superset_db_upgrade",
creates => "${superset_dir}/.superset_db_upgrade", #TODO: Need to fix this condition as it may be overiden in config / replaced with a database
cwd => $superset_dir,
path => ["${superset_dir}/bin","${superset_dir}/bin",'/usr/local/bin','/usr/bin','/bin', '/usr/sbin'],
provider => 'shell',
user => $superset::user,
require => [Python::Pip['apache-superset']],
}
if $superset::load_examples {
exec { 'Load Examples with test data':
command => "${set_env_var} superset load_examples > .superset_examples_loaded",
creates => "${superset_dir}/.superset_examples_loaded",
cwd => $superset_dir,
path => ["${superset_dir}/bin",'/usr/local/bin','/usr/bin','/bin', '/usr/sbin'],
provider => 'shell',
user => $superset::user,
require => [Python::Pip['apache-superset'],Exec['Initialize DB']],
}
}
# Add parameters here
exec { 'Create Admin User':
command => "${set_env_var} superset fab create-admin --username ${superset::admin_username} --firstname ${superset::admin_firstname} --lastname ${superset::admin_lastname} --password ${superset::admin_password.unwrap} --email ${superset::admin_email} > .create_admin",
unless => "${set_env_var} superset fab list-users | grep ${superset::admin_username}", #TODO: Improve condition for this
cwd => $superset_dir,
path => ["${superset_dir}/bin",'/usr/local/bin','/usr/bin','/bin', '/usr/sbin'],
require => [Python::Pip['apache-superset'],Exec['Initialize DB']],
user => $superset::user,
provider => 'shell',
}
exec { 'Initialize default roles and permissions':
command => "${set_env_var} superset init > .superset_init",
creates => "${superset_dir}/.superset_init",
cwd => $superset_dir,
path => ["${superset_dir}/bin",'/usr/local/bin','/usr/bin','/bin', '/usr/sbin'],
provider => 'shell',
user => $superset::user,
require => [Python::Pip['apache-superset'],Exec['Initialize DB']],
}
}
|