As someone passionate about programming since childhood, I love dedicating part of my free time to exploring new languages, architectures, and fields within software development. In my repositories, you will find projects in various programming languages, proof-of-concept implementations, and configurations for continuous delivery.
I hope this can be a useful resource for working with and configuring projects in various programming languages or platform engineering tools. My repositories are intended to serve as a reference for anyone facing challenges while building with these technologies.
Additionally, collaboration is always welcome—whether through feedback, suggestions, or contributing new developments!
There is a repository dedicated to deploying some of the services on Kubernetes: Cluster Continuous Delivery.
This repository demonstrates how to implement a CI/CD pipeline using Dagger, GitHub Actions, and ArgoCD, utilizing KCL as a configuration and policy language. It provides an example of how to integrate and combine all these technologies, making it easier to understand their use in a global context.
-
Dagger simplifies the design of pipelines, enabling execution with any tool (Jenkins, GitHub Actions, Tekton, etc.) without requiring modifications or adaptations. You can even run them locally—yes, you can test them on your local machine! A program written in your favorite language abstracts away the tooling concerns, avoiding migration issues.
-
KCL replaces Helm/Kustomize, offering dynamic configurations (KCL Documentation). For example, changing the tag of your image in the deployment repositories becomes straightforward and doesn't rely on any specific framework.
Although I use GitHub Actions for my CI/CD, the repository includes a fully functional example of a Tekton pipeline without Dagger. The proposed solution generates Kubernetes manifests directly in YAML, allowing you to use any GitOps tool without issues or additional adaptations. Forget plugins—you won't need to adjust the tool to work with KCL!
This repository also contains all the infrastructure necessary for various projects to run on Kubernetes. It is deployed using Crossplane, and you'll find the required manifests and CRDs for each deployment.
This section highlights some of the proofs of concept I’ve developed to explore different architectures, frameworks, and use cases.
-
ERP System in Go
A proof of concept demonstrating how to implement an ERP system using Go. This project explores different architectures and frameworks within the Go ecosystem. -
Video Streaming with Apache Kafka
This proof of concept tackles the challenge of streaming videos from multiple sources continuously, ensuring reliable delivery. The solution includes three Python-based components:- Video Server: Splits videos into chunks and sends them to Apache Kafka.
- Consumer with MongoDB: Receives chunks and stores them as JSON documents in a MongoDB database, leveraging MongoDB's flexible design.
- Video Collector: Reconstructs a specific video from stored chunks and generates the requested video.
-
Java/Spring Boot
A proof of concept designed to experiment with different architectures and reactive programming styles. This project implements a simple Pokédex and includes instructions for running it locally. Additionally, it can be used to test the proposed CI/CD pipeline for a Java/Spring Boot project.
I have several repositories dedicated to observability in Kubernetes using OpenTelemetry:
- Observability with OpenTelemetry and ELK
- Observability with OpenTelemetry and OpenSearch
- Microservices Observability with OpenTelemetry Java Instrumentation
This repository provides a comprehensive guide on deploying Oracle Express on Ubuntu 22.04. It includes step-by-step instructions and configurations to ensure a smooth setup process.
- Repository: Oracle Express Ubuntu
- Highlights:
- Prepares your Ubuntu environment for Oracle Express.
- Covers common troubleshooting tips.
- Offers scripts for automating parts of the setup.
Whether you're exploring Oracle Express or need a reliable setup reference, this guide is designed to save time and effort.
One of my learning practices with KCL has been developing schemas to validate and generate docker-compose
manifests. You can use these schemas if you're deploying directly with Docker instead of Kubernetes and want to experiment with the language or use them as a foundation for generating and validating your docker-compose
files.