Skip to main content

Posts

Featured: How Blogging Can Be A Powerful Form of Networking

 I was asked to write a post about...this blog! How and why I started it, and how it continues to help me. With a degree in Network Infrastructure, several certifications, but no real-world experience, I was “overqualified” for junior level roles straight out of college. Yet I still, simply put, couldn’t even begin to make a living in the field. This was 6 months after graduation, and 100s of applications and rejections in an allegedly ‘hot’ field. I had slipped through the cracks. Even though I’m in tech, I always wanted to be a writer when I was a kid. It occurred to me: what if I wrote about tech? I decided to put what I had learned to use and start my portfolio , to not only show employers what I learned, but also to remind myself what I could do. The beginning involved networking with any spare bit of technology I could find in my home - routers from previous ISPs, out of commission phones. Then it grew to tracking how telecom providers operated in my town, day jobs I...

I Attempted Terraform (OpenTofu) Remote and Imploded VS Code - Here’s How I Fixed It

9/20/2023: The open source version of Terraform is now  OpenTofu    Find a better formatted version of this post on my Notion . Photo by Susan Wilkinson on Unsplash What is Terraform Remote It can store state files of Terraform remotely. It’s used more when there are multiple developers working on one thing, so someone’s state isn’t totally overwritten. Similar to CircleCI or Jenkins. Why Did You Try It? To see if I could! What Did You Do? The code worked - It was my S3 bucket permissions that were a little off, and did not allow me to place anything in there unless I went into the GUI and did it myself - which is time intensive and defeats the purpose of this project a bit. What Happened Afterward? Uh, well, VS Code suddenly had a lot of issues with permissions - It seems to have imploded the executable on my machine. I couldn’t start it, (’The location of this file could not be found’), but it wasn’t in my list of programs to uninstall - It was a ghost program. C...

Packaging a Static Website with Dockerfile and pushing to DockerHub

 Want to read this with better formatting? Of course you do; Check out the page on Notion !   What's in the image? A simple static webpage I had created for fun a few months ago. I knew it would come in handy! What did I do? Used demo static webpage for testing. Created Dockerfile 💡 It should be Dockerfile, no extension. Dockerfile.Dockerfile is incorrect! Used nginx Alpine as server and the following code:  FROM scratch as static-site  WORKDIR /app  COPY . . [#to same directory] FROM nginx:1.16.0-alpine as server  COPY --from=static-site /app /usr/share/nginx/html  EXPOSE 80 [ #For web access] CMD [ "nginx", "-g", "daemon off;"]   From Mwiza Kumwenda (see resources below).   CMD [ "nginx" , "-g" , "daemon off;" ]       I wondered if I should use "start" in the CMD [ "nginx", "-g", "daemon off;"] list/tuple, but it worked to package the image without it  Actually, push...

Building a Dev Enviroment in Terraform in AWS (From More than Certified)

Want to see a better formatted version of this post? Check my Notion !   Created development environment using AWS and Terraform including a route table, internet gateway, security group, public subnet, and EC2 instance, using templates, provisioners, and key generation for remote access. NEW Concepts Learned aws_ami  A data segment instead of resource that pulls an owner number, filters by name (with  Userdata Made it a template file, it bootstaps the instance as well as installing the docker engine. AMI searcher in EC2 Console Going to search the AMI in the Instance Launcher, then returning to EC2 console to search it for the owner number and other info. ssh-keygen I used PuTTy for previous keys. Terraform’s homemade File function For relative file paths for shorter access The .tpl extension Makes templates that map to certain sections of the main code. Usually using ${ } , but that’s also very module-esque, I feel. Call it with templatefile() Provisioners ...

Using Dynamic Blocks in Terraform

9/20/2023: The open source version of Terraform is now  OpenTofu     Want to read it with nice formatting? Check out the Notion page. Continuing from the post about Modules , let's look at Dynamic Blocks. What are Dynamic Blocks? It's a way to construct dynamically repeatable nested blocks in Terraform code. Think about using for_each - This is often used to make individual resources with a value to iterate over. Is This a Dynamic Block? I’ve done something like this, but it involved the multiple function (*) and a stand-in variable ${var.ex} . network_interface_ids = ["${element(azurerm_network_interface.CA-NetInt.*.id, 01)}"] The index (01) was the number of network_interface_ids one would want. Was that unknowingly a dynamic block, or something else? By all means, comment what you think. Apparently, It Wasn’t resource "aws_elastic_beanstalk_environment" "tfenvtest" { name = "tf-test-name" application ...

Using Terraform and AWS Cloud9

Wanted to try Cloud9 but didn't feel like making an EC2 instance in the GUI. So I made a Terraform file instead, remade a default VPC, and it took 20 minutes of troubleshooting. #AWS — Morgan (@runtcpip) February 1, 2022 9/20/2023: The open source version of Terraform is now  OpenTofu     👉🏾 Find the Notion page of this post here , if it's easier for you. It certainly looks nicer!   Setup: An EC2 instance A reference to the default VPC, which I had to remake, as I had deleted mine.    Downloading Terraform into Cloud9: Instructions here . Done and Done. Now, How About Using It? The kicker (or blessing) is that Cloud9 doesn't auto save, like I’ve set my VSCode up to do. Had to do a lot of manual saving, but it wasn’t a struggle. The lock file is created, but I don't see it in my file system to the left until resources have been pushed, so I made a simple bucket to try it out. Because this instance is attached to my AWS account, I suppose anything I m...

I Visited Twitter Spaces for 30 Days - Here's How It Went

Want to share this page easily? Check out the Notion version. I'm a strong believer in the ability to self learn ( waves hand at blog ), educate, and apply the knowledge. I believe that's how someone should get a position. However, we live in a world where you have to be in as many faces as possible for the greatest chance at survival. So why not bite the bullet and improve? Especially when you don't technically have to be in someone's face. I Tried to Say Something in Each Room, without Talking Anyone's Ear Off...👂🏼 People really have a lot to say in Spaces. I try to be impactful and succinct over wordy, unless needed. The challenge came from entering a room too late; What if I repeat something? If I have, no one pointed it out besides maybe a "Oh yeah, X person had brought that up, that's a good point.". Other times, the rooms were not accepting new speakers, and the pressure was off. Phew! ...Except When I Hosted My Own 📣 I was the only...