Podman requirements
You must meet the following requirements before installing Terraform Enterprise on Podman.
Versions
- A Podman version greater than or equal to v4.3.0.
- Any supported Linux OS, note that Red Hat Enterprise Linux (RHEL) users must use RHEL 8+
Install Podman
Follow the installation documentation for Podman on a Linux distribution of your choice.
Enable the Podman socket
Set up Podman’s docker-compatible REST API that runs as a systemd
socket-activated service:
HTTP/S Ports
Because Podman does not expose privileged ports, ensure that you set the following environment variables and ports in the Kubernetes pod specification.
Set these environment variables in the kube.yaml
:
Set these ports in the kube.yaml
:
RHEL and SELinux
We recommend adding type: spc_t
to the Kubernetes pod specification's security context when using volumes
for an unprivileged Podman container on an SELinux-enabled system. This setting ensures the correct permissions
are in place to access the volume when Terraform Enterprise creates the pod/container.
Set the security context in the kube.yaml
:
Terraform Enterprise requirements
You meet the shared requirements for all Flexible deployment methods.
A DNS hostname for accessing Terraform Enterprise.
Note: For exisiting Terraform Enterprise users with Replicated deployments, refer to Migrating to Flexible Deployment Options.
TLS certificate
You need three TLS certificate files:
cert.pem
- The end-entity certificate for your DNS hostname with any intermediate certificates appended to it.key.pem
- The private key for the end-entity certificate. Must not be protected by a passphrase.bundle.pem
- Additional certificates to be added to the Certificate Authority (CA) bundle.
If you’re using a certificate from Let’s Encrypt, those file names map to the following Terraform Enterprise files:
Terraform Enterprise | Let’s Encrypt |
---|---|
key.pem | privkey.pem |
cert.pem | fullchain.pem |
bundle.pem | fullchain.pem |
If you do not have a certificate, you can generate a self-signed one. Use the
-nodes
option in your command since Terraform Enterprise cannot
use a private key that is protected by a passphrase.
Be sure to replace <terraform.example.com>
with the hostname you use
to access Terraform Enterprise.
When done, you’ll have your cert.pem
and key.pem
files but no bundle.pem
file.
Create your bundle.pem
like so: