Skip to content

Multi-Cloud Terrarium (mc-terrarium) is an open-source project designed to provide an environment—an infrastructure terrarium—that enhances multi-cloud infrastructure management.

License

Notifications You must be signed in to change notification settings

cloud-barista/mc-terrarium

Multi-Cloud Terrarium

🚀 Powered by OpenTofu
🤝 In Synergy with Cloud-Barista

Multi-Cloud Terrarium (mc-terrarium) is an open-source project designed to provide an environment—an infrastructure terrarium—that enhances multi-cloud infrastructure management.

🌟 Features & Components

The infrastructure terrarium consists of:

  • Multi-Cloud Infrastructure Metadata: Managed by Cloud-Barista to provide a unified view of multi-cloud environments.
  • Infrastructure Enrichment with OpenTofu: Extends Cloud-Barista’s capabilities by provisioning additional resources and services beyond its native support.
  • Infrastructure Code (.tf): Defines and structures infrastructure components and enrichments.
  • Other Evolving Components: Continuously enhancing multi-cloud infrastructure capabilities.

🌍 Multi-Cloud Networking & Beyond

Currently, mc-terrarium provides multi-cloud networking features, such as site-to-site VPN setup. It will continue to evolve, enabling you to seamlessly build and manage the multi-cloud infrastructure you need.

Prerequisites

Install OpenTofu

Get source code

In this readme, the default root directory is ~/mc-terrarium.

git clone https://github.com/cloud-barista/mc-terrarium.git ~/mc-terrarium

Install swag

If you got an error because of missing swag, install swag:

go install github.com/swaggo/swag/cmd/swag@latest

Prepare credentials

Prepare credentials by looking at the README and templates in the /secrets directory.

Note - There may be an issue regarding Credential settings. Contributions are welcome.

Development Tools

OpenTofu MCP Server Integration (for contributors)

This enables AI-powered assistance for your enhanced development experience, such as OpenTofu registry search, documentation access, and code assistance through AI tools like GitHub Copilot.

We use the npx-based installation for reliable access to OpenTofu registry data and documentation. SSE (Server-Sent Events) transport appears to be deprecated and being replaced with Streamable HTTP transport in MCP.

Setup for VS Code:

  • Create .vscode/mcp.json in your workspace:
{
  "servers": {
    "opentofu": {
      "command": "npx",
      "args": ["-y", "@opentofu/opentofu-mcp-server"]
    }
  },
  "inputs": []
}

For other editors (Cursor) or additional setup options, see the OpenTofu MCP Server repository.

Up and run MC-Terrarium

  • Supported Docker Compose based execution.
  • Required a Docker network, terrarium_network

Note

services in other docker composes can access the mc-terrarium service, like http://mc-terrarium:8055/terrarium.
Condition: Set up terrarium_network in external docker compose

You can do this by running the following command:

make compose-up

The command to build and run the source code is as follows:

make compose

Access Swagger UI

You can find the default username and password to access to API dashboard when the API server runs.

URL: http://localhost:8055/terrarium/swagger/index.html

Note - You can find API documentation on Swagger UI.

About

Multi-Cloud Terrarium (mc-terrarium) is an open-source project designed to provide an environment—an infrastructure terrarium—that enhances multi-cloud infrastructure management.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •