Пример #1
0
def create_user(username: str,
                password: str,
                email: str,
                is_superuser: bool = True):
    """
    Method to create Airflow user

    :param username: (str) - Airflow User name
    :param password: (str) - Airflow Password
    :param email: (str) - Email of the user
    :param is_superuser: (str) - Is super user - True/False

    Note:
        Modified date: 10-04-2021
        Author: TB
    """
    user = PasswordUser(models.User())
    user.username = username
    user.email = email
    user.password = password
    user.superuser = is_superuser
    session = settings.Session()
    session.add(user)
    session.commit()
    session.close()
def create_superuser():
    """
    Creates a superuser (admin level) for accessing the web UI for Airflow

    :return: None
    """

    # get path to config file relative to this file
    current_dir = os.path.dirname(__file__)
    filepath = os.path.join(current_dir, 'config.ini')
    # read config.ini file
    config = ConfigParser()
    config.read(filepath)

    # create User object
    user = PasswordUser(models.User())
    user.username = config['web_authentication']['username']
    user.email = config['web_authentication']['email']
    user.password = config['web_authentication']['password']
    user.superuser = True

    # Add user to Airflow session
    session = settings.Session()
    session.add(user)
    session.commit()
    session.close()
Пример #3
0
def generate_admin_user(password):
    """
  Creates the new Airflow admin user.
  """
    user = PasswordUser(models.User())
    user.username = '******'
    user.email = get_email_address()
    user.password = password
    user.superuser = True
    return user
Пример #4
0
def make_user(username, email):
    user = PasswordUser(models.User())
    user.username = username
    user.email = email
    user.superuser = True
    user.password = click.prompt("Password")
    session = settings.Session()
    session.add(user)
    session.commit()
    session.close()
Пример #5
0
def make_user(username, email, superuser, password):
    user = PasswordUser(models.User())
    user.username = username
    user.email = email
    user.superuser = superuser
    user.password = password
    session = settings.Session()
    session.add(user)
    session.commit()
    session.close()
Пример #6
0
def add_default_user(session=None):
    from airflow import models
    from airflow.contrib.auth.backends.password_auth import PasswordUser

    user = PasswordUser(models.User())
    user.username = '******'
    user.email = '*****@*****.**'
    user.password = '******'
    user.superuser = True

    session.add(user)
    session.commit()
def create_user(opts):
    from airflow.contrib.auth.backends.password_auth import PasswordUser
    from airflow import models, settings

    u = PasswordUser(models.User())
    u.username = opts['username']
    u.email = opts['email']
    u.password = opts['password']
    u.superuser = opts['super_user']
    s = settings.Session()
    s.add(u)
    s.commit()
    s.close()
Пример #8
0
def createuser():
    userdata = json.loads(request.data)
    username = userdata.get('user') or ''
    email = userdata.get('email') or ''
    password = userdata.get('password') or username + '123'
    superuser = userdata.get('superuser') or False
    if not superuser:
        superuser = 0
    else:
        superuser = 1

    data = {}
    try:
        if not username:
            data['status'] = '200'
            data[
                'message'] = "Username has missed, unable to create user in Airflow server"
            return jsonify(data)

        session = settings.Session()
        user = session.query(
            models.User).filter(models.User.username == username).first()
        if user:
            user.superuser = superuser
            session.commit()

            data['status'] = '200'
            data['message'] = 'SuperUser status is updated successfully!'
        else:
            user = PasswordUser(models.User())
            user.username = username
            user.email = email
            user.password = password
            user.superuser = superuser
            session.add(user)
            session.commit()

            data['status'] = '200'
            data['message'] = "User Created successfully!"

    except Exception as e:
        data['status'] = '400'
        data['message'] = e.message

    return jsonify(data)
Пример #9
0
def createuser():
    username = request.args.get('user')
    email = request.args.get('email', '')
    superuser = request.args.get('superuser', False)

    if superuser == 'False':
        superuser = 0
    else:
        superuser = 1

    try:
        user = PasswordUser(models.User())
        user.username = username
        user.email = email
        user.password = username + '123'
        user.superuser = superuser
        session = settings.Session()
        session.add(user)
        session.commit()

        return jsonify("User Created")
    except:
        return jsonify("Raised Exception")
Пример #10
0
from airflow import models, settings
from airflow.contrib.auth.backends.password_auth import PasswordUser
from flask_bcrypt import generate_password_hash
from sqlalchemy import exists

session = settings.Session()
isUserPresent = not session.query(
    exists().where(models.User.username == 'airflow')).scalar()
if (isUserPresent):
    user = PasswordUser(models.User())
    user.username = '******'
    user.email = 'airflow@fab_airflow.com'
    user.superuser = True
    user._password = generate_password_hash('airflow', 12)
    session.add(user)
    session.commit()
session.close()
exit()
Пример #11
0
import airflow
from airflow import models, settings
from airflow.contrib.auth.backends.password_auth import PasswordUser
from sqlalchemy import create_engine

user = PasswordUser(models.User())
user.username = ''
user.email = ''
user.password = ''

# Make the value true if you want the user to be a administrator
user.superuser = False

engine = create_engine("postgresql://*****:*****@postgres:5432/airflow")
session = settings.Session(bind=engine)
session.add(user)
session.commit()
session.close()
exit()
Пример #12
0
def create_airflow_rest_connection():

    from airflow.contrib.auth.backends.password_auth import PasswordUser
    import base64
    import os

    session = settings.Session()
    exists = session.query(models.User).filter(models.User.username == 'application').scalar()

    if exists is None:

        LoggingMixin().log.info("creating 'application' user for mini-BRS...")

        # create 'application' user

        random_key = str(base64.urlsafe_b64encode(os.urandom(32)))
        user = PasswordUser(models.User())
        user.username = '******'
        user.email = '*****@*****.**'
        user.password = random_key
        session.add(user)
        session.commit()
        session.close()

        # create 'application' airflow connection
        rest = Connection(
            conn_id='rest',
            login='******',
            password=random_key
        )

        session = settings.Session()
        session.add(rest)
        session.commit()
        session.close()

        # create 'admin' user
        # admin_password = str(base64.urlsafe_b64encode(os.urandom(32)))

        config_parser = configuration.AirflowConfigParser()

        config_parser.read(
            configuration.get_airflow_config(
                        configuration.get_airflow_home()
                    )
        )

        u = config_parser.get(
            section='core',
            key='username'
        )

        p = config_parser.get(
            section='core',
            key='password'
        )

        user = PasswordUser(models.User())
        user.username = u
        user.email = '*****@*****.**'
        user.password = p
        user.superuser = True
        session = settings.Session()
        session.add(user)
        session.commit()
        session.close()

        config_parser.remove_option(
            section='core',
            option='username'
        )

        config_parser.remove_option(
            section='core',
            option='password'
        )

        file = open(configuration.get_airflow_config(configuration.get_airflow_home()), 'w')

        config_parser.write(file)

        file.close()