diff --git a/_data/devops-checklist.yml b/_data/devops-checklist.yml index 660ea74f3..8ca360665 100644 --- a/_data/devops-checklist.yml +++ b/_data/devops-checklist.yml @@ -28,7 +28,7 @@ You have several options for running Docker containers in AWS. One is to use the Elastic Container Service (ECS), where you run a cluster of EC2 Instances, and Amazon takes care of scheduling containers across them. Another is - Elasic Kubernetes Service (EKS), which is a Amazon's + Elastic Kubernetes Service (EKS), which is a Amazon's managed Kubernetes (note, EKS is still in preview mode as of May, 2018). A third option is AWS Fargate, a service where AWS manages and scales the underlying EC2 Instances for you and you just hand it Docker @@ -112,7 +112,7 @@ description: | Use CloudFront as a Content Distribution Network (CDN) - to cache and distribute your content across servers all over the world. This signicantly reduces latency for + to cache and distribute your content across servers all over the world. This significantly reduces latency for users and is especially effective for static content. - title: Configure caching @@ -540,7 +540,7 @@ - title: Set up SSH access description: | Do NOT share EC2 KeyPairs - with your team! Otherwise, everyone will be using the same username and key for server acesss (so there's no + with your team! Otherwise, everyone will be using the same username and key for server access (so there's no audit trail), the key may easily be compromised, and if it is, or someone leaves the company, you'll have to redeploy ALL your EC2 Instances to change the KeyPair. Instead, configure your EC2 Instances so that each developer can use their own username and SSH key, and if that developer leaves the company, the key can be @@ -560,7 +560,7 @@ - title: Deploy a VPN Server description: | - We typically recommend running a VPN Server as the entrypoint to your network (as the Bastion Host). + We typically recommend running a VPN Server as the entry point to your network (as the Bastion Host). OpenVPN is the most popular option for running a VPN server. - title: Set up a secrets management solution @@ -723,7 +723,7 @@ description: | EC2 Spot Instances allow you to "bid" a much lower price for EC2 Instances than what you'd pay on-demand (as much as 90% lower!), and when there is capacity - to fulfill your request, AWS will give you the EC2 Instances at that price. Note that if AWS needs to relcaim + to fulfill your request, AWS will give you the EC2 Instances at that price. Note that if AWS needs to reclaim that capacity, it may terminate the EC2 Instance at any time with a 2-minute notice. This makes Spot Instances a great way to save money on any workload that is non-urgent (e.g., all background jobs, machine learning, image processing) and pre-production environments (e.g., run an ECS cluster on spot instances by just setting a diff --git a/_data/library.yml b/_data/library.yml index a4562abb4..4b6a00856 100644 --- a/_data/library.yml +++ b/_data/library.yml @@ -413,7 +413,7 @@ description: An AWS Lambda function that can automatically share an RDS snapshot with another AWS account. Useful for storing your RDS backups in a separate backup account. - name: lambda-copy-shared-snapshot blurb: copy RDS snapshots - description: An AWS Lambda function that can make a local copy of an RDS snapshot shared from another AWS account. Useful for storing yoru RDS backups in a separate backup account. + description: An AWS Lambda function that can make a local copy of an RDS snapshot shared from another AWS account. Useful for storing your RDS backups in a separate backup account. - name: lambda-cleanup-snapshots blurb: delete RDS snapshots description: An AWS Lambda function that runs on a scheduled basis to clean up old RDS database snapshots. Useful to ensure you aren't spending lots of money storing old snapshots you no longer need. diff --git a/_data/privacy-policy.yml b/_data/privacy-policy.yml index 6cf6ba3da..5d16a7066 100644 --- a/_data/privacy-policy.yml +++ b/_data/privacy-policy.yml @@ -206,10 +206,10 @@
The Purposes for Our Collection: We collect and use these categories of personal data for our business and commercial purposes described in the “How do we use your information” section above, including providing and improving the Services, maintaining the safety and security of the Services, and for advertising and marketing our business.
+The Purposes for Our Collection: We collect and use these categories of personal data for our business and commercial purposes described in the “How do we use your information” section above, including providing and improving the Services, maintaining the safety and security of the Services, and for advertising and marketing our business.
Third-Party Marketing and Your Rights (Opt-Out of “Sale”): Gruntwork does not sell personal data to third parties for monetary value. However, the term “sale” is defined broadly in the CCPA. To the extent that “sale” under the CCPA is interpreted to include interest-based advertising or other data uses described in the “How do we use your information” section above, we will comply with applicable law with respect to those uses.
“Do Not Track” Signals: We do not recognize or respond to any web browser-initiated “Do Not Track” signals. At present, no universally accepted standard exists on how companies should respond to “Do Not Track” signals. In the event a universally accepted standard is established, we will assess and provide an appropriate response to these signals. If you wish, you can configure most browsers to reject cookies or to notify you when you are sent a cookie, giving you a chance to decide whether or not to accept it. Consult the help section of your browser to learn more about how to do this. Please note that if you choose to remove or reject cookies, this could affect the availability and functionality of the Services.
-Shine The Light: California Civil Code §1798.83 permits users of the Website who are California residents to request certain information regarding our disclosure of personal data to third parties for their direct marketing purposes. Gruntwork does not share personal data with third parties for their direct marketing purposes.
+Shine The Light: California Civil Code §1798.83 permits users of the Website who are California residents to request certain information regarding our disclosure of personal data to third parties for their direct marketing purposes. Gruntwork does not share personal data with third parties for their direct marketing purposes.
- question: Changes to our Privacy Policy items: diff --git a/_data/reference-architecture.yml b/_data/reference-architecture.yml index bb20f9c0b..14a1d820f 100644 --- a/_data/reference-architecture.yml +++ b/_data/reference-architecture.yml @@ -33,7 +33,7 @@ infrastructure: - title: Bastion host description: | - Choose from either a plain bastion host or an OpenVPN server as the sole entrypoint to your network. + Choose from either a plain bastion host or an OpenVPN server as the sole entry point to your network. - title: CI server description: | diff --git a/_data/terms-of-service.yml b/_data/terms-of-service.yml index bc651418c..9efca4bce 100644 --- a/_data/terms-of-service.yml +++ b/_data/terms-of-service.yml @@ -16,7 +16,7 @@ items: - title: 1. Updates to these Terms legalese: | -1.1. Revisions. We may revise these Terms or any additional terms and conditions which are relevant to a particular Service from time-to-time. We will post the revised terms to our website (currently https://gruntwork.io/terms) (the “Website”) with a “last updated” date, and we will attempt to notify you of any material updates to these Terms via email or through the Services. IF YOU CONTINUE TO USE THE SERVICES AFTER THE REVISIONS TAKE EFFECT, YOU AGREE TO BE BOUND BY THE REVISED TERMS. You agree that we shall not be liable to you or to any third party for any modification of the Terms.
+1.1. Revisions. We may revise these Terms or any additional terms and conditions which are relevant to a particular Service from time-to-time. We will post the revised terms to our website (currently https://gruntwork.io/terms) (the “Website”) with a “last updated” date, and we will attempt to notify you of any material updates to these Terms via email or through the Services. IF YOU CONTINUE TO USE THE SERVICES AFTER THE REVISIONS TAKE EFFECT, YOU AGREE TO BE BOUND BY THE REVISED TERMS. You agree that we shall not be liable to you or to any third party for any modification of the Terms.
1.2. Notifying You of Updates. You agree to receive electronically all communications, agreements, and notices that we provide in connection with any Services (“Communications”), including by email, by posting them to our website, or through any Services. You agree that all Communications that we provide to you electronically satisfy any legal requirement that such Communications be in writing and you agree to keep your Account contact information current.
plain: | We might update these Terms of Service at some point, and if we do, we'll proactively notify you about it. diff --git a/_data/where-we-work.yml b/_data/where-we-work.yml index 6398b3833..9aca14629 100644 --- a/_data/where-we-work.yml +++ b/_data/where-we-work.yml @@ -8,8 +8,6 @@ position: [26%, 6%] - location: London, England position: [18%, 43%] -- location: Lagos, Nigeria - position: [51%, 45%] - location: Orlando, FL position: [35%, 18%] - location: New York, NY @@ -18,9 +16,13 @@ position: [25%, 22%] - location: Woodbury, CT position: [25%, 21%] -- location: Woodbury, CT - position: [25%, 21%] -- location: Helsinki, Finland - position: [13%, 50.5%] - location: Berlin, Germany position: [20%, 48%] +- location: Calgary, Canada + position: [19%, 12%] +- location: Chicago, Illinois + position: [23%, 17%] +- location: San Francisco, CA + position: [25%, 6%] +- location: Portland, OR + position: [21%, 9%] diff --git a/_posts/2019-05-08-deploying-a-dockerized-app-on-gcp-gke.adoc b/_posts/2019-05-08-deploying-a-dockerized-app-on-gcp-gke.adoc index 0e00f5ada..607252455 100644 --- a/_posts/2019-05-08-deploying-a-dockerized-app-on-gcp-gke.adoc +++ b/_posts/2019-05-08-deploying-a-dockerized-app-on-gcp-gke.adoc @@ -90,7 +90,7 @@ using the Gruntwork Infrastructure as Code Library. [[pre_requisites]] === Pre-requisites -This walkthrough has the following pre-requistes: +This walkthrough has the following pre-requisites: Terraform:: This guide uses https://www.terraform.io/[Terraform] to define and manage all the infrastructure as code. If you're diff --git a/_posts/2019-08-12-how-to-configure-production-grade-aws-account-structure.adoc b/_posts/2019-08-12-how-to-configure-production-grade-aws-account-structure.adoc index a0307f5ba..8045caac5 100644 --- a/_posts/2019-08-12-how-to-configure-production-grade-aws-account-structure.adoc +++ b/_posts/2019-08-12-how-to-configure-production-grade-aws-account-structure.adoc @@ -683,7 +683,7 @@ and automated users in your child accounts. The exact set of IAM roles you need requirements, but here are some common ones: allow-auto-deploy-access-from-other-accounts:: - This is an IAM role that grants permissions for automatically deploying (e.g., as part of a CI / CD pipline) + This is an IAM role that grants permissions for automatically deploying (e.g., as part of a CI / CD pipeline) some specific service. For example, this role may have a trust policy that allows it to be assumed by a Jenkins server in the shared-services account, and gives that server permissions to deploy EC2 Instances and Auto Scaling Groups. Note that anyone who has to your CI server (e.g., anyone who can create/modify/execute Jenkins jobs) can @@ -886,7 +886,7 @@ the central place where you manage billing. You create this initial account manu === Apply the security baseline to the root account Next, we'll apply a security baseline to the root account that is responsible for configuring AWS Organizations, IAM Roles, IAM Users, -IAM Groups, IAM Password Policies, Amazon GuardyDuty, AWS CloudTrail and AWS Config including setting up the child accounts. +IAM Groups, IAM Password Policies, Amazon GuardDuty, AWS CloudTrail and AWS Config including setting up the child accounts. Let's first apply the security baseline by using the `account-baseline-root` module from https://github.com/gruntwork-io/module-security[module-security]. @@ -1000,7 +1000,7 @@ variable "child_accounts" { # Defaults to the Organization default Root ID. # # - role_name: - # The name of an IAM role that Organizations automatically preconfigures in the new member account. This role trusts + # The name of an IAM role that Organizations automatically pre-configures in the new member account. This role trusts # the master account, allowing users in the master account to assume the role, as permitted by the master account # administrator. The role has administrator permissions in the new member account. Note that the Organizations API # provides no method for reading this information after account creation. diff --git a/_posts/2019-08-13-how-to-deploy-production-grade-vpc-aws.adoc b/_posts/2019-08-13-how-to-deploy-production-grade-vpc-aws.adoc index d31acd72d..3bb73c29b 100644 --- a/_posts/2019-08-13-how-to-deploy-production-grade-vpc-aws.adoc +++ b/_posts/2019-08-13-how-to-deploy-production-grade-vpc-aws.adoc @@ -610,7 +610,7 @@ Infrastructure as Code Library. [[pre_requisites]] === Pre-requisites -This walkthrough has the following pre-requistes: +This walkthrough has the following pre-requisites: Gruntwork Infrastructure as Code Library:: This guide uses code from the https://gruntwork.io/infrastructure-as-code-library/[Gruntwork Infrastructure as Code Library], as it diff --git a/_posts/2019-08-26-how-to-use-gruntwork-infrastructure-as-code-library.adoc b/_posts/2019-08-26-how-to-use-gruntwork-infrastructure-as-code-library.adoc index fb8ed7f46..21db1b119 100644 --- a/_posts/2019-08-26-how-to-use-gruntwork-infrastructure-as-code-library.adoc +++ b/_posts/2019-08-26-how-to-use-gruntwork-infrastructure-as-code-library.adoc @@ -278,7 +278,7 @@ _The Production-Grade Infrastructure Checklist_: | Bash, Chef, Ansible, Puppet | Provision -| Provision the infrastructure. Includes EC2 instances, load balancers, network topology, security gr oups, IAM permissions, etc. +| Provision the infrastructure. Includes EC2 instances, load balancers, network topology, security groups, IAM permissions, etc. | Terraform, CloudFormation | Deploy @@ -1049,7 +1049,7 @@ Configure variables:: This is similar to the `testing/terraform.tfvars` used in manual testing. Configure the backend:: - This is similar to tthe `testing-backend.hcl` used in manual testing. + This is similar to the `testing-backend.hcl` used in manual testing. Namespace resources:: The code uses `random.UniqueId()` to generate unique identifiers for all the resources in this test. This allows @@ -1426,7 +1426,7 @@ Use TFC without Terragrunt:: Use TFC with Terragrunt:: Alternatively, you can use both `infrastructure-modules` and `infrastructure-live` repositories as described above, - storing the wrapper modules in `infrastructure-modules`, and using `infastructure-live` and Terragrunt for + storing the wrapper modules in `infrastructure-modules`, and using `infrastructure-live` and Terragrunt for deployments. In this approach, TFC is used as a https://www.terraform.io/docs/backends/types/remote.html[remote backend] for Terraform. You use Terragrunt to run deployments from the CLI, which in turn invokes Terraform on the TFC backend. The TFC UI is used for audit and tracking capabilities, but not for executing Terraform runs. @@ -1708,9 +1708,9 @@ There are a few ways to set these credentials: . Create all the workspaces manually in advance, and set the `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` in each workspace, as described in <