spinframework / spinframework/spin-operator
Support specifying node affinity for executors that create K8s Deployments
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 289
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
The SpinApp CRD supports Pod and Deployment annotations; however there is currently no way to declare node affinity for scheduling SpinApps.
Concern arose from Discord question:
Hey, i was curious as to handle things like pod affinity, priority classes, tolerations and schedulers 🙂
Some of the pods have for example the requirement to be ran on specific nodes, due to region based data laws. However I also would like these nodes to be seen as opportunistic, so that when they have no dedicated task, any pod can use them
One concern around specifically adding NodeAffinity to the SpinApp CRD is that it is specific to executors that create Deployments, but there are already several fields like this.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the SpinApp CRD and the executors that create Kubernetes Deployments. Review how existing Pod and Deployment annotations are represented, then determine how node affinity should be exposed without coupling it to executors that do not create Deployments. Done means the API design is agreed and node-affinity scheduling works for supported SpinApps with appropriate validation and tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100