Rebuild website — Headlamp plugin portfolio #2
+12
@@ -0,0 +1,12 @@
|
|||||||
|
_site/
|
||||||
|
.jekyll-cache/
|
||||||
|
.sass-cache/
|
||||||
|
.DS_Store
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
*~
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
*.pyc
|
||||||
|
__pycache__/
|
||||||
|
node_modules/
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
# Privileged Escalation
|
||||||
|
|
||||||
|
A comprehensive educational resource for understanding privilege escalation techniques, vulnerabilities, and defense strategies.
|
||||||
|
|
||||||
|
## About
|
||||||
|
|
||||||
|
Privileged Escalation is dedicated to helping security professionals, developers, and researchers understand how attackers gain elevated access to systems and how defenders can prevent it.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Documentation**: Comprehensive guides on privilege escalation techniques and defense strategies
|
||||||
|
- **Resources**: Community-contributed tools and utilities for testing vulnerabilities
|
||||||
|
- **Research**: Academic and practical research materials on system security
|
||||||
|
- **Community**: A collaborative community focused on responsible disclosure and ethical security practices
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
This site is built as a static website and is served via GitHub Pages. To build locally:
|
||||||
|
|
||||||
|
1. Ensure you have Ruby and Jekyll installed
|
||||||
|
2. Run `bundle install`
|
||||||
|
3. Run `bundle exec jekyll serve`
|
||||||
|
4. Navigate to `http://localhost:4000`
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
We welcome contributions from the security community. Please ensure all content follows responsible disclosure principles and ethical guidelines.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
See LICENSE file for details.
|
||||||
|
|
||||||
|
## Contact
|
||||||
|
|
||||||
|
For questions, suggestions, or to get involved, please open an issue or contact the maintainers.
|
||||||
+18
@@ -0,0 +1,18 @@
|
|||||||
|
title: Privileged Escalation
|
||||||
|
description: Open-source Headlamp plugins for Kubernetes
|
||||||
|
baseurl: ""
|
||||||
|
url: "https://privilegedescalation.com"
|
||||||
|
|
||||||
|
# Build settings
|
||||||
|
theme: null
|
||||||
|
markdown: kramdown
|
||||||
|
permalink: /:year/:month/:day/:title/
|
||||||
|
|
||||||
|
# Exclude certain files from processing
|
||||||
|
exclude:
|
||||||
|
- README.md
|
||||||
|
- .gitignore
|
||||||
|
- LICENSE
|
||||||
|
|
||||||
|
# GitHub Pages settings
|
||||||
|
github: [metadata]
|
||||||
+94
@@ -0,0 +1,94 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Privileged Escalation - Open-source Headlamp Plugins</title>
|
||||||
|
<link rel="stylesheet" href="style.css">
|
||||||
|
<meta name="description" content="Open-source Headlamp plugins for Kubernetes monitoring, security, and storage visibility.">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<nav class="navbar">
|
||||||
|
<div class="container">
|
||||||
|
<div class="logo-section">
|
||||||
|
<img src="privilegedescalation-logo.jpg" alt="Privileged Escalation Logo" class="logo">
|
||||||
|
<h1>Privileged Escalation</h1>
|
||||||
|
</div>
|
||||||
|
<ul class="nav-links">
|
||||||
|
<li><a href="#plugins">Plugins</a></li>
|
||||||
|
<li><a href="#about">About</a></li>
|
||||||
|
<li><a href="#footer">Contact</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<header class="hero">
|
||||||
|
<div class="container">
|
||||||
|
<img src="privilegedescalation-logo.jpg" alt="Privileged Escalation Logo" class="hero-logo">
|
||||||
|
<h2>Open-source Headlamp plugins for Kubernetes</h2>
|
||||||
|
<p>We extend Headlamp with plugins for monitoring, security, and storage visibility — built by Privileged Escalation.</p>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main>
|
||||||
|
<section id="plugins" class="section">
|
||||||
|
<div class="container">
|
||||||
|
<h2 class="section-title">Plugin Showcase</h2>
|
||||||
|
<p class="section-intro">All our plugins integrate directly into Headlamp, the extensible Kubernetes UI by the CNCF. Click any plugin to visit its repository.</p>
|
||||||
|
<div class="plugin-grid">
|
||||||
|
<div class="plugin-card">
|
||||||
|
<h3>headlamp-argocd-plugin</h3>
|
||||||
|
<p>ArgoCD visibility — monitors ArgoCD Applications, Rollouts, and health status directly from your Kubernetes cluster.</p>
|
||||||
|
<a href="https://git.farh.net/privilegedescalation/headlamp-argocd-plugin" class="plugin-link">View Repository</a>
|
||||||
|
</div>
|
||||||
|
<div class="plugin-card">
|
||||||
|
<h3>headlamp-polaris-plugin</h3>
|
||||||
|
<p>Fairwinds Polaris security and best-practices auditing — surface configuration issues and compliance gaps in your cluster.</p>
|
||||||
|
<a href="https://git.farh.net/privilegedescalation/headlamp-polaris-plugin" class="plugin-link">View Repository</a>
|
||||||
|
</div>
|
||||||
|
<div class="plugin-card">
|
||||||
|
<h3>headlamp-rook-plugin</h3>
|
||||||
|
<p>Rook-Ceph cluster visibility — monitors CephCluster health, pool status, and CSI driver metrics for your storage infrastructure.</p>
|
||||||
|
<a href="https://git.farh.net/privilegedescalation/headlamp-rook-plugin" class="plugin-link">View Repository</a>
|
||||||
|
</div>
|
||||||
|
<div class="plugin-card">
|
||||||
|
<h3>headlamp-kube-vip-plugin</h3>
|
||||||
|
<p>kube-vip virtual IP and load balancer visibility — track virtual IP allocations and load balancer endpoints across your clusters.</p>
|
||||||
|
<a href="https://git.farh.net/privilegedescalation/headlamp-kube-vip-plugin" class="plugin-link">View Repository</a>
|
||||||
|
</div>
|
||||||
|
<div class="plugin-card">
|
||||||
|
<h3>headlamp-sealed-secrets-plugin</h3>
|
||||||
|
<p>Bitnami Sealed Secrets management with client-side encryption — create and manage sealed secrets directly from the Headlamp UI.</p>
|
||||||
|
<a href="https://git.farh.net/privilegedescalation/headlamp-sealed-secrets-plugin" class="plugin-link">View Repository</a>
|
||||||
|
</div>
|
||||||
|
<div class="plugin-card">
|
||||||
|
<h3>headlamp-tns-csi-plugin</h3>
|
||||||
|
<p>TrueNAS CSI driver visibility and kbench storage benchmarking — monitor TrueNAS storage resources and run performance benchmarks.</p>
|
||||||
|
<a href="https://git.farh.net/privilegedescalation/headlamp-tns-csi-plugin" class="plugin-link">View Repository</a>
|
||||||
|
</div>
|
||||||
|
<div class="plugin-card">
|
||||||
|
<h3>headlamp-intel-gpu-plugin</h3>
|
||||||
|
<p>Intel GPU device visibility and resource monitoring — track GPU device status, utilization, and health across your GPU-enabled nodes.</p>
|
||||||
|
<a href="https://git.farh.net/privilegedescalation/headlamp-intel-gpu-plugin" class="plugin-link">View Repository</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="about" class="section alternate">
|
||||||
|
<div class="container">
|
||||||
|
<h2 class="section-title">About Privileged Escalation</h2>
|
||||||
|
<p>Privileged Escalation builds open-source plugins for <a href="https://headlamp.dev" target="_blank" rel="noopener">Headlamp</a>, the extensible Kubernetes UI hosted by the Cloud Native Computing Foundation (CNCF). Our plugins add visibility into monitoring, security, and storage tooling commonly deployed in Kubernetes environments.</p>
|
||||||
|
<p>All plugins are open-source and available on our <a href="https://git.farh.net/privilegedescalation/">Gitea organization</a>. Contributions are welcome.</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer">
|
||||||
|
<div class="container">
|
||||||
|
<p>© 2026 Privileged Escalation</p>
|
||||||
|
<p><a href="https://git.farh.net/privilegedescalation/" target="_blank" rel="noopener">Gitea Organization</a></p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,289 @@
|
|||||||
|
:root {
|
||||||
|
--primary-color: #1a73e8;
|
||||||
|
--secondary-color: #3d5a80;
|
||||||
|
--accent-color: #00a896;
|
||||||
|
--light-bg: #f8f9fa;
|
||||||
|
--text-color: #202124;
|
||||||
|
--border-color: #dadce0;
|
||||||
|
--card-bg: #ffffff;
|
||||||
|
--card-shadow: 0 1px 3px rgba(0,0,0,0.08);
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
scroll-behavior: smooth;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||||
|
line-height: 1.6;
|
||||||
|
color: var(--text-color);
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Navigation */
|
||||||
|
.navbar {
|
||||||
|
background-color: var(--primary-color);
|
||||||
|
color: white;
|
||||||
|
padding: 1rem 0;
|
||||||
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
|
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar .container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo-section {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
height: 50px;
|
||||||
|
width: auto;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar h1 {
|
||||||
|
font-size: 1.8rem;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-links {
|
||||||
|
display: flex;
|
||||||
|
list-style: none;
|
||||||
|
gap: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-links a {
|
||||||
|
color: white;
|
||||||
|
text-decoration: none;
|
||||||
|
transition: opacity 0.2s ease;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-links a:hover {
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hero Section */
|
||||||
|
.hero {
|
||||||
|
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
|
||||||
|
color: white;
|
||||||
|
padding: 80px 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-logo {
|
||||||
|
height: 80px;
|
||||||
|
width: auto;
|
||||||
|
border-radius: 8px;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero h2 {
|
||||||
|
font-size: 2.2rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero p {
|
||||||
|
font-size: 1.15rem;
|
||||||
|
opacity: 0.95;
|
||||||
|
max-width: 600px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sections */
|
||||||
|
.section {
|
||||||
|
padding: 60px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-title {
|
||||||
|
font-size: 2rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
color: var(--primary-color);
|
||||||
|
border-bottom: 3px solid var(--accent-color);
|
||||||
|
padding-bottom: 0.5rem;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-intro {
|
||||||
|
font-size: 1.05rem;
|
||||||
|
margin-bottom: 2.5rem;
|
||||||
|
color: #5f6368;
|
||||||
|
max-width: 700px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section p {
|
||||||
|
font-size: 1rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
line-height: 1.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section a {
|
||||||
|
color: var(--primary-color);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alternate {
|
||||||
|
background-color: var(--light-bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Plugin Grid */
|
||||||
|
.plugin-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
|
||||||
|
gap: 1.5rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plugin-card {
|
||||||
|
background: var(--card-bg);
|
||||||
|
padding: 1.75rem;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid var(--border-color);
|
||||||
|
box-shadow: var(--card-shadow);
|
||||||
|
transition: box-shadow 0.2s ease, transform 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plugin-card:hover {
|
||||||
|
box-shadow: 0 4px 12px rgba(0,0,0,0.12);
|
||||||
|
transform: translateY(-2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.plugin-card h3 {
|
||||||
|
color: var(--primary-color);
|
||||||
|
margin-bottom: 0.75rem;
|
||||||
|
font-size: 1.15rem;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plugin-card p {
|
||||||
|
font-size: 0.95rem;
|
||||||
|
color: #5f6368;
|
||||||
|
line-height: 1.6;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plugin-link {
|
||||||
|
display: inline-block;
|
||||||
|
color: var(--accent-color);
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plugin-link:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Footer */
|
||||||
|
footer {
|
||||||
|
background-color: var(--secondary-color);
|
||||||
|
color: white;
|
||||||
|
text-align: center;
|
||||||
|
padding: 2rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer p {
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer a {
|
||||||
|
color: white;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Responsive Design */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.navbar .container {
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-links {
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 1rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero {
|
||||||
|
padding: 60px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero h2 {
|
||||||
|
font-size: 1.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero p {
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-title {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plugin-grid {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo-section {
|
||||||
|
flex-direction: column;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar h1 {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-logo {
|
||||||
|
height: 60px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 480px) {
|
||||||
|
.hero {
|
||||||
|
padding: 40px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section {
|
||||||
|
padding: 40px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero h2 {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-logo {
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user