mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-04 19:17:20 +09:00
The binder, the admission webhooks, the tenant chart, the policies and cozystack-api all have to agree on the same label, annotation, finalizer and quota keys and on the settings ConfigMap the policies take as a parameter, so they are defined once here. The binder in the leader is the only writer of placement; webhooks running in every replica record an attachment and a bind request in the device status and wait for the binder's answer, so capacity and budgets are decided in one serialized loop. Status is the carrier because no tenant role can write it. The template-device mark carries no VMI name, since a VMI name can exceed a label value. Register and Setup exist as no-ops so the controller can be wired to them before the webhooks and reconcilers land. Assisted-by: LLM Signed-off-by: Aleksei Sviridkin <f@lex.la>
32 lines
985 B
Go
32 lines
985 B
Go
/*
|
|
Copyright 2026 The Cozystack Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
// Package controller runs the GPU binder, the class and device lifecycle,
|
|
// usage records and metrics in cozystack-controller.
|
|
package controller
|
|
|
|
import (
|
|
"sigs.k8s.io/controller-runtime/pkg/manager"
|
|
|
|
"github.com/cozystack/cozystack/internal/gpu"
|
|
)
|
|
|
|
// Setup adds the GPU reconcilers to mgr. With no reconciler implemented it
|
|
// adds nothing.
|
|
func Setup(mgr manager.Manager, cfg gpu.Config) error {
|
|
return nil
|
|
}
|