-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add actions/actions-runner-controller
Signed-off-by: Sebastian Hoß <[email protected]>
- Loading branch information
Showing
24 changed files
with
80,150 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4,393 changes: 4,393 additions & 0 deletions
4,393
...g/actions/actions-runner-controller/actions.github.com/v1alpha1/autoscalinglisteners.yaml
Large diffs are not rendered by default.
Oops, something went wrong.
8,639 changes: 8,639 additions & 0 deletions
8,639
.../actions/actions-runner-controller/actions.github.com/v1alpha1/autoscalingrunnersets.yaml
Large diffs are not rendered by default.
Oops, something went wrong.
1 change: 1 addition & 0 deletions
1
...log/actions/actions-runner-controller/actions.github.com/v1alpha1/ephemeralrunners.ignore
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
the name `EphemeralRunnerSpec` is defined multiple times |
4,396 changes: 4,396 additions & 0 deletions
4,396
...talog/actions/actions-runner-controller/actions.github.com/v1alpha1/ephemeralrunners.yaml
Large diffs are not rendered by default.
Oops, something went wrong.
4,373 changes: 4,373 additions & 0 deletions
4,373
...og/actions/actions-runner-controller/actions.github.com/v1alpha1/ephemeralrunnersets.yaml
Large diffs are not rendered by default.
Oops, something went wrong.
252 changes: 252 additions & 0 deletions
252
...ctions-runner-controller/actions.summerwind.dev/v1alpha1/horizontalrunnerautoscalers.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,252 @@ | ||
apiVersion: apiextensions.k8s.io/v1 | ||
kind: CustomResourceDefinition | ||
metadata: | ||
annotations: | ||
controller-gen.kubebuilder.io/version: v0.11.3 | ||
name: horizontalrunnerautoscalers.actions.summerwind.dev | ||
spec: | ||
group: actions.summerwind.dev | ||
names: | ||
kind: HorizontalRunnerAutoscaler | ||
listKind: HorizontalRunnerAutoscalerList | ||
plural: horizontalrunnerautoscalers | ||
shortNames: | ||
- hra | ||
singular: horizontalrunnerautoscaler | ||
preserveUnknownFields: false | ||
scope: Namespaced | ||
versions: | ||
- additionalPrinterColumns: | ||
- jsonPath: .spec.minReplicas | ||
name: Min | ||
type: number | ||
- jsonPath: .spec.maxReplicas | ||
name: Max | ||
type: number | ||
- jsonPath: .status.desiredReplicas | ||
name: Desired | ||
type: number | ||
- jsonPath: .status.scheduledOverridesSummary | ||
name: Schedule | ||
type: string | ||
name: v1alpha1 | ||
schema: | ||
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: | ||
effectiveTime: | ||
format: date-time | ||
type: string | ||
expirationTime: | ||
format: date-time | ||
type: string | ||
name: | ||
type: string | ||
replicas: | ||
type: integer | ||
type: object | ||
type: array | ||
githubAPICredentialsFrom: | ||
properties: | ||
secretRef: | ||
properties: | ||
name: | ||
type: string | ||
required: | ||
- name | ||
type: object | ||
type: object | ||
maxReplicas: | ||
description: MaxReplicas 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 | ||
scaleDownAdjustment: | ||
description: ScaleDownAdjustment is the number of runners removed on scale-down. You can only specify either ScaleDownFactor or ScaleDownAdjustment. | ||
type: integer | ||
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 | ||
scaleUpAdjustment: | ||
description: ScaleUpAdjustment is the number of runners added on scale-up. You can only specify either ScaleUpFactor or ScaleUpAdjustment. | ||
type: integer | ||
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. It can be TotalNumberOfQueuedAndInProgressWorkflowRuns or PercentageRunnersBusy. | ||
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 is the reference to scaled resource like RunnerDeployment | ||
properties: | ||
kind: | ||
description: Kind is the type of resource being referenced | ||
enum: | ||
- RunnerDeployment | ||
- RunnerSet | ||
type: string | ||
name: | ||
description: Name is the name of resource being referenced | ||
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: | ||
names: | ||
description: Names is a list of GitHub Actions glob patterns. Any check_run event whose name matches one of patterns in the list can trigger autoscaling. Note that check_run name seem to equal to the job name you've defined in your actions workflow yaml file. So it is very likely that you can utilize this to trigger depending on the job. | ||
items: | ||
type: string | ||
type: array | ||
repositories: | ||
description: Repositories is a list of GitHub repositories. Any check_run event whose repository matches one of repositories in the list can trigger autoscaling. | ||
items: | ||
type: string | ||
type: array | ||
status: | ||
type: string | ||
types: | ||
description: 'One of: created, rerequested, or completed' | ||
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 | ||
workflowJob: | ||
description: https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job | ||
type: object | ||
type: object | ||
type: object | ||
type: array | ||
scheduledOverrides: | ||
description: ScheduledOverrides is the list of ScheduledOverride. It can be used to override a few fields of HorizontalRunnerAutoscalerSpec on schedule. The earlier a scheduled override is, the higher it is prioritized. | ||
items: | ||
description: ScheduledOverride can be used to override a few fields of HorizontalRunnerAutoscalerSpec on schedule. A schedule can optionally be recurring, so that the corresponding override happens every day, week, month, or year. | ||
properties: | ||
endTime: | ||
description: EndTime is the time at which the first override ends. | ||
format: date-time | ||
type: string | ||
minReplicas: | ||
description: MinReplicas is the number of runners while overriding. If omitted, it doesn't override minReplicas. | ||
minimum: 0.0 | ||
nullable: true | ||
type: integer | ||
recurrenceRule: | ||
properties: | ||
frequency: | ||
description: Frequency is the name of a predefined interval of each recurrence. The valid values are "Daily", "Weekly", "Monthly", and "Yearly". If empty, the corresponding override happens only once. | ||
enum: | ||
- Daily | ||
- Weekly | ||
- Monthly | ||
- Yearly | ||
type: string | ||
untilTime: | ||
description: UntilTime is the time of the final recurrence. If empty, the schedule recurs forever. | ||
format: date-time | ||
type: string | ||
type: object | ||
startTime: | ||
description: StartTime is the time at which the first override starts. | ||
format: date-time | ||
type: string | ||
required: | ||
- endTime | ||
- startTime | ||
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 | ||
nullable: true | ||
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 | ||
scheduledOverridesSummary: | ||
description: ScheduledOverridesSummary is the summary of active and upcoming scheduled overrides to be shown in e.g. a column of a `kubectl get hra` output for observability. | ||
type: string | ||
type: object | ||
type: object | ||
served: true | ||
storage: true | ||
subresources: | ||
status: {} |
Oops, something went wrong.