Skip to content

Parity Etherium Client provisioned with Packer and Terraform

Notifications You must be signed in to change notification settings

WesleyCharlesBlake/parity-eth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Parity Etherium

Build Status

Production

CircleCI

Develop

CircleCI

This repo provisions a Parity ETH client with CircleCI, Packer, Terraform on Amazon Web Services

Packer

Terraform

Build Environment

The terraform configs located in terraform/BUILD provions a dedicated build environment to be used for all packer builds in the respective AWS accounts. The VPC spans multiple AZs with multiple subnets for various usecases.

These resources need to be created first to ensure the sufficient network resources in your AWS account. The packer config makes use of the vpc_filter and subnet_filter to attach the packer builds to the correctly specified VPC and subnet. This ensure the build environment will not overlap with any other resources.

Infrastructure

We make use of the following terraform modules:

Remote state and locking

Use of terrafom enterpise free tier. We have workspaces defined for each environment.

Environments

We instrument our own custom terraform modules, which inherits config from the defined module sources, but allows us to set our own variables for PROD and DEV.

The root config for each environment lives in the corresponding directory terraform/DEV or terraform/PROD. We then reference the base module in our scripts as shown below:

provider "aws" {
  region = "us-east-1"
}

module "parity-eth" {
  source = "../modules/stack"

  aws_account_id = "<AWS_ACCOUNT_ID>"
  
  environment_name = "MyEnv"
  owner            = "SomePerson"
  service_name     = "parity-eth"

  ec2_key           = "some-key"
  ec2_instance_type = "t3.small"
  ec2_min_capacity = 1
  ec2_max_capacity = 1
  ec2_desired_capacity = 1
}

TODO

  • Configure multiple nodes to join
  • SSL certificates on all enpoints
  • Configure the parity service for correct use cases (ie mining etc)
  • Publish the Terraform module to the terraform module registry
  • semantic version and release on the repo (goes with publishing TF versions)
  • Automate the build infra terraform as well

About

Parity Etherium Client provisioned with Packer and Terraform

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published