Skip to main content

Introduction

A tool to deploy automated infrastructure in a consistent manner, and provide for separation of duties between products and business functions.

Tharsis builds on top of Terraform, i.e. it uses Terraform modules to deploy resources using environment-specific configuration. It stores the state data and outputs that can be used for other deployments.

Some key features​

Tharsis API​

✔ Configurable job executor plugin.

✔ Machine to Machine (M2M) authentication with service accounts.

✔ Managed identity support to securely authenticate with cloud providers (no credential storage).

✔ Users are not required to handle secrets.

✔ Compatible with the Terraform CLI remote backend.

✔ Ability to quickly cancel jobs.

✔ Support for uploading and downloading Terraform modules.

✔ Version Control System (VCS) integration with GitHub and GitLab.

✔ Terraform module and provider registries.

✔ Written in The Go Programming Language and available as a Docker image.

✔ Develop your own tools with the Tharsis SDK for Go.

Tharsis UI​

✔ Simple, modern, and intuitive.

✔ User-friendly access to group, workspace management, access control, etc.

✔ Real-time activity events to associate resource modifications with users making them.

✔ Effortless access to the Tharsis Terraform module and provider registries.

✔ Access to GraphiQL editor to interface directly with the GraphQL API.

✔ Ability to gracefully and forcefully cancel runs with a click of a button.

✔ Ability to trigger runs, view live logs, all powered by GraphQL subscriptions and WebSockets to provide event-driven UI updates.

✔ Written in TypeScript and available as a Docker image.

Tharsis CLI​

✔ A command language that interfaces with Tharsis remote Terraform backend.

✔ Supports both SSO and service account-based authentication.

✔ Ready for use in CI/CD pipelines.

✔ Support for most Tharsis API operations.

✔ Written in The Go Programming Language and available for all major platforms.