- Use FileVault to encrypt the startup disk on your Mac.
- Install Homebrew to install/manage macOS packages.
- Slack: We use it as our main communication tool.
- Docker for Mac
- Docker Compose
brew install docker-compose
brew install awscli
brew install terraform
- VSCode is a good IDE (unless you're a vim user 😛). It has useful plugins for DevOps.
- iTerm2 + zsh + oh-my-zsh.
- Use a password manager. 1Password is a good option.
- Grammarly is a writing assistant that uses AI and NLP. You'll love it!
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.
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:
- 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
- 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!