Create Windows Server 2019 AMIs using Packer
Practical System Administration
by Josh Reichardt
3y ago
There are quite a few blog posts out there detailing this, but none of them seem to be up to date for use with the HCL style syntax, introduced in Packer 1.5, which has a number of advantages over using the original JSON syntax, namely that it is much more human friendly, flexible, and easy to work with. So in this post I will share a very quick and dirty example packer configuration that uses the HCL syntax to create, provision and upload a Windows server AMI to AWS. You’ll need the following bootstrap_win.txt file in place in order for Packer to be able to provision the server using PowerSh ..read more
Visit website
Immutable WordPress Installations with Kubernetes
Practical System Administration
by Josh Reichardt
3y ago
In this post I will describe some of the interesting discoveries I have made for a recent side project I have been working on, which include a few nice discoveries to automate and manage WordPress deployments with Kubernetes. Automating WordPress I am very happy with the patterns that have emerged from this project. One thing that I have always struggled with (I’m sure others have as well) in the world of WP has been finding a good way to create completely reproducible and immutable code and configurations. For example, managing plugins and themes has been a painful experience because WP was ..read more
Visit website
Terraform Testing Tools
Practical System Administration
by Josh Reichardt
3y ago
What begins with “T”? I have been thinking about various ways of testing infrastructure and resources lately and have been having a difficult time parsing out the various tools that are available. This post is meant to be a reference for “finding the right tool for the right job” as part of testing various infrastructures. Often times when you start talking about testing, you will hear about the testing pyramid, which is described along with some other interesting aspects of testing Terraform in this blog post, it covers a lot of the pitfalls and gotchas you might run into. My aim originally ..read more
Visit website
Exploring Linux Terminals
Practical System Administration
by Josh Reichardt
4y ago
I have been experimenting with Linux on a recently acquired Lenovo X1 Carbon and as part of the process I have been exploring and testing out various productivity tools, including terminal emulators. The first thing I discovered in this process is that there’s a lot of terminals out there. And they’re all slightly different, and in my experience, almost none of them were able to do all of the tweaks I like. Here is the list of terminals I have tested out (so far). Alacritty Gnome Terminal Kitty Simple Terminal (ST) Terminator Termite Tilix urxvt As you can see, that is a bunch of terminals ..read more
Visit website
Idempotent Shell Scripts with Terraform
Practical System Administration
by Josh Reichardt
4y ago
One challenge when dealing with Terraform is keeping things clean and repeatable. My current favorite approach to accomplish this task using shell scripts is by using a combination of null_resources and triggers to control when scripts should be updated. These controls combined with Terraform provisioners and template_files provide a nice flexible way to deal with otherwise potentially messy scripts. I like to provide more than one trigger so that they can be recomputed when either a variable that gets passed into the script changes, or, the script itself changes. This trick is han ..read more
Visit website
Bash Quick Substitution
Practical System Administration
by Josh Reichardt
4y ago
Big Brain Time One thing that I love about bash is that there is never a shortage of new tips and tricks to learn. I have been using bash for over 10 years now and just stumbled on this little trick. This one (as the title implies) allows you to quickly substitute a string into the previous command and rerun the command with the substitution. Quick substitution is officially part of the Bash Event Designators mechanism and is a great way to fix a typo from a previous command. Below is an example. # Simple example to highlight substitutions echo foo # This will replace the s ..read more
Visit website
Untangling CLI Text Processing Tools
Practical System Administration
by Josh Reichardt
4y ago
The landscape of command line driver text manipulation and processing tools is somewhat large and confusing, with more and more tools emerging all the time. Because I am having trouble keeping them all in my head, I decided to make a little reference guide to help remember which tool to choose for the correct task at hand. jq yq (both python and go versions) oq xq hq jk ytt configula jsonnet sed (for everything else) jq Reach for jq first when you need to do any kind of processing with JSON files. From the website, ” jq is like sed for JSON data – you can use it to slice and filter a ..read more
Visit website
Automatically set Terraform environment variables
Practical System Administration
by Josh Reichardt
4y ago
If you have spent any time managing infrastructure you have probably run into the issue of needing to set environment variables in order to connect to various resources. For example, the AWS Terraform provider allows you to automatically source local environment variables, which solves the issue of placing secrets in places they should be, ie. writing the keys into configurations or state. This use case is pretty straight forward, you can just set the environment variables once and everything will be able to connect. The problem arises when environments need to be changed frequently ..read more
Visit website
Testing for Deprecated Kubernetes APIs
Practical System Administration
by Josh Reichardt
4y ago
Kubernetes API changes are coming up and I wanted to make a quick blog post to highlight what this means and show a few of things I have discovered to deal with the changes. First, there have been some relevant announcements regarding the changes and deprecations recently. The first being the API Depractions in 1.16 announcement, which describes the changes to the API and some of the things to look at and do to fix problems The next post is the Kubernetes 1.16 release announcement, which contains a section “Significant Changes to the Kubernetes API” that references the deprecation post ..read more
Visit website
Quickly securing local secrets
Practical System Administration
by Josh Reichardt
4y ago
One thing I have run into recently and have been thinking about a little bit lately, is a simple way to hide environment variables that contain sensitive information. For example, when working in a local environment, if you need access to a secret like an oauth token or some authentication method to an API, the first inclination is usually to just hard code the secret contents into your local bash/zsh profile so that it can be read anytime you need access to it. This method obviously will work but if the filesystem itself isn’t encrypted, the secret can easily be leaked and for a small amoun ..read more
Visit website

Follow Practical System Administration on FeedSpot

Continue with Google
Continue with Apple
OR