Homepage for Open Systems Lab - AI Infrastructure Consulting & Cloud Solutions
This website showcases Open Systems Lab's expertise in AI infrastructure consulting, Kubernetes, cloud solutions, and DevOps automation. Built with Hugo and the PaperMod theme for optimal performance and professional presentation.
- Static Site Generator: Hugo v0.148.2 (extended)
- Theme: PaperMod
- Deployment: Netlify with GitHub Actions
- Build Time: ~40ms (optimized)
- Hugo v0.148.2+ (extended version)
- Git
# Clone the repository
git clone https://github.com/opensystemslab/homepage.git
cd homepage
# Initialize theme submodule
git submodule update --init --recursive
# Start development server
hugo server --buildDrafts --buildFuture
Site will be available at http://localhost:1313
# Build optimized site
hugo --minify --environment production
The entire development, testing, and deployment process can be managed locally using our comprehensive Makefile:
# Show all available commands
make help
# Install dependencies and setup
make install
# Start development server
make dev # or make serve
# Run comprehensive local tests
make test
# Build for production
make build
# Clean build artifacts
make clean
ACT (Local GitHub Actions Testing): Test GitHub Actions workflows locally before pushing:
# Install ACT (macOS)
brew install act
# Run full test suite locally
make act-test
# Run security analysis locally
make act-security
# Run build-only tests
make act-test-build
# Run lint-only tests
make act-test-lint
# Dry run to see what would execute
make act-dry-run
Local Security Testing:
# Full security analysis
make act-security
# Secrets-only scanning
make act-security-secrets
# List all available ACT workflows
make act-list
# Watch for changes and auto-rebuild
make watch
# Build and serve production version locally
make preview
# Lint configuration and content
make lint
# Show site statistics
make stats
# Build site in Docker container
make docker-build
# Serve site using Docker
make docker-serve
Three automated workflows handle different aspects of the development pipeline:
1. Testing Workflow (.github/workflows/test.yml
)
- Triggers: Push to
master/main/develop
, pull requests, manual dispatch - Purpose: Comprehensive testing including Hugo builds, HTML validation, link checking
- Test Modes:
full
,build-only
,lint-only
- Local Testing: Fully compatible with ACT for local execution
2. Security Workflow (.github/workflows/security.yml
)
- Triggers: Push/PR to
master/main
, daily schedule (2 AM UTC), manual dispatch - Purpose: Vulnerability scanning, secret detection, security validation
- Tools: Trivy, GitLeaks, NPM Audit, custom security checks
- Integration: SARIF reports to GitHub Security tab
3. Deployment Workflow (.github/workflows/deploy.yml
)
- Triggers: Push to
master/main
, manual dispatch - Purpose: Production builds and Netlify deployment
- Features: Automatic deployment, pull request previews, rollback support
Required GitHub Secrets:
NETLIFY_AUTH_TOKEN # Your Netlify authentication token
NETLIFY_SITE_ID # Your Netlify site ID
Deployment Flow:
- Push to master → Triggers automated workflows
- Security scan → Vulnerability and secret detection
- Build & test → Hugo build with validation
- Deploy → Automatic Netlify deployment
- Notify → GitHub comments with deployment URLs
-
Netlify (Recommended):
- Connect GitHub repository
- Build command:
hugo --minify --environment production
- Publish directory:
public
-
Vercel: Zero-config deployment from GitHub
-
GitHub Pages: Enable Pages in repository settings
-
Custom CDN: Build locally and upload to your preferred CDN
flowchart TD
A[Local Development] --> B[make dev]
B --> C[Code Changes]
C --> D[make test]
D --> E{Tests Pass?}
E -->|No| C
E -->|Yes| F[make act-test]
F --> G{ACT Tests Pass?}
G -->|No| C
G -->|Yes| H[git commit & push]
flowchart TD
A[git push] --> B[Security Scan]
B --> C[Build & Test]
C --> D{All Checks Pass?}
D -->|No| E[Fix Issues]
E --> A
D -->|Yes| F[Deploy to Netlify]
F --> G[Update Live Site]
G --> H[Notify Team]
Local Quality Gates (via Makefile):
- Hugo configuration validation
- Development and production builds
- Content structure verification
- Local security scanning (with ACT)
Automated Quality Gates (via GitHub Actions):
- Comprehensive security scanning (Trivy, GitLeaks)
- HTML validation and link checking
- Performance analysis
- SARIF security reporting
- Local Testing First: Always run
make test
before committing - Security Validation: Use
make act-security
for security testing - ACT Integration: Test workflows locally with ACT before pushing
- Incremental Development: Use
make watch
for rapid iteration - Production Validation: Use
make preview
to test production builds locally
content/_index.md
- Homepagecontent/services.md
- Services overviewcontent/case-studies.md
- Project case studiescontent/about.md
- Company informationconfig.toml
- Hugo configurationnetlify.toml
- Netlify deployment settings
- Build Time: ~40ms
- Page Count: 11 pages
- Optimizations: Minified CSS/JS, caching headers, theme optimizations
For technical issues or content updates:
- Create GitHub issue
- Email: [email protected]