Exemplo n.º 1
0
def manage_api_keys():
    """Page for viewing and creating API keys."""
    build = g.build
    create_form = forms.CreateApiKeyForm()
    if create_form.validate_on_submit():
        api_key = models.ApiKey()
        create_form.populate_obj(api_key)
        api_key.id = utils.human_uuid()
        api_key.secret = utils.password_uuid()

        save_admin_log(build, created_api_key=True, message=api_key.id)

        db.session.add(api_key)
        db.session.commit()

        logging.info('Created API key=%r for build_id=%r',
                     api_key.id, build.id)
        return redirect(url_for('manage_api_keys', build_id=build.id))

    create_form.build_id.data = build.id

    api_key_query = (
        models.ApiKey.query
        .filter_by(build_id=build.id)
        .order_by(models.ApiKey.created.desc())
        .limit(1000))

    revoke_form_list = []
    for api_key in api_key_query:
        form = forms.RevokeApiKeyForm()
        form.id.data = api_key.id
        form.build_id.data = build.id
        form.revoke.data = True
        revoke_form_list.append((api_key, form))

    return render_template(
        'view_api_keys.html',
        build=build,
        create_form=create_form,
        revoke_form_list=revoke_form_list)
Exemplo n.º 2
0
def manage_api_keys():
    """Page for viewing and creating API keys."""
    build = g.build
    create_form = forms.CreateApiKeyForm()
    if create_form.validate_on_submit():
        api_key = models.ApiKey()
        create_form.populate_obj(api_key)
        api_key.id = utils.human_uuid()
        api_key.secret = utils.password_uuid()

        save_admin_log(build, created_api_key=True, message=api_key.id)

        db.session.add(api_key)
        db.session.commit()

        logging.info('Created API key=%r for build_id=%r',
                     api_key.id, build.id)
        return redirect(url_for('manage_api_keys', build_id=build.id))

    create_form.build_id.data = build.id

    api_key_query = (
        models.ApiKey.query
        .filter_by(build_id=build.id)
        .order_by(models.ApiKey.created.desc())
        .limit(1000))

    revoke_form_list = []
    for api_key in api_key_query:
        form = forms.RevokeApiKeyForm()
        form.id.data = api_key.id
        form.build_id.data = build.id
        form.revoke.data = True
        revoke_form_list.append((api_key, form))

    return render_template(
        'view_api_keys.html',
        build=build,
        create_form=create_form,
        revoke_form_list=revoke_form_list)
Exemplo n.º 3
0
"""Bootstraps a new installation by setting up the production environment."""

import os
os.environ['YOURAPPLICATION_SETTINGS'] = '../../settings.cfg'
os.environ['SQLITE_PRODUCTION'] = 'Yes'

from dpxdt.server import db
from dpxdt.server import models
from dpxdt.server import utils

db.create_all()

build = models.Build(name='Primary build')
db.session.add(build)
db.session.commit()

api_key = models.ApiKey(
    id=utils.human_uuid(),
    secret=utils.password_uuid(),
    purpose='Local workers',
    superuser=True,
    build_id=build.id)
db.session.add(api_key)
db.session.commit()

db.session.flush()

with open('flags.cfg', 'a') as f:
    f.write('--release_client_id=%s\n' % api_key.id)
    f.write('--release_client_secret=%s\n' % api_key.secret)
Exemplo n.º 4
0
from dpxdt.server import models
from dpxdt.server import utils

parser = argparse.ArgumentParser(description="Configure startup behaviour")
parser.add_argument('-d','--dbexists', help='does db exist already',required=False)
args = parser.parse_args()
print "Argument --dbexists=%s" % args.dbexists

#See if we need to initialize the database
if args.dbexists == "false" or args.dbexists == None:
    db.create_all()

    build = models.Build(name='Primary build')
    db.session.add(build)
    db.session.commit()

    api_key = models.ApiKey(
        id=utils.human_uuid(),
        secret=utils.password_uuid(),
        purpose='Local workers',
        superuser=True,
        build_id=build.id)
    db.session.add(api_key)
    db.session.commit()

    db.session.flush()

    with open('flags.cfg', 'a') as f:
        f.write('--release_client_id=%s\n' % api_key.id)
        f.write('--release_client_secret=%s\n' % api_key.secret)