I’ve used a module that Grant authored in the early days. Its goal is to create a Terraform Workspace and a corresponding GitHub repo. This would then link the two so any Terraform code committed to this folder would trigger a webhook into Terraform Cloud. This allows me to use Terraform to automate Terraform provisioning/standup. With the introduction of Terraform Agents there is a new execution mode. This execution mode, Agent, allows a workspace to pass the run to a remote agent!...
Dynamic Terraform API tokens
Intro There are times where solutions that consume Terraform require API access. This may be through a higher order system like a CI/CD tool or pipeline. It could also be something such as system that will pull statistics or metrics from an API. How can we generate role specific API keys? Vault’s new Terraform Secret Engine can help us here. Before we get into that lets understand a couple of different token types...
Nomad Stanzas
Nomad Stanzas got me good! Nomad has configuration for Server, Clients, and Jobs. These job spec or HCL configuration files are made up of one or many stanzas. Whilst configuring a few job specifications the other day I couldn’t figure why a specific feature was throwing an error. Then I realised something about it’s placement. Within the documentation for all configuration there is a Placement field. This filed denotes at what level of nesting are you configuring your feature....
Nomad Nugget - 001
Nomad Notes Nomad Notes are a bi-weekly or so update of all things happening with scheduling application run times with HashiCorp Nomad. There may be blog entries, links to great content, or simply my hot takes on a specific element of the ecosystem. It will cover both Open Source and Enterprise Nomad so there should be something for everyone. Cloudflare and Nomad Cloudflare are known for the protectors of the internet and deliver services that help democratise the internet....
Learning Nomad - Audit logs
Adding Audit Logs With our scheduler we want to ensure that we can ensure the integrity of the actions that have taken place. Determine the epoch
Terraform locals and provider interpolation
Provider configurations There are times when HCL provides interpolation - the calculation of dynamic elements and variables - with use in the code. There are times where this doesn’t work much to my sadness and this is when a variable is used in a provider configuration. Such cases are like below: provider "nomad" { address = http://my.nomad.cluster:4646 region = "ap-southeast-2" } These values are static and are used when an environment is initalised....
Dynamic IPs and Security Groups
This is not per the docs or the reference I will caveat much of this blog entry with the fact that I am far from an AWS novice. I don’t mean I am beyond a novice, I literally mean I know the absolute basics and that I am slowly rectifying. Requirements - Update Security Group with Dynamic IP I have a deployment of some Nomad and Consul nodes across some Availability Zones....
Dynamic IPs and Security Groups
This is not per the docs or the reference I will caveat much of this blog entry with the fact that I am far from an AWS novice. I don’t mean I am beyond a novice, I literally mean I know the absolute basics and that I am slowly rectifying. Requirements - Update Security Group with Dynamic IP I have a deployment of some Nomad and Consul nodes across some Availability Zones....
Learning Nomad - Scheduling Minecraft, a Java Runtime
Non container applications There are so many benefits to schedulers and how they can help provide benefits to container based workloads. Without espousing the pain points associated with an application transformation there quite simply are a number of workloads out there that are traditional. Application processes like Java, .NET, and other runtimes that aren’t deemed appropriate for containers or simply, too expensive to touch. Enter HashiCorp Nomad. Nomad brings the benefits promised post digital transformation that containers and microservices get to runtimes such as Java and ....
Learning Nomad - Introduction
The minimalist scheduler This is the introduction to an informal blog series about how I am getting up and running with HashiCorp Nomad. The goal is to be an informal journey of applying concepts and building upon them. This will definitely be full of great things and without a doubt less than ideal approaches initially. I know for the first few posts I already have learnt about better ways of doing things and subsequent posts will improve....