Command Line Tool

Isomer provides a comprehensive CLI tool to manage Isomer instances:

iso

Isomer Management Tool

This tool supports various operations to manage Isomer instances.

Most of the commands are grouped. To obtain more information about the groups’ available sub commands/groups, try

iso [group]

To display details of a command or its subgroups, try

iso [group] [subgroup] [..] [command] –help

To get a map of all available commands, try

iso cmdmap

iso [OPTIONS] COMMAND [ARGS]...

Options

-i, --instance <name>

Name of instance to act on

-e, --env, --environment <env>

Override environment to act on (CAUTION!)

Options:blue|green|current|other
--quiet

Suppress all output

-nc, --no-colors

Do not use colorful output

--console-level, --clog <level>

Log level to use (0-100)

--file-level, --flog <level>

Log level to use (0-100)

--no-log

Do not log to file

--log-path <log_path>

Logfile path

--log-file <log_file>

Logfile name

--dbhost <ip:port>

Define hostname for database server (default: 127.0.0.1:27017)

--dbname <name>

Define name of database (default: isomer)

-p, --prefix-path <prefix_path>

Use different system prefix

-c, --config-path <config_path>

System configuration path

cmdmap

Generates a command map

iso cmdmap [OPTIONS]

Options

--xdot

Use xdot for nicer displaying

config

[GROUP] Configuration management operations

iso config [OPTIONS] COMMAND [ARGS]...

delete

Delete an existing component configuration. This will trigger the creation of its default configuration upon next restart.

iso config delete [OPTIONS] COMPONENT

Arguments

COMPONENT

Required argument

disable

Disable field values of objects

iso config disable [OPTIONS] COMPONENT

Arguments

COMPONENT

Required argument

enable

Enable field values of objects

iso config enable [OPTIONS] COMPONENT

Arguments

COMPONENT

Required argument

modify

Modify field values of objects

iso config modify [OPTIONS] COMPONENT FIELD VALUE

Arguments

COMPONENT

Required argument

FIELD

Required argument

VALUE

Required argument

show

Show the stored, active configuration of a component.

iso config show [OPTIONS]

Options

--component <component>

db

[GROUP] Database management operations

iso db [OPTIONS] COMMAND [ARGS]...

clear

Clears an entire database collection irrevocably. Use with caution!

iso db clear [OPTIONS] SCHEMA

Arguments

SCHEMA

Required argument

copy

Copies an entire database

iso db copy [OPTIONS] DESTINATION

Options

-s, --source <source>

Specify source database. Leave out to use the default instance’s active database.

Arguments

DESTINATION

Required argument

delete

Deletes an entire database irrevocably. Use with extreme caution!

iso db delete [OPTIONS]

Options

-f, --force

Force deletion without user intervention

dump

Create a full database dump

iso db dump [OPTIONS] FILENAME

Arguments

FILENAME

Required argument

export

Export stored objects

Warning! This functionality is work in progress and you may destroy live data by using it! Be very careful when using the export/import functionality!

iso db export [OPTIONS] FILENAME

Options

-s, --schema <schema>

Specify schema to export

-u, --uuid <uuid>

Specify single object to export

--object-filter, --filter <object_filter>

Find objects to export by filter

--export-format, --format <export_format>

Currently only JSON is supported

-p, --pretty

Indent output for human readability

--all-schemata, --all

Agree to export all documents, if no schema specified

-o, --omit <omit>

Omit given fields (multiple, e.g. ‘-o _id -o perms’)

Arguments

FILENAME

Required argument

import

Import objects from file

Warning! This functionality is work in progress and you may destroy live data by using it! Be very careful when using the export/import functionality!

iso db import [OPTIONS]

Options

--schema <schema>

Specify schema to import

--uuid <uuid>

Specify single object to import

--object-filter, --filter <object_filter>

Specify objects to import by filter (Not implemented yet!)

--import-format, --format <import_format>

Currently only JSON is supported

--filename <filename>

Import from given file

--all-schemata, --all

Agree to import all documents, if no schema specified

--dry

Do not write changes to the database

list-all

List all available Mongo Databases on the configured database host.

iso db list-all [OPTIONS]

load

Load a full database dump

iso db load [OPTIONS] FILENAME

Arguments

FILENAME

Required argument

migrations

[GROUP] Data migration management

iso db migrations [OPTIONS] COMMAND [ARGS]...

Options

--schema <schema>

Specify schema to work with

apply

Applies migrations for all or the specified schema

iso db migrations apply [OPTIONS]
make

Makes new migrations for all or the specified schema

iso db migrations make [OPTIONS]

objects

[GROUP] Object operations

iso db objects [OPTIONS] COMMAND [ARGS]...
delete

Delete stored objects (CAUTION!)

iso db objects delete [OPTIONS]

Options

--schema <schema>
--uuid <uuid>
--object-filter, --filter <object_filter>
-y, --yes

Assume yes to a safety question

drop

Delete a whole collection of stored objects (CAUTION!)

iso db objects drop [OPTIONS]

Options

--schema <schema>
-y, --yes

Assume yes to a safety question

dupcheck

Tool to check for duplicate objects. Which should never happen.

iso db objects dupcheck [OPTIONS]

Options

--delete-duplicates, --delete

Delete found duplicates

--do-merge, --merge

Merge found duplicates

--schema <schema>

Work on specified schema only

find-field

Find fields in registered data models.

iso db objects find-field [OPTIONS]

Options

Argument to search for in object model fields

--by-type

Find all fields by type

--obj <name>

Search in specified object model

illegalcheck

Tool to find erroneous objects created with old legacy bugs. Should be obsolete!

iso db objects illegalcheck [OPTIONS]

Options

--delete-duplicates, --delete

Delete found duplicates

--fix

Tries to fix faulty object ids

--test

Test if faulty objects have clones with correct ids

--schema <schema>

Work on specified schema only

modify

Modify field values of objects

iso db objects modify [OPTIONS] FIELD VALUE

Options

--schema <schema>
--uuid <uuid>
--filter, --object-filter <filter>

Arguments

FIELD

Required argument

VALUE

Required argument

validate

Validates all objects or all objects of a given schema.

iso db objects validate [OPTIONS]

Options

-s, --schema <schema>

Specify object schema to validate

--all-schemata, --all

Agree to validate all objects, if no schema given

view

Show stored objects

iso db objects view [OPTIONS]

Options

--schema <schema>
--uuid <uuid>
--object-filter, --filter <object_filter>

rbac

[GROUP] Role based access control

iso db rbac [OPTIONS] COMMAND [ARGS]...

Options

-s, --schema <schema>

Specify object schema to modify

-f, --filter, --object-filter <filter>

Filter objects (pymongo query syntax)

-a, --action <action>

Specify action to modify

-r, --role <role>

Specify role

--all, --all-schemata

Agree to work on all documents, if no schema specified

add-action-role

Adds a role to an action on objects

iso db rbac add-action-role [OPTIONS]
change-owner

Changes the ownership of objects

iso db rbac change-owner [OPTIONS] OWNER

Options

--uuid

Specify user by uuid

Arguments

OWNER

Required argument

del-action-role

Deletes a role from an action on objects

iso db rbac del-action-role [OPTIONS]

rename

Rename Mongodb databases

iso db rename [OPTIONS] SOURCE DESTINATION

Options

--keep

Keep original database

--clear-target

Erase target if it exists

Arguments

SOURCE

Required argument

DESTINATION

Required argument

user

[GROUP] User management operations

iso db user [OPTIONS] COMMAND [ARGS]...

Options

--username <username>

Username for user related operations

--password <password>

Password for user related operations - supplying this via argument is unsafe

add-role

Grant a role to an existing user

iso db user add-role [OPTIONS]

Options

--role <name>

Specifies the new role

change-password

Change password of an existing user

iso db user change-password [OPTIONS]
create-admin

Creates a new local user and assigns admin role

iso db user create-admin [OPTIONS]
create-user

Creates a new local user

iso db user create-user [OPTIONS]
delete-user

Delete a local user

iso db user delete-user [OPTIONS]

Options

-y, --yes

Do not ask for confirmation

disable

Disable an existing user

iso db user disable [OPTIONS]
enable

Enable an existing user

iso db user enable [OPTIONS]
list-users

List all locally known users

iso db user list-users [OPTIONS]

Options

Specify a term for searching

--uuid

Print users uuid as well

--active

Print users account activation status

dev

[GROUP] Developer support operations

iso dev [OPTIONS] COMMAND [ARGS]...

create-module

Creates a new template Isomer plugin module

iso dev create-module [OPTIONS]

Options

--clear-target, --clear

Clears already existing target

--target <folder>

Create module in the given folder (uses ./ if omitted)

entrypoints

Display list of entrypoints and diagnose module loading problems.

iso dev entrypoints [OPTIONS]

Options

-b, --base

Also list isomer-base (integrated) modules

-s, --sails

Also list isomer-sails (integrated) modules

-f, --frontend-only

Only list modules with a frontend

-l, --frontend-list

List files in frontend per module

-d, --directory

Show directory of module

-k, --sort-key <sort_key>
Options:name|package|classname|location|frontend
--long

Show full table

local-inventory

List installed pacakages

iso dev local-inventory [OPTIONS]

store-inventory

List available pacakages

iso dev store-inventory [OPTIONS]

Options

--source <url>

Specify a different source than official Isomer

environment

[GROUP] Various aspects of Isomer environment handling

iso environment [OPTIONS] COMMAND [ARGS]...

archive

Archive the specified or non-active environment

iso environment archive [OPTIONS]

Options

-f, --force
-d, --dynamic

Archive only dynamic data: database, configuration

check

General fitness tests of the built environment

iso environment check [OPTIONS]

Options

-d, --dev

Use development locations

clear

Clear the non-active environment

iso environment clear [OPTIONS]

Options

-f, --force
-n, --no-archive

install

Install an environment

iso environment install [OPTIONS]

Options

-f, --force
-s, --source <source>
Options:link|copy|git
-u, --url <url>
--import-file, --import <import_file>

Import the specified backup

--no-sudo

Do not use sudo to install (Mostly for tests)

-r, --release <release>

Override installed release version

--skip-modules
--skip-data
--skip-frontend
--skip-test
--skip-provisions

install-env-modules

Add and install a module only to a single environment

Note: This does not modify the instance configuration, so this will not be permanent during upgrades etc.

iso environment install-env-modules [OPTIONS] [URLS]...

Options

-s, --source <source>
Options:link|copy|git|store
--store-url <store_url>

Specify alternative store url

-f, --force

Force installation (overwrites old modules)

Arguments

URLS

Optional argument(s)

install-frontend

Install frontend into an environment

iso environment install-frontend [OPTIONS]

install-modules

Installs all instance configured modules

To configure (and install) modules for an instance, use

iso instance install-modules -s <SOURCE> [URLS]

To immediately install them, add –install

iso environment install-modules [OPTIONS]

install-provisions

Install provisions and/or a database dump

iso environment install-provisions [OPTIONS]

Options

--import-file, --import <import_file>

Import the specified backup

--skip-provisions

install

[GROUP] Install various aspects of Isomer

iso install [OPTIONS] COMMAND [ARGS]...

Options

--port <port>

Specify local Isomer port

docs

Build and install documentation

iso install docs [OPTIONS]

Options

--clear-target, --clear

Clears target documentation folders

frontend

Build and install frontend

iso install frontend [OPTIONS]

Options

--dev

Use frontend development location

--rebuild

Rebuild frontend before installation

--no-install

Do not install requirements

--build-type <build_type>

Specify frontend build type. Either dist(default) or build

modules

Install the plugin modules

iso install modules [OPTIONS]

Options

--wip

Install Work-In-Progress (alpha/beta-state) modules as well

provisions

Install default provisioning data

iso install provisions [OPTIONS]

Options

-p, --package <name>

Specify a package to provision (default=install all)

--clear-existing, --clear

Clears already existing collections (DANGER!)

-o, --overwrite

Overwrites existing provisions

-l, --list-provisions

Only list available provisions

instance

[GROUP] instance various aspects of Isomer

iso instance [OPTIONS] COMMAND [ARGS]...

browser

Tries to start or point a browser towards this instance’s frontend

iso instance browser [OPTIONS]

cert

instance a local SSL certificate

iso instance cert [OPTIONS]

Options

--selfsigned

Use a self-signed certificate

check

Check health of the selected instance

iso instance check [OPTIONS]

clear

Irrevocably clear all environments of an instance

iso instance clear [OPTIONS]

Options

-f, --force
-n, --no-archive

create

Create a new instance

iso instance create [OPTIONS] [INSTANCE_NAME]

Arguments

INSTANCE_NAME

Optional argument

info

Print information about the selected instance

iso instance info [OPTIONS]

install

Install a new environment of an instance

iso instance install [OPTIONS]

Options

-f, --force
-s, --source <source>
Options:link|copy|git|github
-u, --url <url>
--import-file, --import <import_file>

Import the specified backup

--no-sudo

Do not use sudo to install (Mostly for tests)

-r, --release <release>

Override installed release version

--skip-modules
--skip-data
--skip-frontend
--skip-test
--skip-provisions

install-modules

Add (and optionally immediately install) modules for an instance.

This will add them to the instance’s configuration, so they will be upgraded as well as reinstalled on other environment changes.

If you’re installing from a store, you can specify a custom store URL with the –store-url argument.

iso instance install-modules [OPTIONS] [URLS]...

Options

-s, --source <source>

Specify installation source/method

Options:link|copy|git|develop|store
--store-url <store_url>

Specify alternative store url (Default: https://store.isomer.eu/)

-i, --install-env, --install

Install modules on active environment

-f, --force

Force installation (overwrites old modules)

Arguments

URLS

Optional argument(s)

list

List all known instances

iso instance list [OPTIONS]

remove

Irrevocably remove a whole instance

iso instance remove [OPTIONS]

Options

-c, --clear

Clear instance before removal

-n, --no-archive

service

instance systemd service configuration

iso instance service [OPTIONS]

set

Set a configuration parameter of an instance

iso instance set [OPTIONS] PARAMETER VALUE

Arguments

PARAMETER

Required argument

VALUE

Required argument

turnover

Activates the other environment

iso instance turnover [OPTIONS]

Options

-f, --force

Force turnover

update-nginx

instance nginx configuration

iso instance update-nginx [OPTIONS]

Options

--hostname <hostname>

Override public Hostname (FQDN) Default from active system configuration

upgrade

Upgrades an instance on its other environment and turns over on success.

1. Test if other environment is empty
1.1. No - archive and clear it
2. Copy current environment to other environment
3. Clear old bits (venv, frontend)
4. Fetch updates in other environment repository
5. Select a release
6. Checkout that release and its submodules
7. Install release
8. Copy database
9. Migrate data (WiP)
10. Turnover
iso instance upgrade [OPTIONS]

Options

-r, --release <release>

Specify release to upgrade to

--upgrade-modules

Also, upgrade modules if possible

--restart

Restart systemd service via systemctl on success

-c, --handle-cache <handle_cache>

Handle cached data as well (ignore, move, copy)

Options:ignore|move|copy
-s, --source <source>

Specify installation source/method

Options:link|copy|git|develop|github|pypi
-u, --url <url>

launch

Assemble and run an Isomer instance

iso launch [OPTIONS]

Options

-p, --web-port <web_port>

Define port for UI server

-a, --web-address <web_address>

Define listening address for UI server

-c, --web-certificate <web_certificate>

Certificate file path

--profile

Enable profiler

--open-gui

Launch web browser for GUI inspection after startup

--draw-graph

Draw a snapshot of the component graph after construction

--live-log

Log to in-memory structure as well

--debug

Run circuits debugger

--dev

Run development server

--insecure

Keep privileges - INSECURE

-n, --no-run

Only assemble system, do not run

-b, --blacklist <blacklist>

Blacklist a component (can be repeated)

module

[GROUP] Module commands

iso module [OPTIONS] COMMAND [ARGS]...

remote

Remote instance control (Work in Progress!)

iso remote [OPTIONS] COMMAND [ARGS]...

Options

-n, --name <name>
-i, --install
-p, --platform <platform>
Options:Debian GNU/Linux|Ubuntu
-s, --source <source>
Options:link|copy|git
-u, --url <url>
-e, --existing <existing>

add

Adds a new remote

iso remote add [OPTIONS] HOSTNAME

Options

-u, --username <username>
Default:current user
-pw, --password <password>
-p, --port <port>
-s, --use-sudo
-m, --make-key
-k, --key-file <key_file>
-t, --key-type <key_type>

Key type (rsa)

Options:dsa|rsa
-b, --key-bits <key_bits>

Key bits (4096)

Arguments

HOSTNAME

Required argument

backup

Backup a remote

iso remote backup [OPTIONS] BACKUP_INSTANCE

Options

-f, --fetch

Fetch remote backup for local storage

-t, --target <target>

Fetch to specified target directory

Arguments

BACKUP_INSTANCE

Required argument

command

Execute a remote command

iso remote command [OPTIONS] [COMMANDS]...

Arguments

COMMANDS

Optional argument(s)

info

Shows information about the selected remote

iso remote info [OPTIONS]

install

Installs Isomer (Management) on a remote host

iso remote install [OPTIONS]

Options

-a, --archive

Archive existing Isomer first

-s, --setup

Setup basic Isomer user/directories

list

Shows all configured remotes

iso remote list [OPTIONS]

set

Set a configuration parameter of an instance

iso remote set [OPTIONS] PARAMETER VALUE

Options

-l, --login

Modify login settings

Arguments

PARAMETER

Required argument

VALUE

Required argument

test

Run and return info command on a remote

iso remote test [OPTIONS]

upgrade

Upgrade an existing remote

iso remote upgrade [OPTIONS]

upload-key

Upload a remote key to a user account on a remote machine

iso remote upload-key [OPTIONS]

Options

-a, --accept

Accept missing host key and add it to known_hosts

shell

Open an shell to work with the manage tool interactively.

iso shell [OPTIONS]

system

[GROUP] Various aspects of Isomer system handling

iso system [OPTIONS] COMMAND [ARGS]...

Options

-p, --platform <platform>

Platform name, one of [‘Debian GNU/Linux’, ‘Ubuntu’]

--omit-platform
-u, --use-sudo
-l, --log-actions

Show what would be installed

all

Performs all system setup tasks

iso system all [OPTIONS]

dependencies

Install Isomer platform dependencies

iso system dependencies [OPTIONS]

paths

instance Isomer system paths (/var/[local,lib,cache]/isomer)

iso system paths [OPTIONS]

uninstall

Uninstall data and resource locations

iso system uninstall [OPTIONS]

user

instance Isomer system user (isomer.isomer)

iso system user [OPTIONS]

version

Log the version information

iso version [OPTIONS]

versions

Check instance sources for installable versions

iso versions [OPTIONS]

Options

-s, --source <source>

Override instance source (link, copy, git, github)

Options:link|copy|git|github|pypi
-u, --url <url>
-f, --fetch

Fetch the newest updates on a git repository