Esempio n. 1
0
from routes.configuration import conf_app
from routes.properties import properties_app
from routes.api import api_app
from commons.config import Config
from commons.flask_lsm_auth import LSM
import logging
import sys
import io
import time
import StringIO
import time
from ship.logger import ShipLogger
from commons.log_emitter import LogEmitter

config = Config()
webserver_config = config.get('webserver')
app = flask.Flask("shipui")
app.config['SECRET_KEY'] = webserver_config.get('websockets_secret_key')
socketio = SocketIO(app)

app.register_blueprint(api_app, url_prefix='/api')
app.register_blueprint(deploy_app, url_prefix='/deploy')
app.register_blueprint(conf_app, url_prefix='/conf')
app.register_blueprint(properties_app, url_prefix='/properties')

@app.route("/", methods=["GET"])
def index():
    return flask.redirect("/deploy")


@app.route("/logout", methods=["GET"])
Esempio n. 2
0
import sys
import re
import os
from commons.config import Config
from commons.validations import Validations
from commons.database import Database
from commons.dns import DNS

def error(message):
    print message
    sys.exit(-1)

if __name__ == "__main__":

    config = Config()
    dns = DNS(config.get("domain").get("dns"))
    db = Database(config.get("database"))
    validations = Validations(db, config.get("domain"))

    parser = argparse.ArgumentParser(description="Manage RED redirections with command-line utility")
    parser.add_argument("action", choices=['add', 'del', 'list', 'check'], help="Action")
    parser.add_argument("domain", help="Domain name", nargs='?')
    parser.add_argument("url", nargs='?', help="Destination URL")
    args = parser.parse_args()

    domain = args.domain
    action = args.action

    if action == 'list':
        for red in db.get_redirections():
            print "%(date_added)s %(domain)s -> %(url)s" % red
Esempio n. 3
0
import flask
from commons.apps_configuration import AppsConfiguration
from commons.config import Config

conf_app = flask.Blueprint("conf_app", __name__, template_folder="../templates")
config = Config()

deploy_config = config.get("deploy")


@conf_app.route("/")
def page_apps():
    apps_conf = AppsConfiguration(deploy_config.get("etcd_environment_url"))
    conf = apps_conf.get()
    return flask.render_template("configuration.html", section="conf", conf=conf, user=flask.g.get("user"))


@conf_app.route("/<app>", methods=["GET"])
def app_config(app):
    apps_conf = AppsConfiguration(deploy_config.get("etcd_environment_url"))
    return apps_conf.serialize_app(app)


@conf_app.route("/<app>", methods=["PUT"])
def app_config_save(app):
    props = flask.request.form.get("props")

    apps_conf = AppsConfiguration(deploy_config.get("etcd_environment_url"))
    apps_conf.save_app(app, props)

    return props
Esempio n. 4
0
import sys
import re
import os
from commons.config import Config
from commons.validations import Validations
from commons.database import Database
from commons.dns import DNS

def error(message):
    print message
    sys.exit(-1)

if __name__ == "__main__":

    config = Config()
    dns = DNS(config.get("domain").get("dns"))
    db = Database(config.get("database"))
    validations = Validations(db, config.get("domain"))

    parser = argparse.ArgumentParser(description="Manage RED redirections with command-line utility")
    parser.add_argument("action", choices=['add', 'del', 'list', 'check'], help="Action")
    parser.add_argument("domain", help="Domain name", nargs='?')
    parser.add_argument("url", nargs='?', help="Destination URL")
    args = parser.parse_args()

    domain = args.domain
    action = args.action

    if action == 'list':
        for red in db.get_redirections():
            print "%(date_added)s %(domain)s -> %(url)s" % red
Esempio n. 5
0
import flask
from commons.sqlite import Database
from commons.nginx import NGINX
from commons.config import Config
from commons.validations import Validations
from commons.dns import DNS
from commons.oracle import OracleDatabase

config = Config()
api_app = flask.Blueprint("api_app", __name__, template_folder="../templates")
db = Database(config.get("database"))
nginx = NGINX(db, config.get("nginx"))
validations = Validations(db, config.get("domain"))
oracle_conn = config.get("domain").get("db_conn")
dns = DNS(config.get("domain"), OracleDatabase(oracle_conn))


@api_app.route("/api/red/local_domain", methods=["GET"])
def local_domain():
    return flask.jsonify({"domain": config.get("domain").get("name", "")})


@api_app.route("/api/red", methods=["GET"])
def index():
    return flask.jsonify({"rows": db.get_redirections()})


@api_app.route("/api/red", methods=["POST"])
def add():
    domain = flask.request.json["domain"].lower().strip()
    url = flask.request.json["url"].strip()
Esempio n. 6
0
import flask
from commons.apps_configuration import AppsConfiguration
from commons.config import Config

api_app = flask.Blueprint('api_app', __name__, template_folder='../templates')

config = Config()
deploy_config = config.get('deploy')

@api_app.route("/apps", methods=['GET'])
def all_apps():
    apps_conf = AppsConfiguration(deploy_config.get("etcd_environment_url"))
    return flask.jsonify(apps_conf.get())
Esempio n. 7
0
import flask
from commons.sqlite import Database
from commons.nginx import NGINX
from commons.config import Config
from commons.validations import Validations
from commons.dns import DNS

config = Config()
api_app = flask.Blueprint("api_app", __name__, template_folder="../templates")
db = Database(config.get("database"))
nginx = NGINX(db, config.get("nginx"))
validations = Validations(db, config.get("domain"))
oracle_conn = config.get("domain").get("db_conn")
dns = DNS(config.get("domain"), oracle_conn)

@api_app.route("/api/red/local_domain", methods=["GET"])
def local_domain():
    return flask.jsonify({ "domain": config.get('domain').get('name', '') })

@api_app.route("/api/red", methods=["GET"])
def index():
    return flask.jsonify({ "rows": db.get_redirections() })

@api_app.route("/api/red", methods=["POST"])
def add():   
    domain = flask.request.json["domain"].lower().strip()
    url = flask.request.json["url"].strip()
    alternative = flask.request.json["alt"]
    status = True
    message = ""
Esempio n. 8
0
import flask
import flask_lsm_auth
from routes.api import api_app
import yaml
import os
from commons.config import Config

config = Config()
auth_config = config.get("auth")
authorizedUsers = auth_config.get("users")

app = flask.Flask("redirect")
app.register_blueprint(api_app)

@app.route("/", methods=["GET"])
def index():
    lsm = flask_lsm_auth.LSM(auth_config)
    return flask.render_template("redirection.html", section="redirection", user=lsm.get_login())

@app.route("/logout", methods=["GET"])
def logout():
    lsm = flask_lsm_auth.LSM(auth_config)
    lsm.logout(flask.request.url_root)
    return lsm.compose_response()

@app.after_request
def after_request(res):
    lsm = flask_lsm_auth.LSM(auth_config)
    user = lsm.get_login()
    if not user:
        lsm.login()
Esempio n. 9
0
import flask
import flask_lsm_auth
from flask_assets import Environment
from routes.api import api_app
import yaml
import os
from commons.config import Config

config = Config()
auth_config = config.get("auth")
authorizedUsers = auth_config.get("users")

app = flask.Flask("redirect")
app.register_blueprint(api_app)

assets = Environment(app)


@app.route("/", methods=["GET"])
def index():
    lsm = flask_lsm_auth.LSM(auth_config)
    return flask.render_template("redirection.html",
                                 section="redirection",
                                 user=lsm.get_login())


@app.route("/logout", methods=["GET"])
def logout():
    lsm = flask_lsm_auth.LSM(auth_config)
    lsm.logout(flask.request.url_root)
    return lsm.compose_response()