Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
MetalSoft 6.x Documentation
Light Logo Dark Logo

The MetalSoft Platform

  • Getting started
    • Architecture
      • Network topology
      • User interfaces
    • Deploying MetalSoft
      • Deployment Overview
      • Physical topology
      • Kubernetes cluster compute requirements
      • Deploying the MetalSoft Global Controller
      • Deploying the MetalSoft Site Controller
      • Deploying MetalSoft in an air gapped environment
      • Setup of MetalSoft Kubernetes Cluster on K3S
      • Using the CLI
      • Registering switches via Zero Touch Provisioning (ZTP)
      • Registering servers via Zero Touch Provisioning (ZTP)
      • Deploying MetalSoft to support legacy (PXE) deployments
      • Deploying MetalSoft using OVAs
      • Deploying MetalSoft without switches
      • Enabling end-users to create custom RAID configurations
      • Enabling traffic accounting
    • Troubleshooting and Maintenance
      • Troubleshooting deploys using the Operation’s Graph (AFC tree)
      • Troubleshooting server registrations using the Operation’s Graph (AFC tree)
      • Event log archiving via Kafka
      • Managing custom ISO’s
      • Post upgrade testing
      • Kubernetes cluster certificate management
    • How to backup MetalSoft
    • How to enable Disaster Recovery for MetalSoft
    • Release notes
  • Configuration
    • Users and permissions
      • Authentication Overview
      • Managing users and permissions
      • Configuring LDAP authentication for Microsoft Active Directory
      • Configure SAML for OKTA
      • Managing Resource Pools
      • Managing accounts
    • Data centers
      • Adding a new datacenter
    • Networking
      • Networking overview
      • Managing switches
      • Switch replace
      • Managing switch pairs
      • IP address Management (IPAM)
      • Managing network profiles
      • Adding a new external connection
      • Adding Cisco ACI APIC Switches in a new datacenter
      • Enabling Secondary IPs and/or VLANs on the WAN interface
      • EVPN VXLAN network provisioner
    • Servers
      • Servers overview
        • Server lifecycle
        • Managing hardware failures and changes
        • Server types
        • Adding a new server
        • Adding a new managed server
        • Re-registering a server
        • Adding a new un-managed server
        • Managing server firmware
        • Managing firmware catalogs
        • Managing Firmware baselines
      • Server lifecycle
      • Managing hardware failures and changes
      • Server types
      • Adding a new server
      • Adding a new managed server
      • Managing BIOS settings
      • Re-registering a server
      • Adding a new un-managed server
      • Managing server firmware
      • Managing firmware catalogs
      • Managing Firmware baselines
    • Storage
      • Adding a new storage pool
      • Storage Appliances Prerequisites
      • Managing storage pools
    • Operating System Templates
      • Managing Operating System templates
      • Template language and variables
      • Advanced OS deployment configurations
      • Managing OS templates for legacy deployment process (PXE)
      • OS templates simple asset template variables glossary (DEPRECATED)
      • JSON Schema
      • How to add boot and install drivers to a repository Windows ISO
    • Resource Pools
      • Managing resource pools
    • Monitoring
      • Syslog forwarding and alerting
    • Virtualization
      • Managing VM Pools
      • Managing VMs
  • ELI
    • ELI - AI assisted diagnosis overview
  • Operation
    • Getting started
    • Concepts
    • Managing infrastructures
    • Managing instance arrays
    • Managing networks
    • Managing drive arrays
    • Deploying Kubernetes on MetalSoft
    • Using the CLI
    • Connecting to linux servers through SSH
    • Connecting to Windows servers through RDP
    • Delegating access to an infrastructure
    • Retrieving the utilization report
    • Configuring a custom RAID profile
    • Enabling two factor authentication (2FA) in Metalcloud
    • Manually managing iSCSI connections
    • Setting delegation for reseller scenarios
    • Forcing specific servers at deploy
  • Developer resources
    • Developer Getting Started
    • Connecting to the API
    • Callbacks and post-install operations
    • Using the Terraform provider
    • Building a CI/CD pipeline
    • Integrating with a customer portal
    • Embedding the remote console
    • Integrating with a Billing System
    • Workflows
      • Managing workflows
      • Managing workflow tasks
      • Managing variables and secrets
      • Using infrastructures with workflows
      • Sample workflow - Automatically adding a host to an external VMWare VCenter
      • Adding workflows to every deploy
    • MetalSoft Extensions

Fabric Manager

  • Fabric Manager
    • Fabric Manager Overview
    • Tutorials
      • Tutorial: Switch only operation with Dell Enterprise SONiC in GNS3
      • Tutorial - Dell Sonic Enterprise and Dell servers in a spine-leaf configuration
Back to top
View this page

Building a CI/CD pipeline¶

Clients often integrate MetalSoft with CI/CD pipelines (GitHub Actions, Jenkins, GitLab, ) to perform automatic deployments.

The most common method for doing the integration is via the MetalSoft Terraform provider but other methods (via the API or the CLI) are also possible.

  1. Using the Terraform Provider

  2. Example Github Actions configuration that calls Terraform

  3. A more complex Terraform Example

Next
Integrating with a customer portal
Previous
Using the Terraform provider
Copyright © 2023, MetalSoft
Made with Sphinx and @pradyunsg's Furo