We’ve got some stuff going on at work using Terraform, or Terrahawks as I like to call it, so I figured it was about time I had a play with it. I probably won’t be doing much of the project work myself, but I like to understand a bit about all the things we do.
The biggest problem with going on one of these “learning missions” is finding something to do that makes it feel real to me. I have some test environments across two Oracle Cloud accounts. One is my free tier account and the other is a trial account I get through the Oracle ACE Program, that has quite a lot of credit. 🙂 I figured I would automate the build of my test environments, so I can trash and rebuild them at will. So with that as my mission, I’ve taken my first steps into Terraform.
- Terraform : A Beginner’s Guide
- Terraform : Variables – A Beginner’s Guide
- Terraform : Installation
- Terraform : Oracle Cloud Infrastructure (OCI) Provider
- Terraform : Oracle Cloud Infrastructure (OCI) Compartment
- Terraform : Oracle Cloud Infrastructure (OCI) Virtual Cloud Network (VCN)
- Terraform : Oracle Cloud Infrastructure (OCI) Autonomous Database (ADW, ATP, AJD, APX)
- Terraform : Linking Oracle Cloud Interface (OCI) Terraform Modules Together
- Terraform : Oracle Cloud Infrastructure (OCI) Object Storage Bucket
- Terraform : Oracle Cloud Infrastructure (OCI) Database VM
- Terraform : Oracle Cloud Infrastructure (OCI) Compute Instance
I’m not finished yet, and I’m not saying this is production ready “best practice” stuff. It’s just something I’ve been playing around with and it works great. Fortunately the Terraform OCI Provider and resources do all the heavy lifting, and if you are used to using Oracle Cloud, it’s pretty easy to navigate around the documentation, as a lot of it is organised similar to the menu structure. You can find the top-level of the docs here.
As I always say in these situations, it’s early days for me. I’ve got a number of things I want to build, and I’m sure that process will teach me more, and make me look back at these articles and cringe. That’s more rewriting on the way. 🙂
I’m putting this stuff into a GitHub repo, but I’ve not published that yet. I’m still trying to figure out what I should and shouldn’t include. Update. Here’s the GitHub repo.
PS. If you don’t remember Terrahawks, this might remind you.