mc-terrarium

module
v0.0.22 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 9, 2025 License: Apache-2.0

README ¶

Multi-Cloud Terrarium

🚀 Powered by OpenTofu
🤝 A Collaboration Between Cloud-Barista & OpenTofu

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.

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.

Directories ¶

Path Synopsis
Package api Code generated by swaggo/swag.
Package api Code generated by swaggo/swag.
cmd
bcrypt command
mc-terrarium command
Package main is the starting point of mc-terrarium
Package main is the starting point of mc-terrarium
pkg
api/rest
Package server is to handle REST API
Package server is to handle REST API
lkvstore
Local Key-Value Store based on sync.Map and file I/O
Local Key-Value Store based on sync.Map and file I/O

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL