Skip to content

Latest commit

 

History

422 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terrence with Terraform and OpenTofu orbiting nearby.

Terrence

Big plans. Steady hands.
A self-hosted Terraform and OpenTofu run platform.
Manage plans, applies, state, and policies on infrastructure you control.

License Container CI

Quick start · Documentation · Development · Meet Terrence

Features

  • Workspace management with run history and locking
  • Terraform and OpenTofu remote runs
  • Plan review and controlled applies
  • State storage and version history
  • Workspace variables and variable sets
  • Sentinel and OPA policy checks
  • VCS integration (GitHub, GitLab, Bitbucket)
  • SSO support (SAML, OIDC, LDAP)
  • Private module registry
  • Run tasks and notifications
  • Agent pools and cloud workload identity
  • Team and role-based access control

Quick start

Docker

mkdir -p ./storage && sudo chown 65532:65532 ./storage

docker run -d --name terrence -p 3000:3000 \
  -e ADMIN_PASSWORD="pick-a-long-password" \
  -v ./storage:/app/backend/storage \
  ghcr.io/essinghigh-org/terrence:latest

For dogfooding the current master build, use the rolling nightly image instead:

docker pull ghcr.io/essinghigh-org/terrence:nightly
docker run -d --name terrence -p 3000:3000 \
  -e ADMIN_PASSWORD="pick-a-long-password" \
  -v ./storage:/app/backend/storage \
  ghcr.io/essinghigh-org/terrence:nightly

The :nightly tag is rebuilt after every successful commit to master. It is intended for testing current changes and can change independently of versioned releases.

Open http://localhost:3000 and sign in as admin using the password you configured.

That is plain HTTP for local use. For terraform login and anything beyond localhost, terminate TLS first: Reverse proxy (HTTPS).

Docker Compose

git clone https://github.com/essinghigh-org/terrence.git
cd terrence
ADMIN_PASSWORD="pick-a-long-password" docker compose up -d

Development

Requirements:

  • Bun 1.4.0
  • Terraform >= 1.9 or OpenTofu >= 1.7
bun install
(cd frontend && bun run build)
(cd backend && bun run index.ts)

Documentation

Full documentation is available in backend/docs/ or inside a running Terrence instance under the Documentation section.

Compatibility

Terrence supports the official hashicorp/tfe Terraform provider and the Terraform/OpenTofu remote workflows it implements. The provider surface is tracked against an explicit released provider version and continuously exercised by end-to-end tests.

General Terraform Enterprise or HCP Terraform API and feature parity is not a goal. An endpoint documented by TFE is not automatically part of Terrence.

Meet Terrence

Our infrastructure companion has bracket-shaped ears, a blue coat, and a few tools for the job. You'll meet Terrence on the sign-in page, in introductory guides, and when a workspace needs a next step.

Terrence holding a green check mark. Terrence wearing a hard hat and carrying a wrench. Terrence reading a guide.

The SVG poses share one character and palette. The brand guide covers illustration placement, typography, spacing, and regenerating the assets. If you're contributing to the UI, reuse the shared character and controls to keep Terrence consistent.

License

MIT — see LICENSE.

About

Terrence is a lightweight hosted OpenTofu / Terraform Runner.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages