Exemplo n.º 1
0
def add_domain(name):
    """Add a domain to arkOS LDAP"""
    try:
        client().roles.add_domain(name)
        logger.success('ctl:dom:add', 'Added {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 2
0
def add_group(name, users):
    """Add a group to arkOS LDAP"""
    try:
        client().roles.add_group(name, users)
        logger.success('ctl:grp:add', 'Added {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 3
0
def revoke(key):
    """Revoke an API key."""
    try:
        client().apikeys.revoke(key)
        logger.info('ctl:keys:revoke', 'API key revoked')
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 4
0
def add(name, type_id):
    """Add a database."""
    try:
        client().databases.add(name, "db-" + type_id)
        logger.success('ctl:db:create', 'Added {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 5
0
def delete_domain(name):
    """Delete an arkOS LDAP domain"""
    try:
        client().roles.delete_domain(name)
        logger.success('ctl:dom:delete', 'Deleted {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 6
0
def disconnect(id):
    """Disconnect from a network"""
    try:
        client().networks.disconnect(id)
        logger.success('ctl:net:disconnect', 'Disconnected {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 7
0
def remove_share(id):
    """Disable a fileshare link."""
    try:
        client().files.remove_share(id)
        logger.success('ctl:links:delete', 'Deleted share {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 8
0
def update_share(id, expires):
    """Update a fileshare link's expiration."""
    try:
        client().files.update_share(id, expires)
        logger.success('ctl:links:update', 'Updated share {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 9
0
def local(id):
    """Allow local network access only to service"""
    try:
        client().security.update_policy(id, "local")
        logger.success('ctl:sec:local', 'Access to {0} restricted'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 10
0
def block(id):
    """Block all network access to service"""
    try:
        client().security.update_policy(id, "block")
        logger.success('ctl:sec:block', 'Access to {0} blocked'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 11
0
def block(id):
    """Block all network access to service"""
    try:
        client().security.update_policy(id, "block")
        logger.success('ctl:sec:block', 'Access to {0} blocked'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 12
0
def allow(id):
    """Allow all access to service"""
    try:
        client().security.update_policy(id, "allow")
        logger.success('ctl:sec:allow', 'Access to {0} allowed'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 13
0
def allow(id):
    """Allow all access to service"""
    try:
        client().security.update_policy(id, "allow")
        logger.success('ctl:sec:allow', 'Access to {0} allowed'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 14
0
def local(id):
    """Allow local network access only to service"""
    try:
        client().security.update_policy(id, "local")
        logger.success('ctl:sec:local', 'Access to {0} restricted'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 15
0
def update():
    """Updates system package index"""
    try:
        client().packages.get(refresh=True)
        logger.success('ctl:pkg:update', 'Index updated')
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 16
0
def edit(id, address, port, new_name):
    """Edit a website"""
    try:
        client().websites.edit(id, new_name, address, port)
        logger.success('ctl:site:edit', 'Edited {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 17
0
def update(id):
    """Update a website"""
    try:
        client().websites.update(id)
        logger.success('ctl:site:update', 'Updated {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 18
0
def assign(id, type, appid, specialid):
    """Assign a certificate to an app or website."""
    try:
        client().certificates.assign(id, type, appid, specialid)
        logger.info('ctl:cert:assign', 'Assigned {0} to {0}'.format(id, appid))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 19
0
def drop_user(name):
    """Delete a database user."""
    try:
        client().databases.delete_user(name)
        logger.success('ctl:dbusr:drop', 'Dropped {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 20
0
def edit(id, address, port, new_name):
    """Edit a website"""
    try:
        client().websites.edit(id, new_name, address, port)
        logger.success('ctl:site:edit', 'Edited {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 21
0
def delete(id):
    """Delete a certificate."""
    try:
        client().certificates.delete(id=id)
        logger.success('ctl:cert:delete', 'Deleted {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 22
0
def enable(id):
    """Mount a filesystem on boot"""
    try:
        client().filesystems.enable(id)
        logger.success('ctl:fs:enable', 'Enabled {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 23
0
def delete(id):
    """Delete a certificate."""
    try:
        client().certificates.delete(id=id)
        logger.success('ctl:cert:delete', 'Deleted {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 24
0
def revoke(key):
    """Revoke an API key."""
    try:
        client().apikeys.revoke(key)
        logger.info('ctl:keys:revoke', 'API key revoked')
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 25
0
def disable(id):
    """Disable a website"""
    try:
        client().websites.disable(id)
        logger.success('ctl:site:disable', 'Disabled {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 26
0
def delete_domain(name):
    """Delete an arkOS LDAP domain"""
    try:
        client().roles.delete_domain(name)
        logger.success('ctl:dom:delete', 'Deleted {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 27
0
def enable(id):
    """Enable connection to a network on boot"""
    try:
        client().networks.enable(id)
        logger.success('ctl:net:enable', 'Enabled {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 28
0
def delete(id):
    """Delete a network connection"""
    try:
        client().networks.delete(id)
        logger.success('ctl:net:delete', 'Deleted {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 29
0
def connect(id):
    """Connect to a network"""
    try:
        client().networks.connect(id)
        logger.success('ctl:net:connect', 'Connected {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 30
0
def update_share(id, expires):
    """Update a fileshare link's expiration."""
    try:
        client().files.update_share(id, expires)
        logger.success('ctl:links:update', 'Updated share {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 31
0
def remove_share(id):
    """Disable a fileshare link."""
    try:
        client().files.remove_share(id)
        logger.success('ctl:links:delete', 'Deleted share {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 32
0
def add_user(name, type_id):
    """Add a database user."""
    try:
        client().databases.add_user(name, type_id)
        logger.success('ctl:dbusr:add', 'Added user {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 33
0
def add(name, type_id):
    """Add a database."""
    try:
        client().databases.add(name, "db-" + type_id)
        logger.success('ctl:db:create', 'Added {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 34
0
def drop_user(name):
    """Delete a database user."""
    try:
        client().databases.delete_user(name)
        logger.success('ctl:dbusr:drop', 'Dropped {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 35
0
def add_group(name, users):
    """Add a group to arkOS LDAP"""
    try:
        client().roles.add_group(name, users)
        logger.success('ctl:grp:add', 'Added {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 36
0
def disable(id):
    """Disable mounting a filesystem on boot"""
    try:
        client().filesystems.disable(id)
        logger.success('ctl:fs:disable', 'Disabled {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 37
0
def add_domain(name):
    """Add a domain to arkOS LDAP"""
    try:
        client().roles.add_domain(name)
        logger.success('ctl:dom:add', 'Added {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 38
0
def umount(id):
    """Unmount a filesystem"""
    try:
        client().filesystems.umount(id)
        logger.success('ctl:fs:umount', 'Unmounted {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 39
0
def add_user(name, type_id):
    """Add a database user."""
    try:
        client().databases.add_user(name, type_id)
        logger.success('ctl:dbusr:add', 'Added user {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 40
0
def disable(id):
    """Disable a website"""
    try:
        client().websites.disable(id)
        logger.success('ctl:site:disable', 'Disabled {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 41
0
def update(id):
    """Update a website"""
    try:
        client().websites.update(id)
        logger.success('ctl:site:update', 'Updated {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 42
0
def umount(id):
    """Unmount a filesystem"""
    try:
        client().filesystems.umount(id)
        logger.success('ctl:fs:umount', 'Unmounted {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 43
0
def enable(id):
    """Mount a filesystem on boot"""
    try:
        client().filesystems.enable(id)
        logger.success('ctl:fs:enable', 'Enabled {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 44
0
def disable(id):
    """Disable mounting a filesystem on boot"""
    try:
        client().filesystems.disable(id)
        logger.success('ctl:fs:disable', 'Disabled {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 45
0
def delete(id):
    """Delete a virtual disk"""
    try:
        client().filesystems.delete(id)
        logger.success('ctl:fs:delete', 'Deleted {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 46
0
def update():
    """Updates system package index"""
    try:
        client().packages.get(refresh=True)
        logger.success('ctl:pkg:update', 'Index updated')
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 47
0
def disable(name):
    """Disable a service on boot"""
    try:
        client().services.disable(name)
        logger.success('ctl:svc:disable', 'Disabled {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 48
0
def stop(name):
    """Stop a service"""
    try:
        client().services.stop(name)
        logger.success('ctl:svc:stop', 'Stopped {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 49
0
def delete(id):
    """Delete a virtual disk"""
    try:
        client().filesystems.delete(id)
        logger.success('ctl:fs:delete', 'Deleted {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 50
0
def unassign(id, type, appid, specialid):
    """Unassign a certificate from an app or website."""
    try:
        client().certificates.unassign(id, type, appid, specialid)
        logger.info('ctl:cert:unassign',
                    'Unassigned {0} from {0}'.format(id, appid))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 51
0
def add_user(name, password, domain, first_name, last_name, admin, sudo):
    """Add a user to arkOS LDAP"""
    try:
        client().roles.add_user(
            name, password, domain, first_name, last_name, admin, sudo)
        logger.success('ctl:usr:add', 'Added {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 52
0
def add_user(name, password, domain, first_name, last_name, admin, sudo):
    """Add a user to arkOS LDAP"""
    try:
        client().roles.add_user(name, password, domain, first_name, last_name,
                                admin, sudo)
        logger.success('ctl:usr:add', 'Added {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 53
0
def assign(id, type, appid, specialid):
    """Assign a certificate to an app or website."""
    try:
        client().certificates.assign(id, type, appid, specialid)
        logger.info(
            'ctl:cert:assign', 'Assigned {0} to {0}'.format(id, appid)
        )
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 54
0
def unassign(id, type, appid, specialid):
    """Unassign a certificate from an app or website."""
    try:
        client().certificates.unassign(id, type, appid, specialid)
        logger.info(
            'ctl:cert:unassign', 'Unassigned {0} from {0}'.format(id, appid)
        )
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 55
0
def delete(id):
    """Delete a backup."""
    if "/" not in id:
        excmsg = "Requires full backup ID with app ID and timestamp"
        raise CLIException(excmsg)
    id, tsp = id.split("/")
    try:
        client().backups.delete(id=id, time=tsp)
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 56
0
def request(domain):
    """Request a free ACME certificate from Let's Encrypt."""
    if not domain:
        logger.error(
            "ctl:info:generate", "Choose a fully-qualified domain name of the "
            "certificate. Must match a domain present on the system")
        domain = click.prompt("Domain name")
    try:
        client().certificates.request_acme_certificate(domain)
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 57
0
def mount(id, password):
    """Mount a filesystem"""
    try:
        fs = client().filesystems.get(id=id)
        if fs["crypt"] and not password:
            password = click.prompt(
                "Please enter your password to mount this filesystem",
                hide_input=True)
        client().filesystems.mount(id, password or "")
        logger.success('ctl:fs:mount', 'Mounted {0}'.format(id))
    except Exception as e:
        raise CLIException(str(e))
Exemplo n.º 58
0
def start(name):
    """Start a service"""
    try:
        client().services.start(name)
        svc = client().services.get(id=name)
        state = svc["state"]
        if state == "running":
            logger.success('ctl:svc:start', 'Started {0}'.format(name))
        else:
            logger.error('ctl:svc:start', 'Failed to start {0}'.format(name))
    except Exception as e:
        raise CLIException(str(e))