terrakube
terrakube copied to clipboard
Open source IaC Automation and Collaboration Software.
Terrakube Platform 
Open source Terraform Automation and Collaboration Software.
The server defines a rest API based on Yahoo Elide and expose a JSON:API or GraphQL.
High Level Architecture
For more information please visit our documentation.
Getting started guide
If you want to develop or test Terrakube click in the following button to open a complete running environment in just a couple of seconds.
For more information about the test environment please refer to the following file and to learn about the API check the following api information
Security - Authentication
Terrakube uses DEX to handle authentication. Dex is an identity service that uses OpenID Connect to drive authentication for other apps. Dex acts as a portal to other identity providers through “connectors.” This lets Terrakube defer authentication to LDAP servers, SAML providers, or established identity providers like GitHub, Google, and Active Directory.
Modules
This project contains three modules describe below:
Name | Description |
---|---|
api | Expose the API to manage all terraform workspaces |
registry | Open source terraform registry compatible with the Terrakube API |
executor | This components run terraform jobs and use Terrakube extensions |
ui | React JS terrakube front end |
Version Control Services
The platform support public and private repositories for modules and workspaces in the following providers:
- GitHub.com
- Bitbucket.com
- Gitlab.com
- Azure DevOps
For private repositories you need to use one of the following methods for authentication:
- oAuth Applications (GitHub, Bitbucket, Gitlab and Azure Devops)
- SSH Keys
- RSA
- ED25519
Requirements
To compile and run the tool you will need the following:
- Java 11
- Maven
- Node
Compiling
mvn clean install
cd ui
yarn install
Supported Databases
To run the api you need the following environment variables:
Name | Description |
---|---|
SQL Azure | Supported |
PostgreSQL | Supported |
MySQL | Supported |
MariaDB | Pending |
Oracle | Pending |
Build Docker Images
To build the docker images for the server and server job execute the following command:
mvn spring-boot:build-image
cd ui
docker build -t terrakube-ui:latest .
Sponsors
Any company can become a sponsor by donating or providing any benefit to the project or the team helping improve Terrakube.
JetBrains
Thank you to JetBrains
for providing us with free licenses to their great tools.