superset-standalone

Description

Install a standalone Superset service.

Install a Postgresql service, create a database on it. Then install Superset and configure it to use that database.

In case no 'db_password' is specified, freckles will generate a random one.

NOTE: this is work in progress, and will probably fail

Variables

Name Type Default Description

admin_email

string --

The email address of the admin user.

admin_firstname

string --

The first name of the admin user.

admin_lastname

string --

The last name of the admin user.

admin_password

string --

The service admin password.

db_host_ip

string 127.0.0.1

The db host ip address.

db_name

string superset

the db name.

db_password

string superset_db_password

The db password.

db_user

string superset

The db username.

Code

doc:
  short_help: Install a standalone Superset service.
  help: |
    Install a standalone Superset service.

    Install a Postgresql service, create a database on it. Then install Superset and configure it to use that database.

    In case no 'db_password' is specified, freckles will generate a random one.

    **NOTE**: this is work in progress, and will probably fail
args:
  _import: superset-service
  db_password:
    doc:
      short_help: The db password.
    type: string
    default: superset_db_password
    secret: true

frecklets:
- superset-service-database-exists:
    db_name: '{{:: db_name ::}}'
    db_user: '{{:: db_user ::}}'
    db_password: '{{:: db_password ::}}'
    db_host_ip: '{{:: db_host_ip ::}}'
- superset-service:
    db_type: postgresql
    db_user: '{{:: db_user ::}}'
    db_user_password: '{{:: db_password ::}}'
    db_name: '{{:: db_name ::}}'
    admin_firstname: '{{:: admin_firstname ::}}'
    admin_lastname: '{{:: admin_lastname ::}}'
    admin_password: '{{:: admin_password ::}}'
    admin_email: '{{:: admin_email ::}}'
frecklecute --community superset-standalone --help

Usage: frecklecute superset-standalone [OPTIONS]

  Install a standalone Superset service.

  Install a Postgresql service, create a database on it. Then install
  Superset and configure it to use that database.

  In case no 'db_password' is specified, freckles will generate a random
  one.

  **NOTE**: this is work in progress, and will probably fail

Options:
  --admin-email ADMIN_EMAIL       The email address of the admin user.
  --admin-firstname ADMIN_FIRSTNAME
                                  The first name of the admin user.
  --admin-lastname ADMIN_LASTNAME
                                  The last name of the admin user.
  --admin-password ADMIN_PASSWORD
                                  The service admin password.
  --db-host-ip DB_HOST_IP         The db host ip address.
  --db-name DB_NAME               the db name.
  --db-password DB_PASSWORD       The db password.
  --db-user DB_USER               The db username.
  --help                          Show this message and exit.
# -*- coding: utf-8 -*-


#
# module path: pycklets.superset_standalone.SupersetStandalone
#


from dataclasses import dataclass
from pyckles import AutoPycklet
from typing import *    # noqa

@dataclass
class SupersetStandalone(AutoPycklet):
    """Install a standalone Superset service.

     Install a Postgresql service, create a database on it. Then install Superset and configure it to use that database.

     In case no 'db_password' is specified, freckles will generate a random one.

     **NOTE**: this is work in progress, and will probably fail

       Args:
         admin_email: The email address of the admin user.
         admin_firstname: The first name of the admin user.
         admin_lastname: The last name of the admin user.
         admin_password: The service admin password.
         db_host_ip: The db host ip address.
         db_name: the db name.
         db_password: The db password.
         db_user: The db username.

    """

    FRECKLET_ID = "superset-standalone"

    admin_email: str = None
    admin_firstname: str = None
    admin_lastname: str = None
    admin_password: str = None
    db_host_ip: str = None
    db_name: str = None
    db_password: str = None
    db_user: str = None


    def __post_init__(self):
        super(SupersetStandalone, self).__init__(var_names=["admin_email", "admin_firstname", "admin_lastname", "admin_password", "db_host_ip", "db_name", "db_password", "db_user"])


frecklet_class = SupersetStandalone
# -*- coding: utf-8 -*-


#
# module path: pycklets.superset_standalone.SupersetStandalone
#


from pyckles import AutoPycklet

class SupersetStandalone(AutoPycklet):
    """Install a standalone Superset service.

     Install a Postgresql service, create a database on it. Then install Superset and configure it to use that database.

     In case no 'db_password' is specified, freckles will generate a random one.

     **NOTE**: this is work in progress, and will probably fail

       Args:
         admin_email: The email address of the admin user.
         admin_firstname: The first name of the admin user.
         admin_lastname: The last name of the admin user.
         admin_password: The service admin password.
         db_host_ip: The db host ip address.
         db_name: the db name.
         db_password: The db password.
         db_user: The db username.

    """

    FRECKLET_ID = "superset-standalone"

    def __init__(self, admin_email=None, admin_firstname=None, admin_lastname=None, admin_password=None, db_host_ip="127.0.0.1", db_name="superset", db_password="superset_db_password", db_user="superset"):

        super(SupersetStandalone, self).__init__(var_names=["admin_email", "admin_firstname", "admin_lastname", "admin_password", "db_host_ip", "db_name", "db_password", "db_user"])
        self._admin_email = admin_email
        self._admin_firstname = admin_firstname
        self._admin_lastname = admin_lastname
        self._admin_password = admin_password
        self._db_host_ip = db_host_ip
        self._db_name = db_name
        self._db_password = db_password
        self._db_user = db_user

    @property
    def admin_email(self):
        return self._admin_email

    @admin_email.setter
    def admin_email(self, admin_email):
        self._admin_email = admin_email

    @property
    def admin_firstname(self):
        return self._admin_firstname

    @admin_firstname.setter
    def admin_firstname(self, admin_firstname):
        self._admin_firstname = admin_firstname

    @property
    def admin_lastname(self):
        return self._admin_lastname

    @admin_lastname.setter
    def admin_lastname(self, admin_lastname):
        self._admin_lastname = admin_lastname

    @property
    def admin_password(self):
        return self._admin_password

    @admin_password.setter
    def admin_password(self, admin_password):
        self._admin_password = admin_password

    @property
    def db_host_ip(self):
        return self._db_host_ip

    @db_host_ip.setter
    def db_host_ip(self, db_host_ip):
        self._db_host_ip = db_host_ip

    @property
    def db_name(self):
        return self._db_name

    @db_name.setter
    def db_name(self, db_name):
        self._db_name = db_name

    @property
    def db_password(self):
        return self._db_password

    @db_password.setter
    def db_password(self, db_password):
        self._db_password = db_password

    @property
    def db_user(self):
        return self._db_user

    @db_user.setter
    def db_user(self, db_user):
        self._db_user = db_user



frecklet_class = SupersetStandalone