Personal Site
Overview
Personal Site adalah project website yang ditujukan untuk menampilkan profil
profesional, Curriculum Vitae, portofolio, serta artikel mengenai teknologi
informasi dan manajemen.
Project ini dibangun sebagai static site menggunakan Hugo dan di-host
menggunakan NGINX container. Pendekatan ini menghasilkan website yang cepat,
ringan, mudah dipelihara, serta dapat dibangun dan di-deploy secara konsisten.
Project Objectives
- Menyediakan sumber informasi utama mengenai profil profesional pemilik situs.
- Mempublikasikan artikel IT, infrastructure, DevOps, dan manajemen.
- Menampilkan pengalaman, kompetensi, dan portofolio secara terstruktur.
- Menyediakan website statis yang cepat, ringan, dan mudah dipelihara.
- Menerapkan software delivery lifecycle yang dapat direproduksi.
Scope
| Area |
Scope |
| Content |
Menampilkan profil profesional, Curriculum Vitae, portofolio, serta artikel mengenai teknologi informasi dan manajemen. |
| Audience |
Menyediakan informasi profesional yang dapat diakses oleh pembaca publik melalui website. |
| Website delivery |
Menghasilkan static website yang cepat, ringan, dan mudah dipelihara. |
| Publishing |
Mendukung proses build dan deployment otomatis agar perubahan konten dapat dipublikasikan secara konsisten dan dapat direproduksi. |
| Runtime |
Menjalankan website menggunakan container-based web runtime untuk melayani konten statis. |
| Exclusion |
Tidak mencakup authentication, user-generated content, transactional feature, database application, maupun dynamic backend service. |
Technology Stack
| Layer |
Technology |
Responsibility |
| Static Site Generator |
Hugo Extended |
Menghasilkan HTML dan static assets |
| Source Control |
Git dan Gitea |
Menyimpan source code dan pipeline definition |
| Automation |
Jenkins |
Menjalankan pipeline CI dan CD |
| Container Runtime |
Rootless Podman |
Menjalankan build tools dan web runtime |
| Artifact Storage |
MinIO |
Menyimpan immutable CI artifact |
| Web Server |
NGINX |
Melayani HTTP request untuk konten statis |
| Documentation |
MkDocs |
Menerbitkan dokumentasi engineering project |
Current Status
| Capability |
Status |
| Hugo development workflow |
Implemented |
| Continuous Integration |
Implemented and verified |
| Artifact publication to MinIO |
Implemented and verified |
| Continuous Deployment |
Implemented and verified |
| NGINX runtime on Podman |
Running |
| HTTP endpoint |
Accessible and verified |
| Infrastructure provisioning with Ansible |
Planned |
Documentation Structure
| Section |
Purpose |
| Architecture |
Menjelaskan desain dan hubungan antarkomponen |
| Development |
Menjelaskan workflow pengembangan Hugo |
| Infrastructure |
Mendefinisikan platform dan runtime prerequisites |
| CI/CD |
Menjelaskan pipeline yang berlaku saat ini |
| Operations |
Menjelaskan aktivitas operasional runtime |
| Troubleshooting |
Menyediakan panduan diagnosis dan penyelesaian masalah |
| Engineering Journal |
Menyimpan histori perencanaan dan implementasi |
| References |
Mengumpulkan ADR, repository, dan referensi terkait |
Documentation Model
Engineering activity
β
Engineering Journal βββ Architecture Decision Records
β
Review and consolidation
β
Current-state project documentation
Engineering Journal mempertahankan konteks historis. Halaman Architecture,
Development, Infrastructure, CI/CD, Operations, dan Troubleshooting menjelaskan
kondisi serta prosedur yang berlaku saat ini.
Success Criteria
- Source Hugo dapat dikembangkan dan diuji secara lokal.
- CI menghasilkan
public/index.html dan artifact yang dapat ditelusuri.
- Artifact tersimpan pada MinIO dan tidak dibangun ulang saat CD.
- CD mengisi
www-personal-site dan menjalankan personal-site-web.
- NGINX mengakses konten statis melalui read-only volume mount.
- Healthcheck container dan HTTP endpoint memberikan hasil sukses.