xilution / xilution-selenium-grid

A Selenium Grid that Runs in AWS ECS Fargate.
https://www.xilution.com
Other
25 stars 14 forks source link
aws docker ecs fargate kms selenium selenium-grid

xilution-selenium-grid

Inspiration

Assumptions

Set Up

  1. Set up an AWS Account.
  2. Install the AWS CLI.
  3. Use AWS IAM to create an administrator identity. It's generally bad practice to use your AWS account's root user.
  4. Use AWS Route53 to create a Hosted Zone with a custom domain name. This step is optional.
  5. Use AWS Key Management System to create a dev ops key for encrypting secrets.
  6. Add export AWS_DEV_OPS_KEY_TOKEN=your-aws-dev-ops-kms-key-token to your .bash_profile. Run source ~/.bash_profile to add the new environment variable to your current terminal session. This only needs to be done once.
  7. Create a file named secrets.decrypted.json in ./aws/cloud-formation/ with the following contents. Replace your-domain.com. with your custom domain name. If you do not set up a custom domain name, remove the RecordSet resource from the CloudFormation template.
    [
      {
        "ParameterKey": "DomainName",
        "ParameterValue": "your-domain.com."
      }
    ]
  8. Run make secrets-devops-encrypt to encrypt the parameters with your key.

Operating your Selenium Grid

  1. Run make provision to stand up your Selenium Grid. Note that it could take up to 10 minutes to stand up the stack.
  2. Run make deprovision to tear down your Selenium Grid.

Warning! Only run the grid while needed. When not in use, I highly recommend that you run the deprovision step. Why pay for your new Selenium Grid when you don't need it. Isn't elasticity great!?!

Contributions

Pull requests are welcome. If you see an opportunity to improve this repo, please share.

Pay it Forward

If you find the contents of this repo useful, please share your experiences with the boarder community. Thanks!

Wish List

See repo Issues.