210 lines
8.7 KiB
YAML
210 lines
8.7 KiB
YAML
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1beta1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.3.0
|
|
creationTimestamp: null
|
|
name: horizontalrunnerautoscalers.actions.summerwind.dev
|
|
spec:
|
|
additionalPrinterColumns:
|
|
- JSONPath: .spec.minReplicas
|
|
name: Min
|
|
type: number
|
|
- JSONPath: .spec.maxReplicas
|
|
name: Max
|
|
type: number
|
|
- JSONPath: .status.desiredReplicas
|
|
name: Desired
|
|
type: number
|
|
group: actions.summerwind.dev
|
|
names:
|
|
kind: HorizontalRunnerAutoscaler
|
|
listKind: HorizontalRunnerAutoscalerList
|
|
plural: horizontalrunnerautoscalers
|
|
singular: horizontalrunnerautoscaler
|
|
scope: Namespaced
|
|
subresources:
|
|
status: {}
|
|
validation:
|
|
openAPIV3Schema:
|
|
description: HorizontalRunnerAutoscaler is the Schema for the horizontalrunnerautoscaler
|
|
API
|
|
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: HorizontalRunnerAutoscalerSpec defines the desired state of
|
|
HorizontalRunnerAutoscaler
|
|
properties:
|
|
capacityReservations:
|
|
items:
|
|
description: CapacityReservation specifies the number of replicas
|
|
temporarily added to the scale target until ExpirationTime.
|
|
properties:
|
|
expirationTime:
|
|
format: date-time
|
|
type: string
|
|
name:
|
|
type: string
|
|
replicas:
|
|
type: integer
|
|
type: object
|
|
type: array
|
|
maxReplicas:
|
|
description: MinReplicas is the maximum number of replicas the deployment
|
|
is allowed to scale
|
|
type: integer
|
|
metrics:
|
|
description: Metrics is the collection of various metric targets to
|
|
calculate desired number of runners
|
|
items:
|
|
properties:
|
|
repositoryNames:
|
|
description: RepositoryNames is the list of repository names to
|
|
be used for calculating the metric. For example, a repository
|
|
name is the REPO part of `github.com/USER/REPO`.
|
|
items:
|
|
type: string
|
|
type: array
|
|
scaleDownFactor:
|
|
description: ScaleDownFactor is the multiplicative factor applied
|
|
to the current number of runners used to determine how many
|
|
pods should be removed.
|
|
type: string
|
|
scaleDownThreshold:
|
|
description: ScaleDownThreshold is the percentage of busy runners
|
|
less than which will trigger the hpa to scale the runners down.
|
|
type: string
|
|
scaleUpFactor:
|
|
description: ScaleUpFactor is the multiplicative factor applied
|
|
to the current number of runners used to determine how many
|
|
pods should be added.
|
|
type: string
|
|
scaleUpThreshold:
|
|
description: ScaleUpThreshold is the percentage of busy runners
|
|
greater than which will trigger the hpa to scale runners up.
|
|
type: string
|
|
type:
|
|
description: Type is the type of metric to be used for autoscaling.
|
|
The only supported Type is TotalNumberOfQueuedAndInProgressWorkflowRuns
|
|
type: string
|
|
type: object
|
|
type: array
|
|
minReplicas:
|
|
description: MinReplicas is the minimum number of replicas the deployment
|
|
is allowed to scale
|
|
type: integer
|
|
scaleDownDelaySecondsAfterScaleOut:
|
|
description: ScaleDownDelaySecondsAfterScaleUp is the approximate delay
|
|
for a scale down followed by a scale up Used to prevent flapping (down->up->down->...
|
|
loop)
|
|
type: integer
|
|
scaleTargetRef:
|
|
description: ScaleTargetRef sis the reference to scaled resource like
|
|
RunnerDeployment
|
|
properties:
|
|
name:
|
|
type: string
|
|
type: object
|
|
scaleUpTriggers:
|
|
description: "ScaleUpTriggers is an experimental feature to increase
|
|
the desired replicas by 1 on each webhook requested received by the
|
|
webhookBasedAutoscaler. \n This feature requires you to also enable
|
|
and deploy the webhookBasedAutoscaler onto your cluster. \n Note that
|
|
the added runners remain until the next sync period at least, and
|
|
they may or may not be used by GitHub Actions depending on the timing.
|
|
They are intended to be used to gain \"resource slack\" immediately
|
|
after you receive a webhook from GitHub, so that you can loosely expect
|
|
MinReplicas runners to be always available."
|
|
items:
|
|
properties:
|
|
amount:
|
|
type: integer
|
|
duration:
|
|
type: string
|
|
githubEvent:
|
|
properties:
|
|
checkRun:
|
|
description: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#check_run
|
|
properties:
|
|
status:
|
|
type: string
|
|
types:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
pullRequest:
|
|
description: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request
|
|
properties:
|
|
branches:
|
|
items:
|
|
type: string
|
|
type: array
|
|
types:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
push:
|
|
description: PushSpec is the condition for triggering scale-up
|
|
on push event Also see https://docs.github.com/en/actions/reference/events-that-trigger-workflows#push
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: array
|
|
type: object
|
|
status:
|
|
properties:
|
|
cacheEntries:
|
|
items:
|
|
properties:
|
|
expirationTime:
|
|
format: date-time
|
|
type: string
|
|
key:
|
|
type: string
|
|
value:
|
|
type: integer
|
|
type: object
|
|
type: array
|
|
desiredReplicas:
|
|
description: DesiredReplicas is the total number of desired, non-terminated
|
|
and latest pods to be set for the primary RunnerSet This doesn't include
|
|
outdated pods while upgrading the deployment and replacing the runnerset.
|
|
type: integer
|
|
lastSuccessfulScaleOutTime:
|
|
format: date-time
|
|
type: string
|
|
observedGeneration:
|
|
description: ObservedGeneration is the most recent generation observed
|
|
for the target. It corresponds to e.g. RunnerDeployment's generation,
|
|
which is updated on mutation by the API Server.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
version: v1alpha1
|
|
versions:
|
|
- name: v1alpha1
|
|
served: true
|
|
storage: true
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|