Welcome
Welcome to Kubernetes Dashboard! We’re excited about the prospect of you joining our community. The Kubernetes community abides by the CNCF code of conduct:As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
Getting Started
Before contributing, familiarize yourself with the project:Project Documentation
Read the project documentation
Kubernetes Dashboard Guide
Official Kubernetes documentation
Required Reading
Before contributing, please review:Contributor License Agreement
Kubernetes projects require that you sign a Contributor License Agreement (CLA) before we can accept your pull requests.Sign the CLA
Review and sign the Contributor License Agreement
Contributor Guides
Kubernetes Contributor Guide
Main contributor documentation
Contributor Cheat Sheet
Common resources for developers
Contribution Workflow
1. Submit an Issue
Before starting work:- Search existing issues to avoid duplicates
- Create a new issue describing your proposed change
- Wait for feedback from maintainers
For bug reports, include steps to reproduce, expected behavior, and actual behavior.
2. Fork and Clone
Once your proposal is approved:3. Create a Branch
Create a feature branch for your changes:4. Make Changes
Make your changes following the project’s code conventions:Go Code Conventions
- Follow Effective Go guidelines
- Code quality is monitored via Go Report Card
- Run
go mod tidyto clean up dependencies
Angular Code Conventions
- Follow Angular Style Guide
- Follow Material Design Guidelines
5. Test Your Changes
Before submitting, ensure all tests pass:6. Commit Your Changes
Write clear, descriptive commit messages:- Use present tense (“Add feature” not “Added feature”)
- Use imperative mood (“Move cursor to…” not “Moves cursor to…”)
- Limit first line to 72 characters
- Reference issues and pull requests liberally
7. Push and Create Pull Request
Pull Request Process
Review Process
All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. What to expect:- Automated checks run on your PR
- Maintainers review your code
- Feedback is provided for improvements
- Approval required before merging
Pre-Submission Checklist
Before submitting your PR, ensure:- All tests pass locally (
make test) - All checks pass locally (
make check) - Code follows project conventions
- License headers are present (
make check-license) - Commit messages are clear and descriptive
- PR description explains the change
- Issue is referenced in PR description
Required Checks
Your PR must pass the following automated checks:Unit Tests
Unit Tests
All unit tests must pass across all modules.Run locally:
Linting
Linting
Code must pass all linting checks:
- golangci-lint for Go
- eslint for TypeScript/JavaScript
- stylelint for CSS/SCSS
- prettier for formatting
License Headers
License Headers
All source files must have proper license headers.Check locally:Fix automatically:
Build Verification
Build Verification
The project must build successfully.Run locally:
Development Best Practices
Dependency Management
Go Dependencies
- Use only official releases
- Avoid using specific commits or
latest - Run
go mod tidybefore committing - Dependencies are managed with go mod
JavaScript Dependencies
- Use Yarn for package management
- Update
package.jsonand commityarn.lock - Avoid suspicious or unknown dependencies
Security
- Never commit sensitive information (credentials, tokens, etc.)
- Keep dependencies updated
- Follow security best practices
- Report security issues privately to maintainers
Code Quality Tools
The project uses several tools to maintain code quality:| Tool | Purpose | Documentation |
|---|---|---|
| golangci-lint | Go linting | golangci-lint |
| eslint | JS/TS linting | eslint |
| stylelint | CSS/SCSS linting | stylelint |
| prettier | Code formatting | prettier |
Communication Channels
Get in touch with the community:Slack Channel
Join #sig-ui on Kubernetes Slack
Mailing List
Subscribe to kubernetes-sig-ui mailing list
Mentorship
New to Kubernetes or open source?Mentoring Initiatives
We have diverse mentorship programs available that are always looking for volunteers!
Release Process
The project follows semver versioning scheme.Module Releases
Each module has its own releases:api/v1.0.0web/v2.4.5auth/v1.2.3- etc.
Application Releases
Application releases are created via Helm chart updates:- Tag format:
v3.0.0 - Includes detailed release notes
- Includes compatibility matrix
- Includes upgrade instructions
Making Your First Contribution
Look for issues labeledgood first issue or help wanted:
Don’t hesitate to ask questions! The community is here to help.
Next Steps
Getting Started
Set up your development environment
Testing
Learn how to run tests