# 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: ![](/assets/configuration/integrations/sample_architecture01.svg) 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: 1. User-level integration. This is typically done via terraform where metalSoft provides a [Terraform integration](/content/developer_resources/using_the_terraform_provider.md). In 2. 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](/content/configuration/cli/index) 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](external_dns_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](/content/configuration/monitoring/syslog_forwarding_and_alerting.md) 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](/content/developer_resources/integrating_with_hashicorp_vault.md) ### 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](/content/configuration/users_and_permissions/configuring_ldap_for_microsoft_active_directory.md) ### 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](/content/developer_resources/extensions/workflow_extensions.md) 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](/content/developer_resources/extensions/workflow_extensions.md) for more details.