Skip to main content

Handbook for NEW DevOps Engineers

macOS configuration#

Applications/packages#

Required#

  • Slack: We use it as our main communication tool.
  • Docker for Mac
  • Docker Compose brew install docker-compose
  • awscli brew install awscli
  • Terraform brew install terraform
- Optional (but recommended)#

Configuring awscli#

The AWS Command Line Interface (CLI) is a unified tool to manage AWS services.

You will need to configure a default profile and a named profile for every AWS account you manage. The default profile will be used when you run any awscli command without specifying --profile <PROFILE_NAME> option.

To do this, check the following docs:

*Advanced: Once you have some expertise with awscli and Terraform, you should enforce MFA for AWS IAM users.

Configuring Terraform#

Terraform is a Hashicorp infrastructure as code software tool.

For learning Terraform, Hashicorp offers a Terraform getting started course. This could be a good starting point. After this course, the book Terraform: Up & Running by Yevgeniy Brikman is a good option to consolidate knowledge and deepen on it.

After you gain some expertise, some basic things that you must do on your Terraform project are:

Terraform additional tools#

  • chtf: Terraform version switcher, allows you to change the Terraform version you are using with a single command.
  • terraform-landscape: Improve Terraform's plan output to be easier to read and understand

Additional tips#

  • Setup and enforce 2FA when possible (AWS, GitHub, Slack... have this option).
  • Generate secure and random passwords for every service. 1Password has a built-in password generator, or you can use a tool like RandomKeygen.
  • Don't share passwords on e-mails or Slack. Use a service like OneTimeSecret or WhisperKey.
  • Feel free to ask others. There's no such thing as a stupid question!
Last updated on by Jose Antonio Lopez