Skip to content

Kubernetes Dashboard with Trivy

Level:Beginner
Time:60-90 min
Cost:low
Works locally:Yes
Cloud creds:No
Cleanup:Yes
Reviewed:2026-05-30
Validation:node --check app.js && python3 -m py_compile systeminfo.py

Local dashboard concept integrated with Trivy and health data.

Outcome Local output screenshot plus cleanup proof
Tools used Node.js, Python, Kubernetes, Trivy
Best fit Beginner - 60-90 min
Student workstation Repository files Lab steps Local workstation Validation proof
  • Install or review: Node.js, Python, Kubernetes, Trivy.
  • No cloud provider credentials are required by the project metadata.
  • This project can be practiced locally before you publish portfolio evidence.
  • Open the safety guide before running commands that create infrastructure.
Cost and credential stance

Cost risk is low. Cloud target: no cloud provider. Cloud credentials needed: No. Always use your own account, never commit secrets, and confirm cleanup before creating paid infrastructure.

Use this flow before you run commands:

  1. Read the cost and credential warning above.
  2. Review the validation, troubleshooting, cleanup, and portfolio proof sections below.
  3. Follow the original project guide preserved near the bottom of this page.
  4. Return to the validation and cleanup checks before you capture portfolio evidence.

Run the project validation command before and after meaningful changes:

Terminal window
node --check app.js && python3 -m py_compile systeminfo.py
  • Run node --check app.js && python3 -m py_compile systeminfo.py first so local tooling issues are visible early.
  • If a command fails, check tool versions, working directory, and required environment variables.

Cleanup is available or expected for this lab. Use the cleanup or destroy steps in the guide below, then confirm that local clusters, containers, cloud resources, buckets, state files, and CI secrets are no longer active.

  • Validation command output: node --check app.js && python3 -m py_compile systeminfo.py
  • Screenshot or terminal proof: Local output screenshot plus cleanup proof
  • Notes explaining what changed, what failed, and how you fixed it
  • Cleanup evidence, especially for cloud or Kubernetes resources

The original README content is preserved here for lab-specific commands and context. Headings are intentionally demoted so the page outline stays focused on the standard lab flow.

External image reference Kubernetes
A kubernetes dashboard integrated with health checks, trivy scanning and health checks for pods
Section titled “A kubernetes dashboard integrated with health checks, trivy scanning and health checks for pods”

Kubernetes Dashboard Web Application Welcome to the Kubernetes Dashboard Web Application repository! This web application is designed to provide users with insights and information about their Kubernetes clusters, along with the ability to scan Docker images using Trivy.

The Kubernetes Dashboard Web Application is built with a combination of HTML, CSS, JavaScript, and Python. It offers a user-friendly interface to monitor system metrics, Kubernetes resources, and perform image scans.

🛡️ 2026 DevSecOps Enhancements (What You Will Learn)
Section titled “🛡️ 2026 DevSecOps Enhancements (What You Will Learn)”

While this project provides a custom Kubernetes dashboard integrated with Trivy, 2026 DevSecOps standards mandate strict controls around administrative interfaces:

  1. Secure Exposure (Zero Trust): Custom dashboards that interact with the Kubernetes API must never be exposed publicly via a standard LoadBalancer or NodePort. In a DevSecOps environment, this dashboard should be deployed behind an Identity-Aware Proxy (IAP) or accessed exclusively via secure kubectl port-forward or an internal VPN.
  2. RBAC Constriction: The Python backend interacts with the Kubernetes API. The Service Account executing this pod must be tightly restricted using Role-Based Access Control (RBAC), granting only watch and list permissions, actively preventing any create or delete operations even if the dashboard is compromised.

System Metrics: The upper section of the dashboard displays the current usage of storage, memory, and CPU resources, giving users a quick overview of the system’s health.

Kubernetes Status: In the lower section of the dashboard, users can select a Kubernetes namespace from a dropdown. The dashboard then provides information about the number of deployments, services, and pods within the selected namespace.

Trivy Image Scanning: The application also integrates the Trivy scanning feature. Users can input an image ID, initiate a scan, and view the generated scan report. This helps identify vulnerabilities and potential security risks in Docker images.

How to Use Clone the Repository: Start by cloning this repository to your local machine using the following command:

git clone https://github.com/NotHarshhaa/kubernetes-dashboard.git

Frontend and Backend Setup: The frontend of the application is built with HTML, CSS, and JavaScript, while the backend is developed using Flask (Python). Ensure that you have the required dependencies installed.

Running the Application: Start the Flask server to serve the backend of the application. Access the dashboard through your browser by navigating to http://localhost:5000 or the appropriate address based on your setup.

Monitoring System Metrics: The top section of the dashboard displays the current storage, memory, and CPU utilization. These metrics provide insights into the system’s performance.

Kubernetes Status: Select a namespace from the dropdown in the lower section to view the number of deployments, services, and pods associated with that namespace.

Image Scanning with Trivy: Use the image scanning feature to input an image ID and trigger a scan. The scan report will highlight vulnerabilities detected in the image.

Technologies Used Frontend: HTML, CSS, JavaScript

Backend: Python Flask

Kubernetes API: Python Kubernetes Client

Security Scanning: Trivy

If you are planning to use this repo for learning, please hit the star. Thanks!

Use the guide first.

The full learning flow stays on this page. Open GitHub only when a step asks you to inspect code, fork the lab, or download source assets.