Integrations overview¶
There are many different forms of integrations possible between MetalSoft and other systems.
The following is a sample integration setup with one of our clients:
The integrations are done in different ways depending on the requirements. This document attempts to provide some moredetails on some of the integration use cases seen in practice.
Integrations with CI/DD systems¶
Many teams drive their infrastructure via Git flows. There are two types of integrations:
User-level integration. This is typically done via terraform where metalSoft provides a Terraform integration. In
Admin-level integration. This is typically done via the CLI where metalsoft provides a YAML and JSON input and output format such as
metalcloud-cli network-device create --config-source device-config.json
. Consult CLI for more details. In this setup, the YAML or JSON file of the respective resource will be stored in git and the CLI will be invoked by the Action in the Git subsystem to update the resource. An unique label (rather than ID) is used to reference to the respetive items that need to be kept up to date via git.
Integration with a DNS system¶
An workflow extension is used to create and delete DNS records in an external DNS system. Consult External DNS system integration for more details.
Logging system integration for monitoring and alerting¶
MetalSoft automatically configures each equipment to forward logs to the SiteController’s Syslog collector which pushes all records to the Global Controller’s Kafka queue. Consult Syslog Forwarding and Alerting for more information.
Integrating with Hashicorp Vault¶
MetalSoft can be configured to store all secrets in an external HashiCorp vault.
Consult Integrating with Hashicorp Vault
Integrating with an Active Directory or other LDAP compatible Identity systems¶
MetalSoft can be configured to authenticate users and retrieve roles from a LDAP compatible system.
Consult Integrating with LDAP
Integrating with a DCIM system¶
To integrate with a generic DCIM system use our extension system and execute calls upon successful registration and de-registration of new equipment
Consult Workflow Extensions for more details.
Integrating with a monitoring system¶
To integrate with a telemetry monitoring system use the same workflow extension but use the OnPostDeploy
tasks and execute the ansible scripts required to add a new host to the monitoring system.
Consult Workflow Extensions for more details.