Getting started with cloud native toolchains is often a PITA for engineers new to ansible, terraform, or kubernetes. This is most often, due to differences in workstation operating systems, corresponding package managers, and each engineer’s experience.
This post is meant to be a walk through type guide to getting your workstation set up, to allow for comfortable development. It has a slight lean towards Windows administrators, as windows is typically the most difficult to set up with cloud native toolchains.
I’ll post a list of sofware to install, along with a bit of commentary based on my experience with each.
1. Package manager.
We need software to go get the softwares.
Windows: Install chocolatey
Chocolatey is like
apt-get for windows. It’s the best, and will make your life much, much easier.
OSX: Install homebrew
Everything is software now. Those scripts you write, be they powershell or bash, you are a maintainer of those scripts. Being a maintainer, means you should use version control. Every script, ansible playbook, terraform module, or Dockerfile you write should go in git, so get it installed. If you don’t have an internal git server to store your code., just make an account on github they offer free private repos.
choco install git.install --params "/GitAndUnixToolsOnPath /NoGitLfs /SChannel /NoAutoCrlf"
There’s some minor additions here, to help deal with windows/unix interoperability - mostly to do with line endings.
brew install git
# ubuntu apt-get install -y git # centos/rh/fedora yum install -y git
Docker is becoming critical for the sysadmin or engineers day to day life. You don’t need to be an expert to see benefits. We’re going to install it so that vscode environments can be spun up and shared.
Windows: install here
Read the docs carefully. In my most recent Windows experience, we had lots of trouble with installation. These troubles were resolved mostly by two things.
- Enabling virtualization
- Running as administrator - adding the current user to the
OSX: install here
Things are pretty straightforward on osx.
Linux: install here
Ubuntu install attached, be careful just running
apt-get - make sure you’re getting
docker-ce from the proper apt repo as shown in the docs.
Confirm your docker daemon is running and you have a happy whale icon before moving on!
4. Visual Studio Code
choco install vscode
brew install --cask visual-studio-code
Ahh yes, theh editor battles. If you’ve been around on the internets long enough, you’ve heard some form of vim vs emacs, or sublime vs atom vs vscode. To sum up from my experience, you should have some level of basic comfort in
vim, but your day to day should without a doubt be vscode.
I have two reasons for this.
Rich plugin system
They have plugins for everything. Autocomplete for any language you’ll work with, as well as most tooling.
See my list of plugins here
Install this plugin. That’s it.
Devcontainers allow users to isolate dev environments, and provide a consistent experience for all users regardless of location or platform.
If you’re on windows, confirm your version of WSL and make sure to read the extra notes.
Try it out.
Clone my example repository.
git clone https://github.com/RedEight/getting-started-example
You can always open your workspace in a remote container. Open the cloned folder.
File -> Open Folder, then open it in a container -
Ctrl + Shift + P (Command pallete) then search
Open a terminal in vscode!
Ctrl + Shift +P search terminal.
Now you can do your work, tools pre-installed!