3.9 KiB
T-Pot Terraform
This Terraform configuration can be used to launch a virtual machine, bootstrap any dependencies and install T-Pot in a single step.
Configuration for Amazon Web Services (AWS) and Open Telekom Cloud (OTC) is currently included.
This can easily be extended to support other Terraform providers.
Cloud-init is used to bootstrap the instance and install T-Pot on startup.
Table of Contents
- What get's created
- Pre-Requisites
- Terraform Variables
- Initialising
- Applying the Configuration
- Connecting to the Instance
What get's created
Amazon Web Services (AWS)
- EC2 instance:
- t3.large (2 vCPU, 8 GiB RAM)
- 128GB disk
- Debian Buster
- AWS Security Group:
- TCP/UDP ports <= 64000 open to the Internet
- TCP ports 64294, 64295 and 64297 open to a chosen administrative IP
Open Telekom Cloud (OTC)
Pre-Requisites
- Terraform 0.12
Amazon Web Services (AWS)
- AWS Account
- Existing VPC: VPC ID needs to be specified in
aws/variables.tf
- Existing subnet: Subnet ID needs to be specified in
aws/variables.tf
- Existing VPC: VPC ID needs to be specified in
- AWS Authentication credentials should be set using environment variables
Open Telekom Cloud (OTC)
Terraform Variables
Common configuration items
These variables exist in aws/variables.tf
and otc/variables.tf
respectively:
*
*
*
This will be used to configure credentials for the T-Pot Kibana interface.
Amazon Web Services (AWS)
In aws/variables.tf
, change the following variables to correspond to your existing EC2 infrastructure:
admin_ip
- source IP address(es) that you will use to administer the system. Connections to TCP ports 64294, 64295 and 64297 will be allowed from this IP only. Multiple IPs or CIDR blocks can be specified in the format:["127.0.0.1/32", "192.168.0.0/24"]
ec2_vpc_id
ec2_subnet_id
ec2_region
Open Telekom Cloud (OTC)
Initialising
The terraform init
command is used to initialize a working directory containing Terraform configuration files.
$ cd aws
$ terraform init
OR
$ cd otc
$ terraform init
Applying the Configuration
The terraform apply
command is used to apply the changes required to reach the desired state of the configuration, or the pre-determined set of actions generated by a terraform plan
execution plan.
$ terraform apply
This will create your infrastructure and start a Cloud Server. On startup, the Server gets bootstrapped with cloud-init and will install T-Pot. Once this is done, the server will reboot.
Connecting to the Instance
When the installation is completed, you can proceed with connecting/logging in to the T-Pot according to the documentation.