Exploring Dagger: Streamlining CI/CD Pipelines with Code – A Developer's Guide

This is the second post in a series of blog posts that look at Dagger from different perspectives. In this post we do a deep dive on how to leverage Dagger as a developer that is tasked with implementing the CI process of a Java-Gradle service. In this CI process we need to: build, run end to end tests with external dependencies and package the service. We will leave the CD part for a future blog post that looks at Dagger from the perspective of a Platform Engineer/SRE....

November 19, 2023 · 20 min · matipan

Exploring Dagger: Building a CI/CD pipeline for IaC

Dagger is a new tool that promises to fix the yaml and custom scripts mess that CI/CD currently is by building pipelines as code with one of the supported SDKs. I’m in the process of learning this tool, understanding where it may fall short and where it shines and I decided that sharing some of the exploration I do and the learnings it leaves me with would be useful. This is the first post in a series of blog posts that look at Dagger from different perspectives....

November 13, 2023 · 24 min · matipan

How services are provisioned, deployed and operated at Lemon Cash

Lemon Cash is a crypto startup based in Argentina that operates digital wallets, card payments and more. In this blog post I describe how we implemented a solution for provisioning, deploying and operating services that empowers developers to ship more quickly. This solution is not a fully fledged platform but it provides similar benefits by standing on top of strongly defined concepts and conventions. What we implemented only makes sense in the context in which the company was in, so I will start by explaining what that context was....

October 2, 2022 · 14 min · matipan

Writing a face detection function for OpenFaaS

There is a new term in town that has been making its way to all of us for a couple of years now: Serverless. When I first heard this I was kind of confused as to what it meant. Everybody seemed to have an opinion about it but there were no real answers. The following definition from serverless-stack helped me clarify a bit: Serverless computing (or serverless for short), is an execution model where the cloud provider is responsible for executing a piece of code by dynamically allocating the resources....

March 16, 2019 · 5 min · matipan

Deploying Gogs to a DigitalOcean Kubernetes cluster

In this post I will show step by step how to create a Kubernetes cluster on DigitalOcean and then deploy Gogs to the cluster using a set of tools that automate all this. Creating the Cluster Choosing the Cloud Provider I chose DigitalOcean as the cloud provider since it’s the cheapest I could find and it has worked really well for me in the past, plus I was already familiar with a few of their products....

September 16, 2018 · 7 min · matipan