k0sproject / k0sproject/k0sctl

Allow specifying node labels in configuration.

Open
#175 10 comments 15 reactions 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
582
Forks
113
Avg merge
2d 13h
Merged PRs (30d)
34

Description

Specifically for cases where using `installFlags: ["--labels=whatever"]` isn't acceptable, e.g.

Kubelets can't set the `node-role.kubernetes.io/master=""` label on themselves for security reasons,
it has to be done via an API client (e.g. kubectl).
See https://github.com/kubernetes/kubernetes/issues/84912#issuecomment-551362981

This could be added as the following:
```yaml
spec:
hosts:
- role: controller+worker
labels:
- "node-role.kubernetes.io/master="
```

or

```yaml
spec:
hosts:
- role: controller+worker
labels:
- key: node-role.kubernetes.io/master
value: ""
```

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no file or test; begin by tracing how k0sctl parses host configuration and applies node changes through Kubernetes. Compare the two proposed label forms, then verify that configured labels are applied to the target node and add coverage for the chosen format.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.