Configuration Management¶
SaltStack Infrastructures¶
Configuration for connecting to Salt API endpoint.
monitor:
salt-manager:
auth_url: http://{{ salt-api }}:8000
username: {{ user-name }}
password: {{ user-password }}
Following figure shows how SaltStack integrates with Architect Inventory and Manager. Please note that you can use Inventory integration independently of the Manager integration.
The metadata schema for SaltStack manager:
query:
salt_complete_graph:
name: All Resources
layout: graph
salt_minion_service_graph:
name: Salt Minion Services
layout: graph
filter_node_types:
- salt_master
- salt_minion
- salt_service
salt_minions_tree:
name: Simple Minions
layout: hierarchy
hierarchy_layers:
0:
name: Salt Master
kind:
1:
kind: salt_minion
salt_minion_services_tree:
name: Minion Services
layout: hierarchy
hierarchy_layers:
0:
name: Salt master
kind:
1:
kind: salt_minion
2:
target: runs_on_minion
kind: salt_service
salt_minion_lowstates_tree:
name: Minion States
layout: hierarchy
hierarchy_layers:
0:
name: Salt master
kind:
1:
kind: salt_minion
2:
target: runs_on_minion
kind: salt_service
3:
target: state_of_service
kind: salt_lowstate
relation:
controlled_by_master:
relation:
default: master
applied_on_minion:
relation:
default: minion
runs_on_minion:
relation:
default: minion
applied_lowstate:
relation:
default: lowstate
state_of_service:
relation:
default: service
action_by_user:
relation:
default: user
requires_service:
relation:
default: require
default_resource: salt_minion
resource:
salt_master:
client: ''
icon: fa:server
name: Master
resource: master
workflow:
generate_key:
name: Generate key
salt_minion:
client: ''
icon: fa:server
name: Minion
resource: minion
workflow:
run_module:
name: Run module
model:
master:
type: relationship_to
model: controlled_by_master
target: salt_master
salt_lowstate:
client: ''
icon: fa:cube
name: Lowstate
resource: lowstate
model:
service:
type: relationship_to
model: state_of_service
target: salt_service
salt_job:
client: ''
icon: fa:clock-o
name: Job
resource: job
model:
user:
type: relationship_to
model: action_by_user
target: salt_user
minion:
type: relationship_to
model: applied_on_minion
target: salt_minion
lowstate:
type: relationship_to
model: applied_lowstate
target: salt_lowstate
salt_service:
client: ''
icon: fa:podcast
name: Service
resource: service
model:
minion:
type: relationship_to
model: runs_on_minion
target: salt_minion
require:
type: relationship_to
model: requires_service
target: salt_service
salt_user:
client: ''
icon: fa:user
name: User
resource: user
Salt Master Integration¶
You can control salt master infrastructure and get the status of managed hosts
and resources. The Salt engine architect
relays the state outputs of
individual state runs and architect
runners and modules provide the
capabilities to interface with salt and architect functions. The Salt Master
is managed through it’s HTTP API service.
http_architect: &http_architect
project: newt.work
host: 127.0.0.1
port: 8181