-
Notifications
You must be signed in to change notification settings - Fork 23
feat: extend TUF by affinity, tolerations, resources and replicas #1176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Reviewer's GuideThis PR extends the TUF component by introducing a generic PodRequirements abstraction—comprising affinity rules, tolerations, resource constraints, and replica settings—across CRD schemas, Go API types, controller deployment logic, OLM UI descriptors, and validation rules, backed by new unit tests. ER diagram for new PodRequirements fields in Tuf CRDerDiagram
TUF_SPEC ||--o{ POD_REQUIREMENTS : inlines
POD_REQUIREMENTS ||--o| AFFINITY : has
POD_REQUIREMENTS ||--o{ TOLERATION : has
POD_REQUIREMENTS ||--o| RESOURCE_REQUIREMENTS : has
POD_REQUIREMENTS {
int replicas
}
AFFINITY {
NodeAffinity nodeAffinity
PodAffinity podAffinity
PodAntiAffinity podAntiAffinity
}
TOLERATION {
string key
string operator
string value
string effect
int tolerationSeconds
}
RESOURCE_REQUIREMENTS {
map limits
map requests
ResourceClaim[] claims
}
Class diagram for extended TufSpec with PodRequirementsclassDiagram
class TufSpec {
+PodRequirements (inlined)
+ExternalAccess externalAccess
+int port
+[]Key keys
+TufPvc pvc
+RootKeySecretRef rootKeySecretRef
+string image
+string serviceAccountName
}
class PodRequirements {
+Affinity affinity
+[]Toleration tolerations
+ResourceRequirements resources
+int replicas
}
class Affinity {
+NodeAffinity nodeAffinity
+PodAffinity podAffinity
+PodAntiAffinity podAntiAffinity
}
class Toleration {
+string key
+string operator
+string value
+string effect
+int tolerationSeconds
}
class ResourceRequirements {
+map~string, any~ limits
+map~string, any~ requests
+[]ResourceClaim claims
}
TufSpec --|> PodRequirements : inlined
PodRequirements o-- Affinity
PodRequirements o-- Toleration
PodRequirements o-- ResourceRequirements
Affinity o-- NodeAffinity
Affinity o-- PodAffinity
Affinity o-- PodAntiAffinity
ResourceRequirements o-- ResourceClaim
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
Caution There are some errors in your PipelineRun template.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
5f11fd7 to
8067c01
Compare
Signed-off-by: Tomas Turek <tturek@redhat.com>
8067c01 to
92cc34c
Compare
Summary by Sourcery
Extend the TUF and Securesign APIs with new PodRequirements fields (affinity, tolerations, resources, replicas), enforce validation on scaling, update the deployment controller to apply these settings, and surface them in the operator’s UI via CSV descriptors.
New Features:
Enhancements:
Build:
Tests: