RHBack to projectsOngoing · DevOps

Project · Research & thesis repository platform

Folionix

Cloud-Native DevOps & Platform Engineering

Folionix is a 5-service platform where students submit theses, supervisors review them and curators publish them to a searchable archive. The application is finished; what I am working on now is everything around it, starting with containers and CI/CD.

Originally built as the BAUET Project & Thesis Archive (CSE-3110), re-engineered as a cloud-native platform.

Ongoing project · Learning in public

I have just started my DevOps journey and I am in the learning phase. Folionix is where I practise what I learn, so I will work on it from time to time and tick off the steps below one by one.

01

Roadmap

What I will do, step by step. No fixed dates; each step is done when I have learned it and it works.

Progress1 / 6 steps done
  1. Step 1

    Application built & frozen

    Done
    • 5 services, 18 fictional institutions, role-based moderation
    • 300+ automated tests, Playwright end-to-end smoke tests
    • Tagged app-v1.1.1
  2. Step 2

    Containers & CI/CD

    Starting now
    • Multi-stage, non-root, multi-arch Dockerfiles + compose.yaml
    • PR pipeline: lint, test, build, Trivy scan, Playwright
    • Release pipeline: SBOM, cosign signing, push to GHCR, deploy PR
  3. Step 3

    Deploy to Kubernetes

    Up next
    • Run it on a small Kubernetes cluster and open a public demo
  4. Step 4

    Infrastructure as code

    Up next
    • Manage the cloud setup with Terraform
  5. Step 5

    Monitoring & reliability

    Up next
    • Metrics, logs and alerts, then practise breaking and fixing it
  6. Step 6

    Going further

    Up next
    • Security, scaling and other advanced topics, chosen when I get there
02

The pipeline I'm building

Press run to see what every change will go through, from pull request to a signed image deployed by ArgoCD.

Simulated run · preview

Pull request → checks → signed release → GitOps deploy.

  1. 1Lint & unit testsruff, eslint, pytest, vitestpr.yml
  2. 2Build imagesmulti-arch, multi-stage
  3. 3Trivy scanfail on critical CVEs
  4. 4Playwright smokeephemeral environment
  5. 5SBOMSyftrelease.yml
  6. 6Signcosign keyless (OIDC)
  7. 7Pushghcr.io/folionix/*
  8. 8Deploy PRbump tag in folionix/platform
  9. 9ArgoCD syncGitOps rollout to the cluster
03

What runs inside

The finished application: five services, each chosen to create a different kind of operations problem.

frontend

React · Vite · TypeScript

Static SPA served by nginx / CDN

core-api

Django 5.2 · DRF

Auth, submissions, moderation, presigned uploads, live progress (SSE)

worker

Celery 5

PDF pipeline: validate, thumbnail, extract text, summarise

search-svc

FastAPI · Meilisearch

Indexes approved work only; stateful workload

ai-svc

FastAPI · Ollama

Summaries from a small local model; can scale to zero

backing services

PostgreSQL 17Redis 7.4S3 / R2 storageMailpit

One thesis upload, end to end

  1. Browser
  2. core-api
  3. Object storage
  4. worker
  5. ai-svc
  6. Curator approves
  7. search-svc
04

Tools I'm learning through it

Only the first group is in use so far; the rest come with later steps.

Learning now (Step 2)

DockerGitHub ActionsTrivySyftcosignGHCR

Later steps

KubernetesHelmArgoCDTerraformAWSPrometheusGrafana
05

Who builds what

Application

folionix/app

React, Django and FastAPI services built with AI assistance and reviewed by me. Frozen at v1.1.1.

Platform

folionix/platform

Dockerfiles, CI/CD and, step by step, the infrastructure around it, written by me as I learn.

Both repositories are private for now and will be made public as the work progresses.