Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ederbrito.com.br

License: MIT Terraform Kubernetes OCI

Personal portfolio running on a self-managed Kubernetes cluster hosted entirely on Oracle Cloud Infrastructure's Always Free tier — no monthly infrastructure cost.

Live: ederbrito.com.br


What This Is

This repository contains the full source for my personal portfolio site and the infrastructure that runs it. It serves two purposes:

  1. A working portfolio — built with Next.js, featuring a blog, project showcase, photo gallery, and about page.
  2. An infrastructure template — a reproducible, zero-cost Kubernetes setup on OCI that others can fork and adapt.

Stack at a Glance

Layer Technology
Frontend Next.js 16, React 19, TypeScript, Once UI
Container Docker (multi-stage, node:24-alpine, non-root)
Orchestration Kubernetes 1.36 on OCI (Oracle Kubernetes Engine)
CNI / networking Cilium (exclusive) + Hubble
Ingress Cilium Gateway API
TLS cert-manager + Let's Encrypt
Observability Prometheus, Grafana, Loki, Alloy, cAdvisor, Node Exporter, Jaeger, Hubble
Infrastructure Terraform (OCI provider)
CI/CD GitHub Actions
Cloud Oracle Cloud Infrastructure — Always Free tier

Architecture Overview

Internet
    │
    ▼
OCI Load Balancer (free tier)
    │
    ▼
Cilium Gateway (Gateway API)
    │
    ├──▶ ederbrito.com.br            →  Next.js frontend (namespace: ederbrito)
    ├──▶ grafana.ederbrito.com.br    →  Grafana
    ├──▶ jaeger.ederbrito.com.br     →  Jaeger
    ├──▶ prometheus.ederbrito.com.br →  Prometheus
    ├──▶ loki.ederbrito.com.br       →  Loki
    └──▶ hubble.ederbrito.com.br     →  Hubble UI

OKE Cluster (2× VM.Standard.A1.Flex — ARM, 2 OCPUs / 12GB RAM each)
    Private subnet ← NAT Gateway → Internet

Terraform provisions the OCI infrastructure (VCN, OKE cluster, DNS). Cilium/Hubble, cert-manager, and Kubernetes manifests handle everything running inside the cluster.

Cost

The entire setup runs at $0/month using OCI's Always Free tier with an external DNS provider (e.g., Cloudflare). If using OCI DNS, the cost is ~$0.50/month for the DNS zone.

See the infrastructure README for a full breakdown.

Repository Layout

ederbrito.com.br/
├── AGENTS.md           # Short guide for AI coding tools
├── src/
│   └── frontend/       # Next.js application  →  see src/frontend/README.md
└── sre/
    ├── frontend/        # Kubernetes manifests for the frontend app
    ├── dashboards/      # Grafana JSON dashboards (manual import)
    └── common/          # Terraform (OCI infra) + platform/observability manifests
                         # →  see sre/README.md

Documentation

License

MIT — see LICENSE.

The frontend is based on Magic Portfolio (CC BY-NC 4.0). Attribution required; commercial use requires an Once UI Pro license.

Author

Éder Britoederbrito.com.br · GitHub

About

Open-source portfolio with fully automated CI/CD and infrastructure to deploy a website on OCI.

Resources

Stars

Watchers

Forks

Contributors

Languages