Added README to the repository
This commit is contained in:
parent
c53f808c18
commit
1a2e56267d
117
README.md
Normal file
117
README.md
Normal file
@ -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 <repo-url>
|
||||||
|
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 `<short-sha>` 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`.
|
||||||
@ -111,8 +111,7 @@ downstream fulfillment API.
|
|||||||
Kafka, Redis
|
Kafka, Redis
|
||||||
**DevOps:** Docker, Kubernetes, ArgoCD, CI/CD, IaC (AWS CDK,
|
**DevOps:** Docker, Kubernetes, ArgoCD, CI/CD, IaC (AWS CDK,
|
||||||
Ansible)
|
Ansible)
|
||||||
**Observability:** OpenTelemetry, Datadog, distributed tracing,
|
**Observability:** OpenTelemetry, Datadog, distributed tracing
|
||||||
ELK stack, Kibana
|
|
||||||
**AI Tooling:** GitHub Copilot (daily coding + code review),
|
**AI Tooling:** GitHub Copilot (daily coding + code review),
|
||||||
Gemini (documentation + research), Claude (architecture
|
Gemini (documentation + research), Claude (architecture
|
||||||
reasoning + coding), AWS Bedrock RAG (production)
|
reasoning + coding), AWS Bedrock RAG (production)
|
||||||
@ -147,11 +146,6 @@ Major: Electrical and Electronic Engineering
|
|||||||
Minor: Information Technology
|
Minor: Information Technology
|
||||||
Graduated: March 2023
|
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
|
## ADDITIONAL
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user