Skip to content

Commit 163516f

Browse files
committed
Merge branch 'main' into feature/add-appearance-configuration-per-cluster-rebased
1 parent 643d2fe commit 163516f

File tree

230 files changed

+6696
-8585
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

230 files changed

+6696
-8585
lines changed

.github/workflows/helm-chart-release.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,9 @@ jobs:
8080

8181
- name: Push Charts to GHCR
8282
run: |
83-
for pkg in .cr-release-packages/*; do
83+
for pkg in .cr-release-packages/*.tgz; do
8484
if [ -z "${pkg:-}" ]; then
8585
break
8686
fi
87-
8887
helm push "${pkg}" oci://ghcr.io/${{ github.repository }}/charts
8988
done

CONTRIBUTING.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,74 @@ Since Headlamp is part of the Kubernetes Community, please read also:
1717
- [Contributor License Agreement](https://git.k8s.io/community/CLA.md) Kubernetes projects require that you sign a Contributor License Agreement (CLA) before we can accept your pull requests
1818
- [Kubernetes Contributor Guide](https://git.k8s.io/community/contributors/guide) - Main contributor documentation, or you can just jump directly to the [contributing section](https://git.k8s.io/community/contributors/guide#contributing)
1919
- [Contributor Cheat Sheet](https://git.k8s.io/community/contributors/guide/contributor-cheatsheet/README.md) - Common resources for existing developers
20+
21+
## Local Development Setup
22+
23+
Ready to run Headlamp locally? Here's the full setup from scratch.
24+
25+
### Prerequisites
26+
27+
Make sure you have Node.js (>= 20.11.1 with npm >= 10.0.0) and Go installed before starting; see the development dependencies for the full list.
28+
29+
### Build and Run
30+
31+
1. **Install root dependencies**
32+
33+
```bash
34+
npm install
35+
```
36+
37+
2. **Build the backend** (requires Go)
38+
39+
```bash
40+
npm run backend:build
41+
```
42+
43+
3. **Install frontend dependencies**
44+
45+
```bash
46+
cd frontend
47+
npm install
48+
cd ..
49+
```
50+
51+
4. **Start the application**
52+
53+
```bash
54+
npm start
55+
```
56+
57+
That's it—you should now have Headlamp running locally.
58+
59+
### Apple Silicon (ARM64)
60+
61+
If you're developing on an M1/M2/M3 Mac and want to use Minikube, you'll need a driver that supports ARM64. Two good options:
62+
63+
- **docker** – uses the Docker runtime
64+
- **vfkit** – a lightweight hypervisor for macOS
65+
66+
Example commands:
67+
68+
```bash
69+
minikube start --driver=docker
70+
```
71+
72+
or
73+
74+
```bash
75+
minikube start --driver=vfkit
76+
```
77+
78+
> **Note:** VirtualBox does not support ARM64. Avoid `--driver=virtualbox` on Apple Silicon.
79+
80+
### macOS Gatekeeper / Security Warning
81+
82+
When you first launch the Headlamp app on macOS, you might see a warning that the app is "damaged" or can't be opened. This is due to Gatekeeper's quarantine flag.
83+
84+
Run the following command using the actual path to your .app file:
85+
86+
```bash
87+
xattr -cr /path/to/Headlamp.app
88+
```
89+
90+
Then try opening the app again.

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,14 @@ permissions, you may not be able to view your cluster resources correctly.
6969

7070
See the documentation on [how to easily get a Service Account token](https://headlamp.dev/docs/latest/installation#create-a-service-account-token) for your cluster.
7171

72+
## Quick Start for Contributors
73+
74+
Want to hack on Headlamp? We'd love your help!
75+
76+
Check out the [Contributing Guidelines](./CONTRIBUTING.md) for detailed instructions on setting up your local development environment, building the project, and platform-specific tips (including Apple Silicon and macOS).
77+
78+
For more in-depth development docs, see the [Development Guide](https://headlamp.dev/docs/latest/development/).
79+
7280
## Tested platforms
7381

7482
We maintain a list of the [Kubernetes platforms](./docs/platforms.md) we have

app/electron/main.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1327,6 +1327,11 @@ function adjustZoom(delta: number) {
13271327
function startElectron() {
13281328
console.info('App starting...');
13291329

1330+
// Increase max listeners to prevent false positive warnings
1331+
// The app legitimately needs multiple IPC listeners (currently 11)
1332+
// Default is 10, setting to 20 provides headroom for future additions
1333+
ipcMain.setMaxListeners(20);
1334+
13301335
let appVersion: string;
13311336
if (isDev && process.env.HEADLAMP_APP_VERSION) {
13321337
appVersion = process.env.HEADLAMP_APP_VERSION;

0 commit comments

Comments
 (0)