Terraform infrastructure for the Litecoin container project.
All Terraform operations should be done inside the Terraform container to ensure Terraform version stability:
# Start up the container:
bin/docker-run.sh
# Select workspace
tf workspace select litecoin
# Initialize modules and providers
tf init environments/litecoin
# Apply changes
tf apply environments/litecoin
For now the state is local, normally the state would be placed to some remote backend (e.g. AWS S3 + DynamoDB).
- Terraform expects AWS credentials, and some other data provided, e.g., in
secret.auto.tfvars
:AWS_ACCESS_KEY = AWS_SECRET_KEY = AWS_ACCOUNT_ID = LITECOIN_DATA_ROOT= <host path for PV data>
k8s-resources
module assumes local Docker desktop Kubernetes cluster.k8s-resources
module expectslitecoin.conf
file with credentials inresources/secret/
folder.
aws-ecr
creates ECR repositories,aws-eks
stub module for EKS cluster provisioning,aws-iam-default
creates related IAM entities (role, group, policy, user) in a unified fashion,aws-iam-technical
creates technical IAM accounts (ci
for ECR push andterraform
for provisioning) with access keys as output for further usage,k8s-resource
provisions necessary resources (NS, PV, secret) for thelitecoin
container deployment.