Infra

Author: Jase Batchelor

image

 


This section provides a comprehensive overview of the setup for core infrastructure and software used across projects. The primary objective is to create a standardized environment that can be easily replicated on virtual machines for demos. The setup is divided into three major themes: Systems, Software, and CI/CD GitOps.

Systems

The infrastructure is built using Radxa single board computers (SBC) and can be replicated virtually using Lima virtual machines for demonstrations. The Radxa SBCs offer a reliable foundation for the system, while the Lima virtual machines provide a flexible and scalable environment for showcasing the setup.

Software

The base image for the setup is Debian (Bullseye) as of the time of writing. This choice ensures stability and compatibility. The software stack includes a common set of software development kits (SDKs), such as Rust, Java, and Kotlin, to support various programming languages and frameworks. Additionally, the setup incorporates security vulnerability scanning tools to ensure the system’s robustness and protect against potential threats. Load testing tools are also utilized to evaluate and optimize performance.

CI / CD, GitOps

The continuous integration (CI) process is facilitated by GitLab, a powerful platform that enables seamless collaboration and automation. It streamlines the development workflow by automating the integration and testing of code changes. On the other hand, continuous delivery/deployment (CD) is achieved using ArgoCD. This tool simplifies the deployment process by automating the deployment of applications to various environments.