Serverless Framework

Intro I have been exploring serverless platforms in various guises for some time now. This post is about the serverless framework. I recently came across it as part of my day job and it’s good enough and simple enough that I thought I’d write about it. What is it Serverless framework The serverless framework is a way to deploy serverless functions on AWS. This means a couple of things: Serverless only...

June 24, 2023 · 8 min · codecowboy.io

Signed Commits in Github

Intro I have been working on an open source project called Project Tetsuo. Part of getting serious about it is doing some of the scaffolding that open source projects have. In this post, I’ll talk about working through the process of making signed commits to my codebase. Why Essentially a signed commit is a commit that has been cryptographically signed and validated. This is a good thing to do. It gives people confidence that the commit has come from an authenticated source....

March 2, 2023 · 6 min · codecowboy.io

Tetsuo - a serverless platform

Intro I have been exploring serverless platforms in various guises for some time now. I won’t name any names, but I’ve played around with most of the various major platforms. The common thing that I noticed when using other platforms was that I needed to either wrap my code in a vendor specific DSL or language, or that I needed to import libraries from the vendor. As a developer, that didn’t really float my boat and, was difficult to get up and running as existing code needed to be refactored and so on....

January 9, 2023 · 4 min · codecowboy.io

Security in my pipeline - why and how

Intro I’ve been doing a lot recently with what is known in the industry as “shifting left” with security. Essentially this is the concept of moving security related checks closer to the beginning (or the left) of the software development lifecycle. As I’ve been doing some of this with work, it has raised a number of questions for me personally about moving security checks earlier in the software development lifecycle....

December 16, 2022 · 7 min · codecowboy.io

Buildkite and Pulumi

Intro I’ve been doing a bit of work recently with different CI tools. One of the ones that I’ve been using is buildkite. You can find out more about buildkite buildkite.com Infrastructure In order to use buildkite, I need to stand up a buildkite agent, or a runner. In builtkite terms its called an agent. I am going to stand up all of my infrastructure using Infrastructure as Code (IaC). My chosen IaC framework is pulumi....

October 28, 2022 · 9 min · codecowboy.io

Everything is a file

Intro I’ve been programming in C on unix for a long time - too long in fact. I was reminded recently by someone that everything is a file in Linux / Unix. Tip I am going to use the term Linux to cover off both Unix and Linux from here on I thought that I would write about this with some code examples, and given I’m currently working for a security company, I thought it would be useful to point out how to use this functionality for evil rather than good from a security perspective....

October 23, 2022 · 5 min · codecowboy.io

Code first api development

Intro I recently had a discussion with a friend about what was better with regards to creating API’s. Design First or Code First. The approaches are radically different. We debated back and forth a bit, and I decided what better way to figure this out than to do two four hour sprints and write about the results. This post is about the first sprint that I did which was the Code First approach....

July 22, 2022 · 11 min · codecowboy.io

Follow the white rabbit - Monitoring the network of a single process

Intro I was recently challenged with the single task of being able to monitor all connectivity in and out of a process. At first thought this is actually fairly easy. “I’ll just use tcpdump” I thought to myself. That single sentence lead me down a rabbit hole of processes, namespaces and the linux kernel. I thought that I would share my experiences of how to do this. Why do this at all?...

June 23, 2022 · 9 min · codecowboy.io

Mermaid and Hugo - a tale of submodules and subtrees

Intro I have decided to investigate the difference and strengths and weaknesses of using subtrees versus submodules in git. Both have pros and cons, and in this post I explore them both. What prompted this? Recently I decided to update my hugo instance to use mermaid. Mermaid is a library that allows you to embed diagrams in markdown. This means that I can create diagrams simply by using markdown. My hugo theme, was installed as a git submodule....

April 3, 2022 · 11 min · codecowboy.io

Libp2p experiments with NGINX Unit

Intro I recently picked up libp2p again. It’s a project that I’ve been checking in on for a number of years, and decided to check it again recently. The difference is that this time I had a use for it! You can find out more about libp2p here What is it? Libp2p is a peer to peer library for a multitude of languages. It provides a modular networking stack that you can use in your projects....

December 30, 2021 · 17 min · codecowboy.io