Skip to content

Commit

Permalink
Apply crd:maxDescLen=0 in manifest generation (#108)
Browse files Browse the repository at this point in the history
This is to avoid `xxx is invalid: metatada.annotation: Too long: must have at momst 262144 bytes` issue
  • Loading branch information
Jeffwan authored Aug 29, 2024
1 parent aed7d92 commit 85bb45a
Show file tree
Hide file tree
Showing 5 changed files with 1 addition and 19,031 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ help: ## Display this help.

.PHONY: manifests
manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects.
$(CONTROLLER_GEN) rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/crd/bases
$(CONTROLLER_GEN) rbac:roleName=manager-role crd:maxDescLen=0 webhook paths="./..." output:crd:artifacts:config=config/crd/bases

.PHONY: generate
generate: controller-gen ## Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations.
Expand Down
103 changes: 0 additions & 103 deletions config/crd/bases/autoscaling.aibrix.ai_podautoscalers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,51 +17,26 @@ spec:
- name: v1alpha1
schema:
openAPIV3Schema:
description: |-
PodAutoscaler is the Schema for the podautoscalers API, a resource to scale Kubernetes pods based on observed metrics.
The fields in the spec determine how the scaling behavior should be applied.
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: Spec defines the desired behavior of the PodAutoscaler.
properties:
maxReplicas:
description: |-
MaxReplicas is the maximum number of replicas to which the target can be scaled up.
It cannot be less than minReplicas
format: int32
type: integer
metricsSources:
description: MetricsSources defines a list of sources from which metrics
are collected to make scaling decisions.
items:
description: MetricSource defines an endpoint and path from which
metrics are collected.
properties:
endpoint:
description: e.g. service1.example.com
type: string
metric:
description: e.g. kv_cache_utilization metrics
type: string
path:
description: e.g. /api/metrics/cpu
type: string
required:
- endpoint
Expand All @@ -70,59 +45,27 @@ spec:
type: object
type: array
minReplicas:
description: MinReplicas is the minimum number of replicas to which
the target can be scaled down.
format: int32
type: integer
scaleTargetRef:
description: |-
INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
Important: Run "make" to regenerate code after modifying this file
ScaleTargetRef points to scale-able resource that this PodAutoscaler should target and scale. e.g. Deployment
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: |-
If referring to a piece of an object instead of an entire object, this string
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within a pod, this would take on a value like:
"spec.containers{name}" (where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]" (container with
index 2 in this pod). This syntax is chosen only to have some well-defined way of
referencing a part of an object.
TODO: this design is not final and this field is subject to change in the future.
type: string
kind:
description: |-
Kind of the referent.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
name:
description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
namespace:
description: |-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type: string
resourceVersion:
description: |-
Specific resourceVersion to which this reference is made, if any.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
type: string
uid:
description: |-
UID of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
type: string
type: object
x-kubernetes-map-type: atomic
scalingStrategy:
description: ScalingStrategy defines the strategy to use for scaling.
type: string
targetMetric:
type: string
Expand All @@ -136,75 +79,35 @@ spec:
- targetValue
type: object
status:
description: Status represents the current information about the PodAutoscaler.
properties:
actualScale:
description: |-
ActualScale represents the actual number of running instances of the scaled target.
it may be different from DesiredScale
format: int32
type: integer
conditions:
description: |-
Conditions is the set of conditions required for this autoscaler to scale its target,
and indicates whether or not those conditions are met.
items:
description: "Condition contains details for one aspect of the current
state of this API Resource.\n---\nThis struct is intended for
direct use as an array at the field path .status.conditions. For
example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
observations of a foo's current state.\n\t // Known .status.conditions.type
are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
+patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
\ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
\ // other fields\n\t}"
properties:
lastTransitionTime:
description: |-
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format: date-time
type: string
message:
description: |-
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength: 32768
type: string
observedGeneration:
description: |-
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format: int64
minimum: 0
type: integer
reason:
description: |-
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
maxLength: 1024
minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
type: string
status:
description: status of the condition, one of True, False, Unknown.
enum:
- "True"
- "False"
- Unknown
type: string
type:
description: |-
type of condition in CamelCase or in foo.example.com/CamelCase.
---
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
useful (see .node.status.conditions), the ability to deconflict is important.
The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
Expand All @@ -217,15 +120,9 @@ spec:
type: object
type: array
desiredScale:
description: |-
DesiredScale represents the desired number of instances computed by the PodAutoscaler based on the current metrics.
it's computed according to Scaling policy after observing service metrics
format: int32
type: integer
lastScaleTime:
description: |-
LastScaleTime is the last time the PodAutoscaler scaled the number of pods,
used by the autoscaler to control how often the number of pods is changed.
format: date-time
type: string
type: object
Expand Down
Loading

0 comments on commit 85bb45a

Please sign in to comment.