Command Line Flows
Upload Blueprint Workflow
This section describes the workflow for uploading a blueprint to a Conductor Manager environment. sequenceDiagram participant CLI participant NP as Nginx (Proxy) participant REST participant NF as Nginx (Fileserver) participant PSQL as PostgreSQL CLI->>CLI: cfy blueprints upload CLI->>CLI: Parse blueprint CLI->NP: POST /blueprints NP->>NP: validate blueprint size NP->>REST: POST /blueprints REST->>NF:Copy blueprint & resources REST->>PSQL:Save parsed blueprint
Deployment Creation Workflow
This section describes the workflow for creating a deployment for a blueprint. sequenceDiagram participant CLI participant NP as Nginx (Proxy) participant REST participant ES as Elasticsearch participant MA as Management Agent CLI->>NP: cfy deployments create - PUT /deployments/{{deployment-id}} NP->>CLI: PUT /deployments/{{deployment-id}} REST->>ES: get blueprint by ID REST->>REST: create deployment data REST->>ES: save deployment data REST->>MA:create deployment agents The REST service retrieves the blueprint document from Elasticsearch and creates a tangible manifestation of it by expanding nodes to node-instances, attaching node-instance ID’s to them, and so on.
Workflow Execution Flow
This section describes the flow for executing a workflow on an existing deployment. sequenceDiagram participant CLI participant Nginx participant REST participant PSQL as PostgreSQL participant RMQ as RabbitMQ participant MW as Management Worker CLI->>Nginx: cfy executions start workflow_name -d deployment_id - POST /executions Nginx->>REST: POST /executions REST->>PSQL: Get deployment by ID REST->>RMQ: Submit workflow MW->>RMQ: Pull workflow REST->>PSQL: Store workflow information MW->>MW: Process workflow
Logs and Events Workflow
This section describes the workflow of streaming metrics from a host to the Conductor Manager management environment. sequenceDiagram participant X as external participant RMQ as RabbitMQ participant LS as logstash participant PSQL as PostgreSQL participant REST participant Nginx participant UI participant EV as External View X->>RMQ: submit event Note over RMQ: queued LS->>RMQ: retrieve Note over LS: processed LS->>PSQL: index Note over PSQL: stored REST->>PSQL: db query Note over REST: proxy query request Nginx->>REST: db query Note over Nginx: proxy query request UI->>Nginx: db query EV-->>Nginx: db query RabbitMQ stores messages within a dedicated, durable, non-exclusive topic exchange.