architect-client

architect-client is a client CLI of Architect, the service modeling, management and visualization platform.


License
Apache-2.0
Install
pip install architect-client==0.8.6

Documentation

The Architect Client

Client library and CLI for Architect API service.

Client Installation

Following steps show how to deploy and configure Architect Client.

pip install architect-client

Create configuration file /etc/architect/client.yml for client.

For single inventory use:

inventory: project-name
host: architect-api
port: 8181
token: architect-token

Multiple Inventory Support

host: architect-api
port: 8181
token: architect-token

If the inventory_mappings is specified, multiple inventories can be queried from the single orchestrator according to the node name.

inventory_mappings:
  node.domain: project01-name
  node2.domain: inventory02-name

SaltStack Integration

To setup architect as Salt master Pillar source, set following configuration to your Salt master at /etc/salt/master.d/_master.conf file.

ext_pillar:
  - cmd_yaml: 'architect-salt-pillar %s'

To setup architect as Salt master Tops source, set following configuration to your Salt master at /etc/salt/master.d/_master.conf file.

master_tops:
  ext_nodes: architect-salt-top

You can test the SaltStack Pillar by calling command:

$ architect-salt-pillar {{ minion-id }}

Ansible Integration

To setup architect as Ansible dynamic inventory source, set following configuration to your Ansible control node.

$ ansible -i architect-ansible-inventory

You can test the ansible inventory by calling command:

$ architect-ansible-inventory --list

Puppet Integration

To tell Puppet Server to use an ENC, you need to set two settings: node_terminus has to be set to “exec”, and external_nodes must have the path to the executable.

[master]
  node_terminus = exec
  external_nodes = /usr/local/bin/architect-puppet-classifier

Chef Integration

We can use -j parameter of chef-client command, It's the path to a file that contains JSON data used to setup the client run. We pass

$ architect-chef-data {{ node_name }} {{ file_name }}.json
$ chef-client -j {{ file_name }}.json --environment _default

Client Usage

You can use the client to initialise the inventories.

$ architect-inventory-create <cluster-name> <cluster-domain>

You can use the client to initialise the SaltStack managers.

$ architect-manager-salt-create <manager-name> <manager-url> <manager-username> <manager-password>

References