github.com/mre-fog/trillianxx@v1.1.2-0.20180615153820-ae375a99d36a/examples/deployment/README.md (about)

     1  Deploying Trillian
     2  ==================
     3  
     4  Want to deploy/use the Trillian General Transparency project in the cloud?  Here are some common ways of getting off the ground with Docker.
     5  
     6  ## Setup
     7  
     8  **Clone Source**
     9  
    10  Both build and example deployment files are stored within this repo.  For any of the below deployment methods, start here:
    11  
    12  ```shell
    13  git clone https://github.com/google/trillian.git/
    14  cd trillian
    15  ```
    16  
    17  ## Local Deployments
    18  
    19  **Run With Docker Compose**
    20  
    21  For simple deployments, running in a container is an easy way to get up and running with a local database.  To use Docker to run and interact with Trillian, start here:
    22  
    23  Set a random password and bring up the services defined in the provided compose file.  This includes a local MySQL database, a one-shot container to create the schema and the trillian server:
    24  
    25  ```shell
    26  # Set a random password
    27  export DB_PASSWORD="$(openssl rand -hex 16)"
    28  
    29  # Bring up services defined in this compose file.  This includes:
    30  # - local MySQL database
    31  # - container to initialize the database
    32  # - the trillian server
    33  docker-compose -f examples/deployment/docker-compose.yml up
    34  ```
    35  
    36  Verify that your local installation is working by checking the metrics endpoint:
    37  
    38  ```shell
    39  curl localhost:8091/metrics
    40  ```
    41  
    42  ## Cloud Deployments
    43  
    44  For better persistence and performance you may want to run in your datacenter or a cloud.  Here are some simple cloud deployment templates:
    45  
    46  ### Run in GCP
    47  
    48  TODO
    49  
    50  ### Run in AWS
    51  
    52  With a pair of AWS keys [accessible to Terraform](https://www.terraform.io/docs/providers/aws/), this template deploys a simple Trillian setup in AWS using EC2 and RDS MySQL.
    53  
    54  ```shell
    55  cd examples/deployment/aws/
    56  
    57  # Set a random password
    58  export TF_VAR_DB_PASSWORD="$(openssl rand -hex 16)"
    59  # Substitute this variable with a block you'll be accessing from
    60  export TF_VAR_WHITELIST_CIDR="0.0.0.0/0"
    61  
    62  # Review and Create Resources
    63  terraform plan
    64  terraform apply
    65  ```