Geeking Out with Adriana Villela

E17 ENCORE: The One Where We Geek Out on All Things Hashi with Riaan Nolan

Episode Summary

NOTE: We're on break for the next few weeks, and will be returning with brand-new episodes in mid-November 2024. Until then, please enjoy this re-run. Adriana geeks out with fellow HashiCorp Ambassador, Riaan Nolan, about All Things Hashi! Riaan shares how he pivoted from being a Director of DevOps in his native South Africa to moving to Australia and reinventing himself as a Terraformer extraordinaire as an individual contributor. He and Adriana also talk about what it's like to be a HashiCorp Ambassador, and what led him to create HashiQube - the ultimate playground for the Hashi stack and more!

Episode Notes

About our guest:

Riaan has worked for Multi-National companies in Portugal, Germany, China, United States, South Africa and Australia.

Find our guest on:

Find us on:

Show Links:

Transcript:

ADRIANA: Hey, y'all, welcome to Geeking Out, the podcast about all geeky aspects of software delivery, DevOps, Observability, reliability and everything in between. I'm your host, Adriana Villela. Coming to you from Toronto, Canada. And geeking out with me today is Riaan Nolan.

RIAAN: Good morning, Adriana. How are you? It's good to see you. Happy Australia day. It's Australia day in Australia, so happy Australia day. At the moment, I'm working for a consultancy in Australia called Versent, and they've recently been bought by Australia's biggest telco, Telstra. So I'm a consultant for them. I do DevOps and HashiCorp stuff.

ADRIANA: Amazing. So you said you're calling from Australia? Where in Australia are you calling from?

RIAAN: I'm on the east coast in Brisbane. Brisbane, Australia, in Queensland. The state is called Queensland.

ADRIANA: Awesome. And significantly hotter than the crappy rainy weather of Toronto today. We are at a balmy 3C. And you are at what temperature right now?

RIAAN: Oh, my goodness. I'll tell you right now, weather. It's 25 degrees C right now...26 degrees C. It's 7:00 in the morning and it is going to go up to 30 degrees C today.

ADRIANA: Oh, wow. Hey, my kind of weather, it's lovely.

RIAAN: I tell you, it is so beautiful. We've got so many birds here, and thankfully I've got a pool here where I rent this property.

ADRIANA: Oh, that's nice.

RIAAN: If it gets too hot, I just jump in the pool.

ADRIANA: That is very nice. Super jelly. Super jelly. That's cool. Well, are you ready for our lightning round questions?

RIAAN: Yeah, sure. Let's see what you got.

ADRIANA: All right. Yes. This is a get to know you better icebreaker sort of thing. Okay, first question. Are you a lefty or a righty?

RIAAN: I'm right handed.

ADRIANA: Awesome. Do you prefer iPhone or Android?

RIAAN: I am on Android. I prefer Android.

ADRIANA: All right. And do you prefer Mac, Linux or windows?

RIAAN: Strangely, I'm the type of guy that used to run Linux on a Mac on my MacBook air. Yeah, Ubuntu.

ADRIANA: Nice.

RIAAN: Made by Mark Shuttleworth, who's from South Africa. But it just became a little bit difficult with all the changes. Work takes over. And so I've recently, well, not recently, about five years ago, switched to MacOS on a Mac.

ADRIANA: Oh, nice. So you were running like Ubuntu natively on a Mac. It wasn't a VM, it was like...actually...

RIAAN: I can't sometimes with the new stuff that doesn't work. But my old little MacBook Air that I got from Germany runs Ubuntu dual boot.

ADRIANA: Oh my God, how cool is that. That's amazing.

RIAAN: Because KDE is just such a great desktop. And it's got so many customizations and Windows gestures that it just makes your day to day and your working incredibly easy.

ADRIANA: Very cool. And now you're like, no, now it's MacOS on the Mac.

RIAAN: Now I've become not lazy, but when something breaks on my Mac because I work as a consultant, so I get a company PC and then sometimes I'm on Windows, sometimes I'm on Linux, sometimes on a cloud thing. So now I'm just the default OS with dev containers. So I use VSCode's dev containers, which means I just need VSCode and Docker and the rest I do inside of the container.

ADRIANA: Nice.

RIAAN: I really keep it so simple and so easy nowadays.

ADRIANA: That's awesome. Hey, that is the way to do it. To keep it simple. We overcomplicate our lives. So, awesome.

RIAAN: Yes.

ADRIANA: Okay, next question. What's your favorite programming language?

RIAAN: Listen man, I must come from systems administration. So I like Python and I like Bash and scripting. And then of course HCL is my favorite. And I used to start off with PHP back in the day on PHP, but I've since moved away from it. I used to do a little bit of PHP in Magento, but I'm just really in love with the infrastructure stuff and the DevOps. So I don't even know if you can call YAML and Cloudformation and HCL programming languages. You probably can't. So I'm a script kitty. Let's call me a script kitty, you know.

ADRIANA: All right, I love it. Okay, next question. Related. Do you prefer dev or ops?

RIAAN: I love both. And I really like the synergy. I used to do Puppet stuff, and when I discovered Puppet, I was like, wow, this is incredible. And then along came Cloudformation and I could just code something in Cloudformation and in the user data, pass it off to Puppet, and then do all of my stuff in Puppet. And that was the "Aha!" moment. We have finally arrived.

ADRIANA: Nice.

RIAAN: I like. What's that cake? A red velvet cake. It's a mix between the two and white chocolate, vanilla and chocolate. I love it so much.

ADRIANA: Awesome! I love it! Okay, another one. And I think I have an inkling of what your preference is. Do you prefer JSON or YAML?

RIAAN: To tell you the truth, I hated JSON when I started with Cloudformation, but it didn't support YAML. So I wrote so much cloudformation that I loved JSON. I started loving it. But what's more readable and easier for the users. I mean, I do like YAML. It is just so beautiful and simplistic and easy to read. So it's like your kids. Let's say I've got two kids. I love them both equally. The JSON is the kid with red hair and YAML is a beautiful dark brunette kid with hazel eyes. I love them both equally.

ADRIANA: I love that. I love that. Now, what if you threw HCL into the mix...as a Hashi guy?

RIAAN: I love HCL. It's the fastest growing programming language and you can use it everywhere and it's just so flexible and just so forgiving. The shorthand if else. It's just such a great. That's probably what I'm going to start my son off. He's almost ready to start learning something and I think I'll start him off with that because it's really powerful if you can write a little bit of HCL and deploy it, and there you've got ten virtual machines. Yeah, that will just be the thing I'm going to start him off with.

ADRIANA: That's very cool. Speaking of programming languages, so my daughter is like a perpetual artist. Like, she's just born artsy and my husband and I are both in tech. And she was like, "I'm not learning how to code." And I'm like, "But you're a great problem solver. You would be a great coder." But I'm like, "I won't push it on you because you do you." And then she took like, I don't know why, but she took a computer class in school this year and learned Python.

And she's like, and she's like, "Mom, I hate to admit it, but I love coding." And she's just wrapping up her semester and she's like, "I'm going to be so sad that there's no coding next semester because I really enjoy the daily coding challenges." And I'm like, that's vindicating.

RIAAN: People always say, oh, well, you get the creativity kind and then you get the. But I really think that programming and DevOps stuff is a very creative art so much. It's not the boring essay type of stuff. And even the typing is also a creativity outlet. I really think there is a place for it.

ADRIANA: Oh, yeah. And honestly, I think software engineering is such a creative profession. It's just creative in a very different way than. You're not painting on a canvas, a traditional canvas, but the IDE is your canvas.

RIAAN: Yes. And you have to use your imagination when you run into a bug, you have to kind of walk it through and I wonder, what is it now? Yesterday I got a bug where HashiQube wouldn't start and I was like, is it the new Vagrant version? And then I'm like, what could it be? Could it be Docker? It turns out it's the Docker. The new Docker at 25.0 doesn't let Vagrant start. And you have to be creative. Where should I start looking now?

ADRIANA: Oh my God. As a sidebar, let me tell you, every time there's a Docker update, I am like shaking in my booties because I feel like every Docker update causes my system to melt down and I can't run an update. I have to actually nuke Docker and then reinstall it and pray that other stuff that was relying on Docker is still working.

RIAAN: And then yesterday with that bug, I go read the Docker change log and they had some problems with the systemd update. So the Docker developers must be like, every time there's a systemd update and I can't even just update it, I have to nuke my whole thing. It's amazing how dependent we are on each other's work. It's like this ecosystem.

ADRIANA: Oh my God. Yes.

RIAAN: It relies on other components.

ADRIANA: Yeah, absolutely. Okay, next question from our series. Do you prefer spaces or tabs?

RIAAN: I like spaces. I love spaces. Tabs give me that feeling where somebody walked over your grave. When I see it, I'm just like..."Ugh!"

ADRIANA: That's awesome. That's such a great description. Okay, second last question. Do you prefer to consume content through video or text?

RIAAN: That is funny. I'll tell you, I like video. I'm in two minds of what do we learn easier? I think text is too slow to make us humans learn. I love reading my book. I'm reading at the moment is Jordan Peterson's "Twelve Rules for Life". But I've been trying this out now. So while I'm reading it, I'm listening to the audiobook on Spotify and I don't know yet whether this is going to make it stick, but now I'm using my ears, my mind, and my reading, and I'm just now busy checking it out. What is going to be the best way to get content through your thick skull?

ADRIANA: That is very cool.

RIAAN: Learn it quicker. So I don't know, but I do like videos. I do love it when they give a link in the video to a GitHub repository. Yes, because it's like copying code from a picture. Copying code from a picture. I'm like,

ADRIANA: Yeah, I know, right? Yeah. It's like, oh, I have to type this out.

RIAAN: Anyway, that's where I am at the moment. Let's go with video with a link to a GitHub repo.

ADRIANA: Awesome. I love it. You mentioned something interesting, which is like you're reading the book but also listening to the audiobook on Spotify. And I've done something similar. So I don't have too many physical books just because they take up too much space. But what I've done is I would buy the Kindle book but also get the Audible add on. So then if I was out for a run, I could listen to the book, and then if I was at home and in the mood to read, then I could open up the Kindle book and it would be in the exact spot where I left off in the Audible. And I'm like, oh, my God, this was like the best way to consume content, right? So for me, I thought it was so cool.

RIAAN: Yeah. Follows actually your audio.

ADRIANA: Yeah. Because they're tied the same. It's the same account, like the Audible account, uses my Kindle credentials. My Amazon account.

RIAAN: Incredible. Yeah. I still have to have a little bookmark in the book.

ADRIANA: Right.

RIAAN: To keep it kind of in sync. Incredible. Wow. That's a good tip. I love physical books, but I might just switch now. I don't know. I'll let you know.

ADRIANA: Yeah. My sister has a bunch of physical books, so she'll lend me one every so often. And I love the touch of a physical book. And there's something so satisfying about carrying a book around the house. But the convenience of the ebook is like, I can be like waiting at a doctor's office, open the iPhone and read my book.

RIAAN: Yes, I do like it. I do like the physical mean. I've got a couple of them. Another great one is this one from David Goggins, and I was fortunate enough to meet him in person in Brisbane. And the other one I read before that was this thing. So weird, man. I mean, you know, after COVID, just as I was reading it, I was just keep on thinking how lucky and how thankful we are to be out of this COVID thing because they were going to pass rules from the World Health Organization and mandate us locally to countries and not all countries are the same. And I don't know, it was creating a sticky situation.

So after this, I was just reading that book and every second page I was like, oh, thank God. I don't think I could have handled that one. So, yeah, I do like the physical books and stuff, but the Kindle is just so convenient.

ADRIANA: Yeah, absolutely. All right, final question. What is your superpower?

RIAAN: My superpower is probably, I'm curious and I'm quite patient. I can stick with a problem for a very long time. I might let it go for a little bit, but I would always come back to it and revisit it. And persistence is absolutely key. So I think that would be my superpower. I always say I'm not actually clever. My problem is that I'm curious. So through my curiosity, I just discover and I happen to learn stuff.

RIAAN: I suppose. That's my superpower.

ADRIANA: I love it. That's so great. Well, you've survived the lightning round questions. Awesome. Well, there's so many things I want to talk to you about, but one of the things, because you and I met when I was starting on my Hashi journey, where a coworker of mine found HashiQube, which you've created. And it is like whenever I have a chance, I will promote HashiQube to people, to Hashi folks, because I think it's such a great tool. To be able to basically mimic a data center setup of Hashi tools on your laptop, I think is incredible. And that it pretty much ports to your data center setup afterwards is super incredible and has saved my ass so many times, especially in my previous job when I was working with a Hashi stack.

So it was such a great way to learn how to use it, to have a setup that could mimic what we would have in real life without me having to figure it out. I appreciate that you figured all that stuff out. If you could talk a little bit about HashiQube and what inspired you to start it, where it started. And now, what are some of the new capabilities?

RIAAN: I totally hear your sentiment about being able to test something and mimic it in production because it's just so valuable. But really, where it started is when in South Africa, I was director of DevOps for Mage Mojo, a company that used to run Magento e-commerce stores on Kubernetes. But I really was looking for a visa, and I came to Australia and I was applying for so many jobs. I mean, if you can imagine applying from South Africa for remote jobs. I found it quite challenging at that stage, and I got a job as a consultant, and I was off the tools, mostly off the tools as the director of DevOps. But then being as a consultant, as you can imagine, your hands on the tools and that stage. I was working for Maritime Road Services. It's a government agency here in Australia and New South Wales.

And I was subcontracting for a company called Wipro. And the stack we were working on was Jenkins as the CI/CD, Ansible Tower as the configuration management, getting secrets from Vault, and then Vault maintaining these secrets and everything orchestrated with Terraform. So Terraform would install Vault and Terraform Enterprise at that stage and maintain the stack. So at that stage I was living in the central coast and my train ride was about 1 hour, 50 minutes, 2 hours. And I was new to Vault and I was new to Terraform and I was just like, oh, I need to get this stuff in my head. But then as I go through the central coast, there's this river where there's no mobile connection and it was just difficult to get Internet and download stuff. So I thought, I know I must do something different. And Vagrant, I used Vagrant before for developer environments, vagrant.

And then I put Vagrant with Vault and some Terraform in there with local stack so that I can learn how to code Terraform but not having a cloud account. And then when I get to work, I would try get access from Ansible Tower to this Vault and it just doesn't work. And I would go to the vault administrator and say, look, I think there's something wrong with this policy. And they were like, no, no, it's working. I was like, okay, well, now I'm going to test it on my local. I'm like, you see, if I remove this star, I don't get down the secrets, I don't get access to it, but if I add it, it works. So I used to go to the Vault guy and say, look here, this is my lab. This is where I'm testing it.

I think the problem is here. And lo and behold, the problem was there. And since then, as a consultant, you work on Kubernetes with Helm. And then I would quickly need to test some Helm Charts or Docker builds and DBT with Airflow. And this is really where HashiQube started and I needed a place to store my configs and this is where HashiQube came about, where I could just text and store my configs and that's the start of it.

ADRIANA: That is so cool. That's amazing. Yeah. And I can't say enough good things about HashiQube, because it's got all things. I want to go back to something that you said earlier. So you said that you used to be a director of DevOps and then when you moved to Australia, it sounds like you got into more hands-on stuff as a consultant. How was that transition like going from a director where you're not hands-on, to getting nitty gritty into the hands-on? How did that feel? What prompted the career pivot?

RIAAN: First of all, it was insane. I was so overwhelmed, I had impostor syndrome on steroids. The people that I worked at that consultancy, Servian, were extremely professional, and even just the way they looked. And when I came to Australia, the accent was quite thick. So I would sit in a meeting and they would speak English, but I wouldn't understand a word. They would use abbreviations. And so I felt completely overwhelmed, but I would just be consistent. Look, you've hit some goals in the past.

It's not like that. You don't know anything. But it was incredibly overwhelming because I used to use AWS and Cloudformation very successfully. Now, I don't know one line of Terraform and the Hashi stack with Vault, and it was just so overwhelming. But I must tell you, having a lab creates confidence. Having a place to test something out of the public eye, you can make stupid mistakes totally. It just gives you that place where you can figure something out and also break it slowly but surely. I decided, well, I don't know a line of Terraform yet, but I'm going to keep at this until I feel that I'm proficient and confident in Terraform.

And I just kept at it. I started with the associate exam. I then started trying to give courses on Terraform. And then I became a Certified Terraform Instructor. I did my Vault Associate Exam. And then lately, I'm a Vault Implementation Partner, certified. And so, you know, it really starts off very organically. And so where I started and why I wanted to come to Australia is before that, I was for four years in Berlin, and my son was born in Berlin.

But I really wanted him to know his parents and his grandparents and my brother and his kids. And you can't do that from the other side of the world. So we moved back to South Africa. You know, the situation there, I was retrenched four times in South Africa, and the place is a little bit, due to the corruption in government, there are quite high crime and murder rate, and you just feel unsafe. You have to look over your shoulder. As a man, you can handle it pretty easily. But my wife was always getting nightmares and stuff.

And I just thought, like, I can't live like this, man. My kid is five years old. I need to give him a better future. I can always go back. I've still got some family there. But then I started looking around and as director of DevOps, my visa to the US didn't quite work out. It was dragging its feet. And so the guy said, well, you can go work in Ukraine with our Ukraine colleagues.

So I had the visa stamped in my passport. But then this job from Australia came about and I was just like, oh, the language transition, the weather is more up my alley. Yeah, I'm just going to go for this. And I had the chance of staying director of DevOps, but I also had the chance of learning something new and doing something new. And I always kind of take, I wouldn't say the hard way out, but I take the uncommon, charted...that way. And so I'm so happy looking back at it, that I did come to Australia. That's the whole story. So now, hopefully by April, we'll be applying for Australian citizenship and that will conclude our five year journey.

ADRIANA: Oh, wow.

RIAAN: Citizenship in another country. I tell you what incredible last five years.

ADRIANA: That is such an adventure. I mean, you're not only pivoting your job, but you're also moving to a totally different country, starting fresh. Like, so many changes, and just making it work.

RIAAN: Yeah, I tell you, it was just absolutely incredible. But Australia is such a welcoming country. It's truly the rainbow nation with all of these nationalities. I mean, I go to my kids' school and I see Chinese and Filipinos and Indians there and know, and Kiwis from New Zealand and Africans and us from South Africa and all these kids play soccer together. And when I have my South African accent and the Indian parents have their accent, but all the kids sound Aussie. Yeah, mate. How are you doing, mate? And I thought always just. It is just so beautiful. I'm always astonished at how incredibly beautiful it is.

ADRIANA: Yeah, that's so cool. Wow, that is such an awesome story. Thank you for sharing.

RIAAN: My pleasure, my pleasure. It's such a feel-good story for me. I often look back at it and I'm just like, wow, it's so funny. Sometimes you look back at things you did two years ago and how this is now playing a role in your current day and age, but two years ago, you didn't know that what you were doing was actually going to, but you stick with it and you feed and it grows and. Yeah, that's so funny how life is.

ADRIANA: Yeah, I totally know what you mean. I always tell people, everything that we've done in the past prepares us for this point in time, right in the present. And as you said, you don't necessarily know that it's going to lead you here. But it feels like it's been kind of in the works, right?

RIAAN: Yes.

ADRIANA: Or maybe because it happened.

RIAAN: Yes. And if it feels good, do it. I liked your episode with Kelsey Hightower. I mean, he's also quite emotionally intelligent, and I would think quite a hyper aware individual to spot your podcast and ask the question. And, I mean, I really just am inspired by people. Like, I mean, well done, Kelsey. I mean, you've also inspired me. So hats off to you, mate.

ADRIANA: Thank you.

RIAAN: And I love your podcast and all the stuff you do. You're talking at HashiTalks now around the corner. Yeah, that's right.

ADRIANA: HashiTalks. Yeah. And you've got a talk as well, right, for Hashi talks?

RIAAN: Yes, I do. Everyone teaches you how to write Terraform code, but no one teaches you the scaffolding surrounding it, like dev containers, managing Terraform versions, scanning your code, doing the linting having environment, and everyone is like, oh, you must have micro repos. Mono repos is so bad. But this whole development lifecycle, just try to commit to three repositories with other maintainers and make prs and then wait and see how long you can get that code merged in. It is incredible. And so I'm going to give a talk a little bit about that to just help people get started and accelerate their Terraform development. So I'm looking quite forward to that.

ADRIANA: Oh, that's awesome. That sounds like such a great topic.

RIAAN: Yes. There's so much stuff that goes on behind the scenes that writing Terraform code is becoming the easy part.

ADRIANA: Yeah, it's funny because I think, like many things, getting started withTterraform is easy. And then when you actually go to apply it for real life scenarios or know, I think a year ago, I was doing some work in terraform, and I want to clean up my code, and I'm like, I want to use modules. And I had everything working without using modules. And then I go to use modules, I'm like, crap, it's broken. You go to prettify your code, and it's like, another roadblock. But this is the cost of beautiful code. But these are the things that you don't realize as you go and evolve your code, right?

RIAAN: Yes. And making your modules usable. So now you need to write modules and patterns. And I don't know if you've ever seen the Terraform EKS Blueprints repository. If you Google "Terraform EKS Blueprints", that is just such an amazing little project. So it's deploying EKS, but in there, they've got patterns and these patterns are just so well written. And if you look at the multitenancy with teams, one, I've used it at great success in my consulting gig last year.

And I just want to say, hats off to those maintainers and developers. They've really done a good job. And if you ever want to see how to write...what good looks like, that would certainly be the repository to visit.

ADRIANA: That's good to know. Thank you. Yeah, I just checked it out, as you mentioned, that it looks very well organized.

RIAAN: It's incredibly well organized. It's really incredibly well...and when you start using it, you will see, oh, wow, there's been a great deal of thought that went into this thing.

ADRIANA: Yeah, that's so cool. I always appreciate when folks put in that effort, especially in the open source world, because it's like extra work, right? And that someone was cared enough to just make it easily consumable for me is so nice.

RIAAN: It's so selfless and I appreciate that little bit of it. I always think that people who contribute to open source projects, their glass is really overflowing because you have your personal life. I mean, you have kids and a family and a career, and yet you can still...and some people when they open up tickets, they're like, this doesn't work. Fix it. Yeah. Oh my goodness. Okay. And then you have to be nice. And I mean, it's really like helping a parent with their Internet problems. Right?

ADRIANA: I know, right? Oh my God, so true. Yeah. And especially, as you said, the ticket is, "This doesn't work." And it's like, "Okay, can you tell me what isn't working?"

RIAAN: Sounds so funny. But I always think back, our parents taught us how to tie our shoes and not to be cringey or anything, but they taught us how to wipe our bums. And really they had to have this insane amount of patience with us and try and try and try again. And I was trying to remind myself, especially when I've got a kid now nine years old, before that, I was kind of oblivious to the fact. But now that you've got a kid, sometimes you just have to stand back and laugh at the situation because it's just so funny. This development thing takes time.

ADRIANA: Yeah, it's so true. That's a perfect way to describe it. Because when you have a kid, you're seeing your kid experience things for the first time, things that you take for granted, right? Like learning how to walk, learning how to crawl, or them, like when they're babies and they discovered that they have feet and they stick their feet in their mouths and you're like, oh, that is so cool, right? And these are things that you don't think about because it's like, yeah, I know where my feet are.

RIAAN: I forgot what it feels like. Or what it tastes like to have your big toe in your mouth.

ADRIANA: Right?

RIAAN: I don't know what a big toe tastes like anymore.

ADRIANA: Yeah.

RIAAN: But I love the open source thing and also try to make things easy and consumable for people. I think that's the ultimate goal.

ADRIANA: Yeah, absolutely. So much work goes into open source and I think I'm heavily involved with OpenTelemetry and I'm trying as a personal thing that I am trying to live by, which is like recently I was developing some content around OpenTelemetry and then I was going through the docs and realizing, oh, it's missing some stuff. And so I'd write a blog post about it to clarify it. But then I thought, well, that's nice, but it's missing stuff from the OpenTelemetry docs. Let's be a good citizen and contribute back to the OpenTelemetry docs, right? If there's something that you can contribute, even something so simple like documentation, clarifying documentation, I think it's so important if you're able to take the time and make that pull request to make somebody's life a little bit easier, right? Because oftentimes the developer docs for an open source project tend to be your first point...where...your one stop shop, hopefully...They're definitely your original landing point, right? So let's as a community try to make these docs better, right?

RIAAN: 100% agreed. 100% agreed.

ADRIANA: Now, I wanted to switch gears a little bit, but still on the Hashi train of thought, you are wearing a Core Contributor t-shirt for HashiCorp. I was wondering if you could explain what that's all about. Like what does a HashiCorp core contributor do and what led you to there?

RIAAN: I got this last year in the post and I was just so happy to get mean. The Credley page says, "HashiCorp core contributors are individuals who are committed to the spirit of open source. They actively contribute to HashiCorp open source tools through submissions of pull request issues and bugs and contributor to documentation while advocating and adhering to the HashiCorp principles." And I've done a few pull requests and I help test stuff. I contribute to bugs and if anything, I just validate it and say, I've run this, I've tested this, it does work, whatever. I've got this problem here. And that got me this t-shirt, and I was just incredibly thankful. HashiCorp is quite a stunning community, and the individuals that make up this, I mean, you know, from the Ambassadors, they're a fun bunch.

They...the you, they...the me, they...the other people in the community. And I do think that they've got a certain gravitas to attract these certain individuals, like looks for like, and I feel welcome there, and I like contributing there. And just because it's such a nice stack. I mean, Mitchell, Hashimoto and Armon Dadgar, they really made something really mean. I do know they went through this BUSL license change, but I mean, it was kind of expected, right? It's a company. It needs to make money. We live in a material world. We all need to make money.

I understand it. To me, just the logical evolution of this next step. But that said, the contribution that they've made to open source and to helping people like me learn and the stuff they give us for free is just incredible. So I'll be forever thankful for that.

ADRIANA: That's so cool. And I love that you're being rewarded for your contributions with this designation. I think it's so awesome.

RIAAN: I do appreciate it as well. I contributed such a small contribution, and still they recognized that, and I was just thankful and appreciative. It's beautiful. It feels good to get a little gift or something.

ADRIANA: Yeah, totally. It's nice to know that the community appreciates. And on the same vein, like you mentioned, you and I are both HashiCorp Ambassadors. And actually you're the one who nominated me initially for the HashiCorp Ambassadorship. So I definitely appreciate that.

RIAAN: You know, because I always say, like, I meet a lot of people in my work, and this is not to be bashful or anything, but a lot of people are...If you can imagine a heart monitor and you see a blip on that monitor and I see blips, and I think that those blips should be recognized and called out. I think we should be the type of person that say, wow, you look good today, or, this is inspirational. I read your blog post, and I was actually surprised when I saw that you wrote all of these blog posts using HashiQube. I was like, wow, this thing has been out in the wild. And this is the first time I see it, and I was blown away. I contacted you, I think, over Medium.

ADRIANA: Yeah, that's right.

RIAAN: Because you were not only using HashiQube, but also writing about it and using it in different ways. And I was incredible. And that's exactly why I nominated you because I think these type of people should be called out and should be celebrated. And you were certainly inspiring to me. And if you were inspiring to me, I bet you you're inspiring to many others out there. And that's the next wave of Ambassadors coming up in the world.

ADRIANA: Yeah, for sure. It's been a great program so far. I think I've been an Ambassador for two years. When did you become an Ambassador?

RIAAN: 2021.

ADRIANA: Oh, awesome.

RIAAN: So this year I'll be an Ambassador again. You have to put in the work and the street cred and stay active in the community and stuff. But while you can, you should. If you can.

ADRIANA: Yeah, absolutely. I put in an application again for this year, so fingers crossed I get it again. Fingers crossed. Yeah, it's been great through the Ambassadorship program. They invited me last fall to MC HashiTalks Deploy in December. So that was fun. That was so fun.

I'd never MCed before, so I was super nervous. But they were very organized. They're like, this is how it's going to go and this is the order. And here's a table of who the speaker is. You just need to fill out this stuff as prepare a script for yourself. So it was like, okay, because I was full on panicking when I agreed to become an MC. I'm like, okay, that'll be easy. And then there was like all this process.

I'm like, oh my God. It is very overwhelming.

RIAAN: But they do make it easy for you, but they do support you in pulling it off. Easy is definitely the wrong choice of words, but they do very much support you in getting this thing across the line. And then in the end you look back at it and you're like, wow, that was fun.

ADRIANA: Yeah, it was a great experience and I'm so grateful for the opportunity that I was afforded because of being an Ambassador. So it's nice to have these little things here and there.

RIAAN: I love it.

ADRIANA: Now, one thing that I wanted to ask...you're very involved in...you do a lot of Terraform work. Have you played around with the now competitor OpenTofu?

RIAAN: That's a good question. And no, I have not. I mean I did use Terragrunt before and I actually quite like Terragrunt. And to be honest with you, I don't think that that was nice to make OpenTofu. I'm an open source guy, man. I've been using Ubuntu Linux since 2008 and I started using RedHat in 2000, actually RedHat 6.2. And there's always a way to go about things. And I believe in having diplomacy. Someone created it.

And now you're kind of like taking ownership of this and you're taking it. And that's also against the spirit of open source. So I have not tried using OpenTofu. I actually cringe when I hear that name. Sorry to say it, I know what they did with OpenTofu. I mean, I did think about it. It's Open TF Tofu and whatever, but I won't be using it. I'm just so know, it just feels weird to me.

It just feels wrong to me. And so I like Terraform. And in the same breath, I also haven't tried Bicep from Azure. I'm a ashicle guy, I'm a terraform guy. So I have not delved into that. And I wish them luck on their journey and stuff. But when I see that name, it's just worthy to me. So I've unfortunately not tested it out or anything.

ADRIANA: Yeah, that's fair. That's fair. Now, going back to one thing that you mentioned earlier, which was Terragrunt. Can you explain to folks who aren't familiar with Terragrunt what that's all about?

RIAAN: I mean, I do like Terragrunt. Just touching on the topic. I wish that they could have just played nice because it could have really benefited this ecosystem so much more. And the companies...there is enough money in the world for everyone. Trust me, there's no reason why...there's enough money. There's billions and trillions and gazillions. So there's always an amicable way to do something.

But getting back to Terragrunt is very. I like what the Yevgeni Smirnoff did. You write your module? Everything driven through variables. And so your module should be completely flexible, very dynamic. And then what Terragrant is, is they add a Terragrunt HCL file and then you can make your folders names, variables. So you can imagine if you've got an environments folder and you've got Dev, Prod, UAT, Low, Production, whatever, Non-prod in there, you can turn this folder name into a variable. So you can then define this thing at the very top-level and benefit from this in your modules. So you can say module name and you can use module name in your tags.

So when you do apply this Terragrunt stack, these Terraforms, you can benefit from all of this modules that you define in the top and top down. So for those who's ever used Puppet and Hira, it's very similar to Hira. So in Hira, you've got a common file and this common file can be used down in your hierarchy. But let's say you want to overwrite a key name down in a couple of folders, let's say environment. Then you've got dev, and then in dev you've got your availability zones or your regions and then further down you've got availability zones that you stack support. And then lastly you've got your Terraform module and you just want to override a key on a module somewhere down you just overwrite this key. And so what, Terragrunt was quite nice as they defined everything in YAML, so you can have complete very complex YAML code structures that you can then pass to many, very many Terraform modules.

And these things all get executed in parallel. And so you can bring up complex infrastructure environments quite quickly. And because your code is DRY, your Terraform modules can be used many times over and you just pass parameters to it which is defined in your YAML files. And this is how Terragrunt comes about. It's actually beautiful the way they've done it. It's really nice. It becomes a little bit complex when you debug yourself because if you can imagine you've got ten Terraform threads now running all at once and if one breaks, the rest of them also stops and it's like quite an avalanche of output. But as far as if you get to use it and you use it properly, then you can accomplish quite a lot very quickly.

ADRIANA: Cool. And on a similar vein, maybe not so much Terragrunt, but in general for Terraform, how do you test Terraform code?

RIAAN: So my Terraform code, what I do is I have an examples directory or a patterns directory next to my modules. So if you can imagine I would have in my top gun Terraform developer environment I would have Terraform and then AWS, GCP and Azure and custom. And inside those I'd have modules folders and inside of those I'd have our Terraform modules. Then next to the modules folders I would have patterns and the pattern would be Linux server behind load balancer. And that Linux server behind load balancer would just be a main and a variables and outputs that then reference these modules with the source stanza inside of these modules. And then I just build them or I run them and I apply them. I normally just do a plan and I see if it works. But I do run them through an init and if I want to test it all at once, I actually drop a Terragrunt HCL file in there and I use "terragrant run" or "plan" to test all of these things.

I use Terraform in conjunction with this and then I plan all of these modules quite quickly. And if my plan works, I leave it out there and then I wait till I run into it again or someone needs an update or something. And then I look at this again.

ADRIANA: Cool, that's so awesome. Well, thanks for sharing. We are just about at time, but before we wrap up, I actually have two questions. One, what is your favorite HashiCorp tool?

RIAAN: My favorite HashiCorp tool would really be Terraform at the moment. There's a few. There's Vagrant. I love vagrant.

ADRIANA: Vagrant is great. I really love it. It was my first Hashi tool.

RIAAN: It's incredibly powerful. I mean, I really must take a shout out to vagrant. I mean, thank you, Mitchell and Armon for writing this thing. I use it every day, still. It's incredibly powerful. So I love Vagrant. I dig Terraform because that's my staple. I eat that thing every day for breakfast.

I love Nomad. I run Nomad jobs quite a lot. And so nomad is just so easy. You just drop it on a server and there could be still PHP and Apache sites running on there, but there's Nomad with containerized jobs and you can just migrate it and it's so cost effective and so easy to test it. And I've also liked Waypoint at the moment.

ADRIANA: Oh, Waypoint, yeah, I haven't played with Waypoint for a while. Yeah, I need to play with it. Because I think when I played with Waypoint, it was very early days and I can early days. I'm so curious to see how it's evolved since then.

RIAAN: It's got a lot of potential, and then Boundary is the next thing I really need to sink my teeth in and get a couple of examples into HashiQube. Just get people started and that's on my to do list to do. But yeah, there are so many.

ADRIANA: So many awesome tools.

RIAAN: You know what I mean? To pick a favorite. I mean, it's even difficult to pick a favorite cloud because all of these things just enable you to do stuff. So mean. GCP has got its way of working and Azure has got its way of working and AWS works in its ways, but they all help me on my day to day and I'm just so thankful we've got cloud computing. I mean, holy moly, can you imagine? Still back in the day.

ADRIANA: I know, right? Yeah, it's wild to see how much software has evolved in the last 20 years. Holy cow. Mind blowing.

RIAAN: Mind blowing coming from NT4 and A+ where I started with chips and RAM and stuff. I mean, it's incredible to see how it's evolved.

ADRIANA: I totally agree. I totally agree. I mean, there was no cloud when I started my career.

RIAAN: No, just think back fondly. I mean, I used to use Gentoo and compiling stuff and running my own postfix mail servers and pure FTP servers and. Oh my goodness. Incredible.

ADRIANA: And now look, the world is at our fingertips with cloud. That's pretty mind blowing. Well, before we wrap up, do you have any final words of wisdom for our audience?

RIAAN: Well, maybe if you want to check out hashicube. I always plug that little thing. It's just so incredible to see a little docker container running more docker containers.

ADRIANA: Oh my God, it's like mind blowing sometimes.

RIAAN: Just think back and how lucky I was to get that to work. It is just incredible. And so easy to POC stuff and get stuff up. So, I mean, if you want to check out HashiQube, if you want to learn or play around with, that's my DevOps lab from now on going forward. Yeah, so cool.

ADRIANA: It's a great lab.

RIAAN: And that's the only plug. And see you guys at HashiTalks in a couple of days.

ADRIANA: Yeah, totally. The other thing I want to mention on that same vein is I think you getting vVgrant to work with the Docker provider is probably one of the best running examples of Vagrant with the Docker provider, because I don't think there's a lot of documentation around that. So thank you for that. Hats off to you because, yeah, I think getting that to work, which you did, to be able to run HashiQube on the M processor, Macs, that's why you needed to get that running, right.

RIAAN: I so like it because it is just so light and if you do Vagrant SSH, it's very difficult to say you're in a Docker container now.

ADRIANA: Yeah, I know. You would never know. You would never know.

RIAAN: And it's incredible. I can really see things going that way. It's the way I do stuff at the moment. I no longer do VMS, so even when I run HashiQube on an EC2, or when I want to run Ansible AWX Tower on an ec two, I just HashiQube and "vagrant up".

ADRIANA: Yeah, it's the way to do it. I love it. Well, thank you so much.

RIAAN: Thank you for having me on your show. It's so good to see you. And shout out to your daughter, who I believe is doing your editing for your videos and job well done. I take my hat off. Thank you so much for your time and it's so good to see you again.

ADRIANA: Yeah, it was great to see you as well. And thank you, Riaan, for geeking out with me today. And y'all, don't forget to subscribe. Be sure to check the show notes for additional resources and to connect with us and our guests on social media. Until next time...

RIAAN: Peace out and geek out.

ADRIANA: Geeking Out is hosted and produced by me, Adriana Villela. I also compose and perform the theme music on my trusty clarinet. Geeking out is also produced by my daughter, Hannah Maxwell, who incidentally, designed all of the cool graphics. Be sure to follow us on all the socials by going going to bento.me/geekingout.