Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 25 additions & 16 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,35 @@ There are various ways in which you can contribute to this project such as `upda

When making any critical change to this repository, please first discuss the change you wish to make via issue, email, or any other method with the [owners](https://github.com/volcano-sh/dashboard/blob/main/OWNERS) of this repository before making a change.

## Getting Started

Make sure [`node.js`](https://nodejs.org/en/download) is installed on your system and we prefer [`visual-studio-code`](https://code.visualstudio.com/download) as IDE.
## Before You Get Started

### Prerequisites

Please follow the [guide](https://github.com/volcano-sh/volcano#quick-start-guide) to install volcano first.
To contribute to the volcano dashboard project, you need:

### Install volcano dashboard
- [`node.js`](https://nodejs.org/en/download) installed on your system
Copy link

Copilot AI Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The official name of the JavaScript runtime is "Node.js" (with capital N), not "node.js". This should be corrected for proper naming convention.

Suggested change
- [`node.js`](https://nodejs.org/en/download) installed on your system
- [`Node.js`](https://nodejs.org/en/download) installed on your system

Copilot uses AI. Check for mistakes.
- A running Kubernetes cluster with [Volcano](https://github.com/volcano-sh/volcano#quick-start-guide) installed
- Volcano dashboard deployed (see [Installation Guide](README.md#installation) in the main README)

Login one node of your kubernetes cluster and execute the following command to install volcano dashboard.
## Your First Contribution

```bash
kubectl create ns volcano-system
We are always in need of help, be it fixing documentation, reporting bugs, or writing code. Look at places where you feel best coding practices aren't followed, code refactoring is needed, or tests are missing.

kubectl apply -f https://raw.githubusercontent.com/volcano-sh/dashboard/main/deployment/volcano-dashboard.yaml
```
### Find Something to Work On

Then use the following command to map the traffic to node.
Check out the [issues](https://github.com/volcano-sh/dashboard/issues) in this repository. Issues labeled [good first issue](https://github.com/volcano-sh/dashboard/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) are great starting points for new contributors.

```bash
kubectl port-forward svc/volcano-dashboard 8080:80 -n volcano-system --address 0.0.0.0
```
### Work on an Issue
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added "File an Issue" section similar to volcano's contribute.md. (deb2d29)


Access the dashboard by navigate to `http://$YOUR_NODE_IP:8080` in your browser.
When you are willing to take on an issue, you can assign it to yourself. Just reply with `/assign` or `/assign @yourself` on an issue, and the robot will assign the issue to you.

If running locally navigate to `http://localhost:8080`
### File an Issue

While we encourage everyone to contribute code, it is also appreciated when someone reports an issue.

Please follow the prompted submission guidelines while opening an issue.

## Contributor Workflow

### Development

Expand Down Expand Up @@ -139,3 +141,10 @@ git commit --amend -s
```bash
git push origin <your-branch>
```

4. Create a pull request

Submit a pull request to the [volcano-sh/dashboard](https://github.com/volcano-sh/dashboard) repository. The PR should:
- Have a clear and descriptive title
- Include a detailed description of the changes
- Reference any related issues
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,39 @@ The volcano dashboard provides a basic dashboard that can be easily deployed in

You can follow the [design doc](docs/design.md) to learn more about the design details.

## Installation

### Prerequisites

Before installing the volcano dashboard, please ensure you have:
- A running Kubernetes cluster
- `kubectl` configured to access your cluster
- Volcano installed on your cluster (follow the [Volcano Quick Start Guide](https://github.com/volcano-sh/volcano#quick-start-guide))

### Install Volcano Dashboard

1. Create the volcano-system namespace (if it doesn't exist):

```bash
kubectl create ns volcano-system
```

2. Deploy the volcano dashboard:

```bash
kubectl apply -f https://raw.githubusercontent.com/volcano-sh/dashboard/main/deployment/volcano-dashboard.yaml
```

3. Access the dashboard by port-forwarding the service:

```bash
kubectl port-forward svc/volcano-dashboard 8080:80 -n volcano-system --address 0.0.0.0
Copy link

Copilot AI Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The kubectl port-forward example binds the dashboard service to 0.0.0.0, which exposes it on all network interfaces and, together with the remote access instructions below, can make the dashboard reachable to anyone who can reach that host and port. If the dashboard is not protected by strong authentication/authorization, this can lead to unauthorized access to cluster information or actions. Consider binding the port-forward to localhost only and requiring a secure channel (e.g., SSH tunnel or VPN) for remote access instead of exposing it on all interfaces.

Copilot uses AI. Check for mistakes.
```

4. Open your browser and navigate to:
- For local access: `http://localhost:8080`
- For remote access: `http://<NODE_IP>:8080` (replace `<NODE_IP>` with your Kubernetes node's IP address)

## Contributing

You can follow our [CONTRIBUTING.md](CONTRIBUTING.md).
Expand Down