From 1a2e56267d00ed5dd99c242c8f08b0068248ba09 Mon Sep 17 00:00:00 2001 From: Nik Afiq Date: Wed, 18 Mar 2026 19:15:15 +0900 Subject: [PATCH] Added README to the repository --- README.md | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++ content/cv.md | 8 +--- 2 files changed, 118 insertions(+), 7 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..543ef81 --- /dev/null +++ b/README.md @@ -0,0 +1,117 @@ +# nik4nao — Personal Portfolio + +Personal portfolio site built with [Hugo](https://gohugo.io/) and the [terminal theme](https://github.com/panr/hugo-theme-terminal). Deployed as a containerised nginx image to a self-hosted Kubernetes cluster via Gitea Actions. + +Live at [nik4nao.com](https://nik4nao.com) + +--- + +## Structure + +``` +content/ + posts/ # Blog posts + projects/ # Project showcase pages + cv.md # CV / resume page +layouts/ + cv/single.html # CV page template with download link + projects/list.html # Projects index (card grid) + projects/single.html # Project detail page + index.html # Homepage +static/ + css/custom.css # Style overrides + cv/nik-afiq-cv.pdf # CV PDF (place manually) +themes/terminal/ # Git submodule +``` + +--- + +## Local development + +**Prerequisites:** Hugo extended, Git + +```bash +git clone --recurse-submodules +cd portfolio +hugo server -D +``` + +The site will be available at `http://localhost:1313`. + +--- + +## Adding content + +### Blog post + +```bash +hugo new content posts/my-post.md +``` + +### Project + +Create `content/projects/my-project.md` with this front matter: + +```yaml +--- +title: "Project Name" +description: "Short description shown on the projects index." +tags: ["go", "kubernetes", "docker"] +github: "https://github.com/nik/project" +url: "https://project.example.com" +--- + +Project body in Markdown... +``` + +No code changes required — the project will appear automatically on `/projects`. + +### CV + +Edit `content/cv.md` directly. The PDF download link points to `static/cv/nik-afiq-cv.pdf`; replace that file to update the downloadable version. + +--- + +## Build + +```bash +hugo --minify +# Output written to public/ +``` + +Or via Docker: + +```bash +docker build -t portfolio . +docker run -p 8080:80 portfolio +``` + +--- + +## CI/CD + +Gitea Actions pipeline at [.gitea/workflows/ci.yaml](.gitea/workflows/ci.yaml). + +| Event | Jobs | +|-------|------| +| Push to `main` | Build + push multiarch image (`linux/amd64`, `linux/arm64`), deploy to cluster | +| Pull request | Hugo build check only — no push, no deploy | + +Images are tagged `latest` and `` and pushed to `gitea.home.arpa/nik/portfolio`. + +Deployment rolls out `deployment/portfolio` in the `portfolio` namespace via SSH + kubectl. + +### Required secrets + +| Secret | Purpose | +|--------|---------| +| `CA_CERT` | Internal CA cert for the self-hosted registry | +| `REGISTRY_USER` | Gitea container registry username | +| `REGISTRY_PASSWORD` | Gitea container registry password | +| `SSH_PRIVATE_KEY` | SSH key for deploy host (`192.168.7.77`) | + +--- + +## Theme + +[panr/hugo-theme-terminal](https://github.com/panr/hugo-theme-terminal) — added as a git submodule at `themes/terminal`. Do not modify theme files directly; all overrides live in `layouts/` and `static/css/custom.css`. diff --git a/content/cv.md b/content/cv.md index 399ff14..b019d94 100644 --- a/content/cv.md +++ b/content/cv.md @@ -111,8 +111,7 @@ downstream fulfillment API. Kafka, Redis **DevOps:** Docker, Kubernetes, ArgoCD, CI/CD, IaC (AWS CDK, Ansible) -**Observability:** OpenTelemetry, Datadog, distributed tracing, - ELK stack, Kibana +**Observability:** OpenTelemetry, Datadog, distributed tracing **AI Tooling:** GitHub Copilot (daily coding + code review), Gemini (documentation + research), Claude (architecture reasoning + coding), AWS Bedrock RAG (production) @@ -147,11 +146,6 @@ Major: Electrical and Electronic Engineering Minor: Information Technology Graduated: March 2023 -*During a COVID-related leave of absence (2020–2021), independently -studied programming and cloud architecture; resumed with an -added IT minor upon return.* - - --- ## ADDITIONAL