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.