Initial release
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.13.0
|
||||
name: cloudeventsources.eventing.keda.sh
|
||||
spec:
|
||||
group: eventing.keda.sh
|
||||
names:
|
||||
kind: CloudEventSource
|
||||
listKind: CloudEventSourceList
|
||||
plural: cloudeventsources
|
||||
singular: cloudeventsource
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.conditions[?(@.type=="Active")].status
|
||||
name: Active
|
||||
type: string
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: CloudEventSource defines how a KEDA event will be sent to event
|
||||
sink
|
||||
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: CloudEventSourceSpec defines the spec of CloudEventSource
|
||||
properties:
|
||||
clusterName:
|
||||
type: string
|
||||
destination:
|
||||
description: Destination defines the various ways to emit events
|
||||
properties:
|
||||
http:
|
||||
properties:
|
||||
uri:
|
||||
type: string
|
||||
required:
|
||||
- uri
|
||||
type: object
|
||||
type: object
|
||||
required:
|
||||
- destination
|
||||
type: object
|
||||
status:
|
||||
description: CloudEventSourceStatus defines the observed state of CloudEventSource
|
||||
properties:
|
||||
conditions:
|
||||
description: Conditions an array representation to store multiple
|
||||
Conditions
|
||||
items:
|
||||
description: Condition to store the condition state
|
||||
properties:
|
||||
message:
|
||||
description: A human readable message indicating details about
|
||||
the transition.
|
||||
type: string
|
||||
reason:
|
||||
description: The reason for the condition's last transition.
|
||||
type: string
|
||||
status:
|
||||
description: Status of the condition, one of True, False, Unknown.
|
||||
type: string
|
||||
type:
|
||||
description: Type of condition
|
||||
type: string
|
||||
required:
|
||||
- status
|
||||
- type
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
@@ -0,0 +1,518 @@
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.13.0
|
||||
name: clustertriggerauthentications.keda.sh
|
||||
spec:
|
||||
group: keda.sh
|
||||
names:
|
||||
kind: ClusterTriggerAuthentication
|
||||
listKind: ClusterTriggerAuthenticationList
|
||||
plural: clustertriggerauthentications
|
||||
shortNames:
|
||||
- cta
|
||||
- clustertriggerauth
|
||||
singular: clustertriggerauthentication
|
||||
scope: Cluster
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .spec.podIdentity.provider
|
||||
name: PodIdentity
|
||||
type: string
|
||||
- jsonPath: .spec.secretTargetRef[*].name
|
||||
name: Secret
|
||||
type: string
|
||||
- jsonPath: .spec.env[*].name
|
||||
name: Env
|
||||
type: string
|
||||
- jsonPath: .spec.hashiCorpVault.address
|
||||
name: VaultAddress
|
||||
type: string
|
||||
- jsonPath: .status.scaledobjects
|
||||
name: ScaledObjects
|
||||
priority: 1
|
||||
type: string
|
||||
- jsonPath: .status.scaledjobs
|
||||
name: ScaledJobs
|
||||
priority: 1
|
||||
type: string
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: ClusterTriggerAuthentication defines how a trigger can authenticate
|
||||
globally
|
||||
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: TriggerAuthenticationSpec defines the various ways to authenticate
|
||||
properties:
|
||||
awsSecretManager:
|
||||
description: AwsSecretManager is used to authenticate using AwsSecretManager
|
||||
properties:
|
||||
credentials:
|
||||
properties:
|
||||
accessKey:
|
||||
properties:
|
||||
valueFrom:
|
||||
properties:
|
||||
secretKeyRef:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- name
|
||||
type: object
|
||||
required:
|
||||
- secretKeyRef
|
||||
type: object
|
||||
required:
|
||||
- valueFrom
|
||||
type: object
|
||||
accessSecretKey:
|
||||
properties:
|
||||
valueFrom:
|
||||
properties:
|
||||
secretKeyRef:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- name
|
||||
type: object
|
||||
required:
|
||||
- secretKeyRef
|
||||
type: object
|
||||
required:
|
||||
- valueFrom
|
||||
type: object
|
||||
accessToken:
|
||||
properties:
|
||||
valueFrom:
|
||||
properties:
|
||||
secretKeyRef:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- name
|
||||
type: object
|
||||
required:
|
||||
- secretKeyRef
|
||||
type: object
|
||||
required:
|
||||
- valueFrom
|
||||
type: object
|
||||
required:
|
||||
- accessKey
|
||||
- accessSecretKey
|
||||
type: object
|
||||
podIdentity:
|
||||
description: AuthPodIdentity allows users to select the platform
|
||||
native identity mechanism
|
||||
properties:
|
||||
identityId:
|
||||
type: string
|
||||
identityOwner:
|
||||
description: IdentityOwner configures which identity has to
|
||||
be used during auto discovery, keda or the scaled workload.
|
||||
Mutually exclusive with roleArn
|
||||
enum:
|
||||
- keda
|
||||
- workload
|
||||
type: string
|
||||
provider:
|
||||
description: PodIdentityProvider contains the list of providers
|
||||
enum:
|
||||
- azure
|
||||
- azure-workload
|
||||
- gcp
|
||||
- aws
|
||||
- aws-eks
|
||||
- aws-kiam
|
||||
type: string
|
||||
roleArn:
|
||||
description: RoleArn sets the AWS RoleArn to be used. Mutually
|
||||
exclusive with IdentityOwner
|
||||
type: string
|
||||
required:
|
||||
- provider
|
||||
type: object
|
||||
region:
|
||||
type: string
|
||||
secrets:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
parameter:
|
||||
type: string
|
||||
versionId:
|
||||
type: string
|
||||
versionStage:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- parameter
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- secrets
|
||||
type: object
|
||||
azureKeyVault:
|
||||
description: AzureKeyVault is used to authenticate using Azure Key
|
||||
Vault
|
||||
properties:
|
||||
cloud:
|
||||
properties:
|
||||
activeDirectoryEndpoint:
|
||||
type: string
|
||||
keyVaultResourceURL:
|
||||
type: string
|
||||
type:
|
||||
type: string
|
||||
required:
|
||||
- type
|
||||
type: object
|
||||
credentials:
|
||||
properties:
|
||||
clientId:
|
||||
type: string
|
||||
clientSecret:
|
||||
properties:
|
||||
valueFrom:
|
||||
properties:
|
||||
secretKeyRef:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- name
|
||||
type: object
|
||||
required:
|
||||
- secretKeyRef
|
||||
type: object
|
||||
required:
|
||||
- valueFrom
|
||||
type: object
|
||||
tenantId:
|
||||
type: string
|
||||
required:
|
||||
- clientId
|
||||
- clientSecret
|
||||
- tenantId
|
||||
type: object
|
||||
podIdentity:
|
||||
description: AuthPodIdentity allows users to select the platform
|
||||
native identity mechanism
|
||||
properties:
|
||||
identityId:
|
||||
type: string
|
||||
identityOwner:
|
||||
description: IdentityOwner configures which identity has to
|
||||
be used during auto discovery, keda or the scaled workload.
|
||||
Mutually exclusive with roleArn
|
||||
enum:
|
||||
- keda
|
||||
- workload
|
||||
type: string
|
||||
provider:
|
||||
description: PodIdentityProvider contains the list of providers
|
||||
enum:
|
||||
- azure
|
||||
- azure-workload
|
||||
- gcp
|
||||
- aws
|
||||
- aws-eks
|
||||
- aws-kiam
|
||||
type: string
|
||||
roleArn:
|
||||
description: RoleArn sets the AWS RoleArn to be used. Mutually
|
||||
exclusive with IdentityOwner
|
||||
type: string
|
||||
required:
|
||||
- provider
|
||||
type: object
|
||||
secrets:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
parameter:
|
||||
type: string
|
||||
version:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- parameter
|
||||
type: object
|
||||
type: array
|
||||
vaultUri:
|
||||
type: string
|
||||
required:
|
||||
- secrets
|
||||
- vaultUri
|
||||
type: object
|
||||
configMapTargetRef:
|
||||
items:
|
||||
description: AuthConfigMapTargetRef is used to authenticate using
|
||||
a reference to a config map
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
parameter:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- name
|
||||
- parameter
|
||||
type: object
|
||||
type: array
|
||||
env:
|
||||
items:
|
||||
description: AuthEnvironment is used to authenticate using environment
|
||||
variables in the destination ScaleTarget spec
|
||||
properties:
|
||||
containerName:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
parameter:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- parameter
|
||||
type: object
|
||||
type: array
|
||||
gcpSecretManager:
|
||||
properties:
|
||||
credentials:
|
||||
properties:
|
||||
clientSecret:
|
||||
properties:
|
||||
valueFrom:
|
||||
properties:
|
||||
secretKeyRef:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- name
|
||||
type: object
|
||||
required:
|
||||
- secretKeyRef
|
||||
type: object
|
||||
required:
|
||||
- valueFrom
|
||||
type: object
|
||||
required:
|
||||
- clientSecret
|
||||
type: object
|
||||
podIdentity:
|
||||
description: AuthPodIdentity allows users to select the platform
|
||||
native identity mechanism
|
||||
properties:
|
||||
identityId:
|
||||
type: string
|
||||
identityOwner:
|
||||
description: IdentityOwner configures which identity has to
|
||||
be used during auto discovery, keda or the scaled workload.
|
||||
Mutually exclusive with roleArn
|
||||
enum:
|
||||
- keda
|
||||
- workload
|
||||
type: string
|
||||
provider:
|
||||
description: PodIdentityProvider contains the list of providers
|
||||
enum:
|
||||
- azure
|
||||
- azure-workload
|
||||
- gcp
|
||||
- aws
|
||||
- aws-eks
|
||||
- aws-kiam
|
||||
type: string
|
||||
roleArn:
|
||||
description: RoleArn sets the AWS RoleArn to be used. Mutually
|
||||
exclusive with IdentityOwner
|
||||
type: string
|
||||
required:
|
||||
- provider
|
||||
type: object
|
||||
secrets:
|
||||
items:
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
parameter:
|
||||
type: string
|
||||
version:
|
||||
type: string
|
||||
required:
|
||||
- id
|
||||
- parameter
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- secrets
|
||||
type: object
|
||||
hashiCorpVault:
|
||||
description: HashiCorpVault is used to authenticate using Hashicorp
|
||||
Vault
|
||||
properties:
|
||||
address:
|
||||
type: string
|
||||
authentication:
|
||||
description: VaultAuthentication contains the list of Hashicorp
|
||||
Vault authentication methods
|
||||
type: string
|
||||
credential:
|
||||
description: Credential defines the Hashicorp Vault credentials
|
||||
depending on the authentication method
|
||||
properties:
|
||||
serviceAccount:
|
||||
type: string
|
||||
token:
|
||||
type: string
|
||||
type: object
|
||||
mount:
|
||||
type: string
|
||||
namespace:
|
||||
type: string
|
||||
role:
|
||||
type: string
|
||||
secrets:
|
||||
items:
|
||||
description: VaultSecret defines the mapping between the path
|
||||
of the secret in Vault to the parameter
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
parameter:
|
||||
type: string
|
||||
path:
|
||||
type: string
|
||||
pkiData:
|
||||
properties:
|
||||
altNames:
|
||||
type: string
|
||||
commonName:
|
||||
type: string
|
||||
format:
|
||||
type: string
|
||||
ipSans:
|
||||
type: string
|
||||
otherSans:
|
||||
type: string
|
||||
ttl:
|
||||
type: string
|
||||
uriSans:
|
||||
type: string
|
||||
type: object
|
||||
type:
|
||||
description: VaultSecretType defines the type of vault secret
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- parameter
|
||||
- path
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- address
|
||||
- authentication
|
||||
- secrets
|
||||
type: object
|
||||
podIdentity:
|
||||
description: AuthPodIdentity allows users to select the platform native
|
||||
identity mechanism
|
||||
properties:
|
||||
identityId:
|
||||
type: string
|
||||
identityOwner:
|
||||
description: IdentityOwner configures which identity has to be
|
||||
used during auto discovery, keda or the scaled workload. Mutually
|
||||
exclusive with roleArn
|
||||
enum:
|
||||
- keda
|
||||
- workload
|
||||
type: string
|
||||
provider:
|
||||
description: PodIdentityProvider contains the list of providers
|
||||
enum:
|
||||
- azure
|
||||
- azure-workload
|
||||
- gcp
|
||||
- aws
|
||||
- aws-eks
|
||||
- aws-kiam
|
||||
type: string
|
||||
roleArn:
|
||||
description: RoleArn sets the AWS RoleArn to be used. Mutually
|
||||
exclusive with IdentityOwner
|
||||
type: string
|
||||
required:
|
||||
- provider
|
||||
type: object
|
||||
secretTargetRef:
|
||||
items:
|
||||
description: AuthSecretTargetRef is used to authenticate using a
|
||||
reference to a secret
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
parameter:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- name
|
||||
- parameter
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
status:
|
||||
description: TriggerAuthenticationStatus defines the observed state of
|
||||
TriggerAuthentication
|
||||
properties:
|
||||
scaledjobs:
|
||||
type: string
|
||||
scaledobjects:
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,398 @@
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.13.0
|
||||
name: scaledobjects.keda.sh
|
||||
spec:
|
||||
group: keda.sh
|
||||
names:
|
||||
kind: ScaledObject
|
||||
listKind: ScaledObjectList
|
||||
plural: scaledobjects
|
||||
shortNames:
|
||||
- so
|
||||
singular: scaledobject
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.scaleTargetKind
|
||||
name: ScaleTargetKind
|
||||
type: string
|
||||
- jsonPath: .spec.scaleTargetRef.name
|
||||
name: ScaleTargetName
|
||||
type: string
|
||||
- jsonPath: .spec.minReplicaCount
|
||||
name: Min
|
||||
type: integer
|
||||
- jsonPath: .spec.maxReplicaCount
|
||||
name: Max
|
||||
type: integer
|
||||
- jsonPath: .spec.triggers[*].type
|
||||
name: Triggers
|
||||
type: string
|
||||
- jsonPath: .spec.triggers[*].authenticationRef.name
|
||||
name: Authentication
|
||||
type: string
|
||||
- jsonPath: .status.conditions[?(@.type=="Ready")].status
|
||||
name: Ready
|
||||
type: string
|
||||
- jsonPath: .status.conditions[?(@.type=="Active")].status
|
||||
name: Active
|
||||
type: string
|
||||
- jsonPath: .status.conditions[?(@.type=="Fallback")].status
|
||||
name: Fallback
|
||||
type: string
|
||||
- jsonPath: .status.conditions[?(@.type=="Paused")].status
|
||||
name: Paused
|
||||
type: string
|
||||
- jsonPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: ScaledObject is a specification for a ScaledObject resource
|
||||
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: ScaledObjectSpec is the spec for a ScaledObject resource
|
||||
properties:
|
||||
advanced:
|
||||
description: AdvancedConfig specifies advance scaling options
|
||||
properties:
|
||||
horizontalPodAutoscalerConfig:
|
||||
description: HorizontalPodAutoscalerConfig specifies horizontal
|
||||
scale config
|
||||
properties:
|
||||
behavior:
|
||||
description: HorizontalPodAutoscalerBehavior configures the
|
||||
scaling behavior of the target in both Up and Down directions
|
||||
(scaleUp and scaleDown fields respectively).
|
||||
properties:
|
||||
scaleDown:
|
||||
description: scaleDown is scaling policy for scaling Down.
|
||||
If not set, the default value is to allow to scale down
|
||||
to minReplicas pods, with a 300 second stabilization
|
||||
window (i.e., the highest recommendation for the last
|
||||
300sec is used).
|
||||
properties:
|
||||
policies:
|
||||
description: policies is a list of potential scaling
|
||||
polices which can be used during scaling. At least
|
||||
one policy must be specified, otherwise the HPAScalingRules
|
||||
will be discarded as invalid
|
||||
items:
|
||||
description: HPAScalingPolicy is a single policy
|
||||
which must hold true for a specified past interval.
|
||||
properties:
|
||||
periodSeconds:
|
||||
description: periodSeconds specifies the window
|
||||
of time for which the policy should hold true.
|
||||
PeriodSeconds must be greater than zero and
|
||||
less than or equal to 1800 (30 min).
|
||||
format: int32
|
||||
type: integer
|
||||
type:
|
||||
description: type is used to specify the scaling
|
||||
policy.
|
||||
type: string
|
||||
value:
|
||||
description: value contains the amount of change
|
||||
which is permitted by the policy. It must
|
||||
be greater than zero
|
||||
format: int32
|
||||
type: integer
|
||||
required:
|
||||
- periodSeconds
|
||||
- type
|
||||
- value
|
||||
type: object
|
||||
type: array
|
||||
x-kubernetes-list-type: atomic
|
||||
selectPolicy:
|
||||
description: selectPolicy is used to specify which
|
||||
policy should be used. If not set, the default value
|
||||
Max is used.
|
||||
type: string
|
||||
stabilizationWindowSeconds:
|
||||
description: 'stabilizationWindowSeconds is the number
|
||||
of seconds for which past recommendations should
|
||||
be considered while scaling up or scaling down.
|
||||
StabilizationWindowSeconds must be greater than
|
||||
or equal to zero and less than or equal to 3600
|
||||
(one hour). If not set, use the default values:
|
||||
- For scale up: 0 (i.e. no stabilization is done).
|
||||
- For scale down: 300 (i.e. the stabilization window
|
||||
is 300 seconds long).'
|
||||
format: int32
|
||||
maximum: 3600
|
||||
minimum: 0
|
||||
type: integer
|
||||
type: object
|
||||
scaleUp:
|
||||
description: 'scaleUp is scaling policy for scaling Up.
|
||||
If not set, the default value is the higher of: * increase
|
||||
no more than 4 pods per 60 seconds * double the number
|
||||
of pods per 60 seconds No stabilization is used.'
|
||||
properties:
|
||||
policies:
|
||||
description: policies is a list of potential scaling
|
||||
polices which can be used during scaling. At least
|
||||
one policy must be specified, otherwise the HPAScalingRules
|
||||
will be discarded as invalid
|
||||
items:
|
||||
description: HPAScalingPolicy is a single policy
|
||||
which must hold true for a specified past interval.
|
||||
properties:
|
||||
periodSeconds:
|
||||
description: periodSeconds specifies the window
|
||||
of time for which the policy should hold true.
|
||||
PeriodSeconds must be greater than zero and
|
||||
less than or equal to 1800 (30 min).
|
||||
format: int32
|
||||
type: integer
|
||||
type:
|
||||
description: type is used to specify the scaling
|
||||
policy.
|
||||
type: string
|
||||
value:
|
||||
description: value contains the amount of change
|
||||
which is permitted by the policy. It must
|
||||
be greater than zero
|
||||
format: int32
|
||||
type: integer
|
||||
required:
|
||||
- periodSeconds
|
||||
- type
|
||||
- value
|
||||
type: object
|
||||
type: array
|
||||
x-kubernetes-list-type: atomic
|
||||
selectPolicy:
|
||||
description: selectPolicy is used to specify which
|
||||
policy should be used. If not set, the default value
|
||||
Max is used.
|
||||
type: string
|
||||
stabilizationWindowSeconds:
|
||||
description: 'stabilizationWindowSeconds is the number
|
||||
of seconds for which past recommendations should
|
||||
be considered while scaling up or scaling down.
|
||||
StabilizationWindowSeconds must be greater than
|
||||
or equal to zero and less than or equal to 3600
|
||||
(one hour). If not set, use the default values:
|
||||
- For scale up: 0 (i.e. no stabilization is done).
|
||||
- For scale down: 300 (i.e. the stabilization window
|
||||
is 300 seconds long).'
|
||||
format: int32
|
||||
maximum: 3600
|
||||
minimum: 0
|
||||
type: integer
|
||||
type: object
|
||||
type: object
|
||||
name:
|
||||
type: string
|
||||
type: object
|
||||
restoreToOriginalReplicaCount:
|
||||
type: boolean
|
||||
scalingModifiers:
|
||||
description: ScalingModifiers describes advanced scaling logic
|
||||
options like formula
|
||||
properties:
|
||||
activationTarget:
|
||||
type: string
|
||||
formula:
|
||||
type: string
|
||||
metricType:
|
||||
description: MetricTargetType specifies the type of metric
|
||||
being targeted, and should be either "Value", "AverageValue",
|
||||
or "Utilization"
|
||||
type: string
|
||||
target:
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
cooldownPeriod:
|
||||
format: int32
|
||||
type: integer
|
||||
fallback:
|
||||
description: Fallback is the spec for fallback options
|
||||
properties:
|
||||
failureThreshold:
|
||||
format: int32
|
||||
type: integer
|
||||
replicas:
|
||||
format: int32
|
||||
type: integer
|
||||
required:
|
||||
- failureThreshold
|
||||
- replicas
|
||||
type: object
|
||||
idleReplicaCount:
|
||||
format: int32
|
||||
type: integer
|
||||
maxReplicaCount:
|
||||
format: int32
|
||||
type: integer
|
||||
minReplicaCount:
|
||||
format: int32
|
||||
type: integer
|
||||
pollingInterval:
|
||||
format: int32
|
||||
type: integer
|
||||
scaleTargetRef:
|
||||
description: ScaleTarget holds the reference to the scale target Object
|
||||
properties:
|
||||
apiVersion:
|
||||
type: string
|
||||
envSourceContainerName:
|
||||
type: string
|
||||
kind:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
triggers:
|
||||
items:
|
||||
description: ScaleTriggers reference the scaler that will be used
|
||||
properties:
|
||||
authenticationRef:
|
||||
description: AuthenticationRef points to the TriggerAuthentication
|
||||
or ClusterTriggerAuthentication object that is used to authenticate
|
||||
the scaler with the environment
|
||||
properties:
|
||||
kind:
|
||||
description: Kind of the resource being referred to. Defaults
|
||||
to TriggerAuthentication.
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
metadata:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
metricType:
|
||||
description: MetricTargetType specifies the type of metric being
|
||||
targeted, and should be either "Value", "AverageValue", or
|
||||
"Utilization"
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
type:
|
||||
type: string
|
||||
useCachedMetrics:
|
||||
type: boolean
|
||||
required:
|
||||
- metadata
|
||||
- type
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- scaleTargetRef
|
||||
- triggers
|
||||
type: object
|
||||
status:
|
||||
description: ScaledObjectStatus is the status for a ScaledObject resource
|
||||
properties:
|
||||
compositeScalerName:
|
||||
type: string
|
||||
conditions:
|
||||
description: Conditions an array representation to store multiple
|
||||
Conditions
|
||||
items:
|
||||
description: Condition to store the condition state
|
||||
properties:
|
||||
message:
|
||||
description: A human readable message indicating details about
|
||||
the transition.
|
||||
type: string
|
||||
reason:
|
||||
description: The reason for the condition's last transition.
|
||||
type: string
|
||||
status:
|
||||
description: Status of the condition, one of True, False, Unknown.
|
||||
type: string
|
||||
type:
|
||||
description: Type of condition
|
||||
type: string
|
||||
required:
|
||||
- status
|
||||
- type
|
||||
type: object
|
||||
type: array
|
||||
externalMetricNames:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
health:
|
||||
additionalProperties:
|
||||
description: HealthStatus is the status for a ScaledObject's health
|
||||
properties:
|
||||
numberOfFailures:
|
||||
format: int32
|
||||
type: integer
|
||||
status:
|
||||
description: HealthStatusType is an indication of whether the
|
||||
health status is happy or failing
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
hpaName:
|
||||
type: string
|
||||
lastActiveTime:
|
||||
format: date-time
|
||||
type: string
|
||||
originalReplicaCount:
|
||||
format: int32
|
||||
type: integer
|
||||
pausedReplicaCount:
|
||||
format: int32
|
||||
type: integer
|
||||
resourceMetricNames:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
scaleTargetGVKR:
|
||||
description: GroupVersionKindResource provides unified structure for
|
||||
schema.GroupVersionKind and Resource
|
||||
properties:
|
||||
group:
|
||||
type: string
|
||||
kind:
|
||||
type: string
|
||||
resource:
|
||||
type: string
|
||||
version:
|
||||
type: string
|
||||
required:
|
||||
- group
|
||||
- kind
|
||||
- resource
|
||||
- version
|
||||
type: object
|
||||
scaleTargetKind:
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
@@ -0,0 +1,517 @@
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.13.0
|
||||
name: triggerauthentications.keda.sh
|
||||
spec:
|
||||
group: keda.sh
|
||||
names:
|
||||
kind: TriggerAuthentication
|
||||
listKind: TriggerAuthenticationList
|
||||
plural: triggerauthentications
|
||||
shortNames:
|
||||
- ta
|
||||
- triggerauth
|
||||
singular: triggerauthentication
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .spec.podIdentity.provider
|
||||
name: PodIdentity
|
||||
type: string
|
||||
- jsonPath: .spec.secretTargetRef[*].name
|
||||
name: Secret
|
||||
type: string
|
||||
- jsonPath: .spec.env[*].name
|
||||
name: Env
|
||||
type: string
|
||||
- jsonPath: .spec.hashiCorpVault.address
|
||||
name: VaultAddress
|
||||
type: string
|
||||
- jsonPath: .status.scaledobjects
|
||||
name: ScaledObjects
|
||||
priority: 1
|
||||
type: string
|
||||
- jsonPath: .status.scaledjobs
|
||||
name: ScaledJobs
|
||||
priority: 1
|
||||
type: string
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: TriggerAuthentication defines how a trigger can authenticate
|
||||
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: TriggerAuthenticationSpec defines the various ways to authenticate
|
||||
properties:
|
||||
awsSecretManager:
|
||||
description: AwsSecretManager is used to authenticate using AwsSecretManager
|
||||
properties:
|
||||
credentials:
|
||||
properties:
|
||||
accessKey:
|
||||
properties:
|
||||
valueFrom:
|
||||
properties:
|
||||
secretKeyRef:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- name
|
||||
type: object
|
||||
required:
|
||||
- secretKeyRef
|
||||
type: object
|
||||
required:
|
||||
- valueFrom
|
||||
type: object
|
||||
accessSecretKey:
|
||||
properties:
|
||||
valueFrom:
|
||||
properties:
|
||||
secretKeyRef:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- name
|
||||
type: object
|
||||
required:
|
||||
- secretKeyRef
|
||||
type: object
|
||||
required:
|
||||
- valueFrom
|
||||
type: object
|
||||
accessToken:
|
||||
properties:
|
||||
valueFrom:
|
||||
properties:
|
||||
secretKeyRef:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- name
|
||||
type: object
|
||||
required:
|
||||
- secretKeyRef
|
||||
type: object
|
||||
required:
|
||||
- valueFrom
|
||||
type: object
|
||||
required:
|
||||
- accessKey
|
||||
- accessSecretKey
|
||||
type: object
|
||||
podIdentity:
|
||||
description: AuthPodIdentity allows users to select the platform
|
||||
native identity mechanism
|
||||
properties:
|
||||
identityId:
|
||||
type: string
|
||||
identityOwner:
|
||||
description: IdentityOwner configures which identity has to
|
||||
be used during auto discovery, keda or the scaled workload.
|
||||
Mutually exclusive with roleArn
|
||||
enum:
|
||||
- keda
|
||||
- workload
|
||||
type: string
|
||||
provider:
|
||||
description: PodIdentityProvider contains the list of providers
|
||||
enum:
|
||||
- azure
|
||||
- azure-workload
|
||||
- gcp
|
||||
- aws
|
||||
- aws-eks
|
||||
- aws-kiam
|
||||
type: string
|
||||
roleArn:
|
||||
description: RoleArn sets the AWS RoleArn to be used. Mutually
|
||||
exclusive with IdentityOwner
|
||||
type: string
|
||||
required:
|
||||
- provider
|
||||
type: object
|
||||
region:
|
||||
type: string
|
||||
secrets:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
parameter:
|
||||
type: string
|
||||
versionId:
|
||||
type: string
|
||||
versionStage:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- parameter
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- secrets
|
||||
type: object
|
||||
azureKeyVault:
|
||||
description: AzureKeyVault is used to authenticate using Azure Key
|
||||
Vault
|
||||
properties:
|
||||
cloud:
|
||||
properties:
|
||||
activeDirectoryEndpoint:
|
||||
type: string
|
||||
keyVaultResourceURL:
|
||||
type: string
|
||||
type:
|
||||
type: string
|
||||
required:
|
||||
- type
|
||||
type: object
|
||||
credentials:
|
||||
properties:
|
||||
clientId:
|
||||
type: string
|
||||
clientSecret:
|
||||
properties:
|
||||
valueFrom:
|
||||
properties:
|
||||
secretKeyRef:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- name
|
||||
type: object
|
||||
required:
|
||||
- secretKeyRef
|
||||
type: object
|
||||
required:
|
||||
- valueFrom
|
||||
type: object
|
||||
tenantId:
|
||||
type: string
|
||||
required:
|
||||
- clientId
|
||||
- clientSecret
|
||||
- tenantId
|
||||
type: object
|
||||
podIdentity:
|
||||
description: AuthPodIdentity allows users to select the platform
|
||||
native identity mechanism
|
||||
properties:
|
||||
identityId:
|
||||
type: string
|
||||
identityOwner:
|
||||
description: IdentityOwner configures which identity has to
|
||||
be used during auto discovery, keda or the scaled workload.
|
||||
Mutually exclusive with roleArn
|
||||
enum:
|
||||
- keda
|
||||
- workload
|
||||
type: string
|
||||
provider:
|
||||
description: PodIdentityProvider contains the list of providers
|
||||
enum:
|
||||
- azure
|
||||
- azure-workload
|
||||
- gcp
|
||||
- aws
|
||||
- aws-eks
|
||||
- aws-kiam
|
||||
type: string
|
||||
roleArn:
|
||||
description: RoleArn sets the AWS RoleArn to be used. Mutually
|
||||
exclusive with IdentityOwner
|
||||
type: string
|
||||
required:
|
||||
- provider
|
||||
type: object
|
||||
secrets:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
parameter:
|
||||
type: string
|
||||
version:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- parameter
|
||||
type: object
|
||||
type: array
|
||||
vaultUri:
|
||||
type: string
|
||||
required:
|
||||
- secrets
|
||||
- vaultUri
|
||||
type: object
|
||||
configMapTargetRef:
|
||||
items:
|
||||
description: AuthConfigMapTargetRef is used to authenticate using
|
||||
a reference to a config map
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
parameter:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- name
|
||||
- parameter
|
||||
type: object
|
||||
type: array
|
||||
env:
|
||||
items:
|
||||
description: AuthEnvironment is used to authenticate using environment
|
||||
variables in the destination ScaleTarget spec
|
||||
properties:
|
||||
containerName:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
parameter:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- parameter
|
||||
type: object
|
||||
type: array
|
||||
gcpSecretManager:
|
||||
properties:
|
||||
credentials:
|
||||
properties:
|
||||
clientSecret:
|
||||
properties:
|
||||
valueFrom:
|
||||
properties:
|
||||
secretKeyRef:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- name
|
||||
type: object
|
||||
required:
|
||||
- secretKeyRef
|
||||
type: object
|
||||
required:
|
||||
- valueFrom
|
||||
type: object
|
||||
required:
|
||||
- clientSecret
|
||||
type: object
|
||||
podIdentity:
|
||||
description: AuthPodIdentity allows users to select the platform
|
||||
native identity mechanism
|
||||
properties:
|
||||
identityId:
|
||||
type: string
|
||||
identityOwner:
|
||||
description: IdentityOwner configures which identity has to
|
||||
be used during auto discovery, keda or the scaled workload.
|
||||
Mutually exclusive with roleArn
|
||||
enum:
|
||||
- keda
|
||||
- workload
|
||||
type: string
|
||||
provider:
|
||||
description: PodIdentityProvider contains the list of providers
|
||||
enum:
|
||||
- azure
|
||||
- azure-workload
|
||||
- gcp
|
||||
- aws
|
||||
- aws-eks
|
||||
- aws-kiam
|
||||
type: string
|
||||
roleArn:
|
||||
description: RoleArn sets the AWS RoleArn to be used. Mutually
|
||||
exclusive with IdentityOwner
|
||||
type: string
|
||||
required:
|
||||
- provider
|
||||
type: object
|
||||
secrets:
|
||||
items:
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
parameter:
|
||||
type: string
|
||||
version:
|
||||
type: string
|
||||
required:
|
||||
- id
|
||||
- parameter
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- secrets
|
||||
type: object
|
||||
hashiCorpVault:
|
||||
description: HashiCorpVault is used to authenticate using Hashicorp
|
||||
Vault
|
||||
properties:
|
||||
address:
|
||||
type: string
|
||||
authentication:
|
||||
description: VaultAuthentication contains the list of Hashicorp
|
||||
Vault authentication methods
|
||||
type: string
|
||||
credential:
|
||||
description: Credential defines the Hashicorp Vault credentials
|
||||
depending on the authentication method
|
||||
properties:
|
||||
serviceAccount:
|
||||
type: string
|
||||
token:
|
||||
type: string
|
||||
type: object
|
||||
mount:
|
||||
type: string
|
||||
namespace:
|
||||
type: string
|
||||
role:
|
||||
type: string
|
||||
secrets:
|
||||
items:
|
||||
description: VaultSecret defines the mapping between the path
|
||||
of the secret in Vault to the parameter
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
parameter:
|
||||
type: string
|
||||
path:
|
||||
type: string
|
||||
pkiData:
|
||||
properties:
|
||||
altNames:
|
||||
type: string
|
||||
commonName:
|
||||
type: string
|
||||
format:
|
||||
type: string
|
||||
ipSans:
|
||||
type: string
|
||||
otherSans:
|
||||
type: string
|
||||
ttl:
|
||||
type: string
|
||||
uriSans:
|
||||
type: string
|
||||
type: object
|
||||
type:
|
||||
description: VaultSecretType defines the type of vault secret
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- parameter
|
||||
- path
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- address
|
||||
- authentication
|
||||
- secrets
|
||||
type: object
|
||||
podIdentity:
|
||||
description: AuthPodIdentity allows users to select the platform native
|
||||
identity mechanism
|
||||
properties:
|
||||
identityId:
|
||||
type: string
|
||||
identityOwner:
|
||||
description: IdentityOwner configures which identity has to be
|
||||
used during auto discovery, keda or the scaled workload. Mutually
|
||||
exclusive with roleArn
|
||||
enum:
|
||||
- keda
|
||||
- workload
|
||||
type: string
|
||||
provider:
|
||||
description: PodIdentityProvider contains the list of providers
|
||||
enum:
|
||||
- azure
|
||||
- azure-workload
|
||||
- gcp
|
||||
- aws
|
||||
- aws-eks
|
||||
- aws-kiam
|
||||
type: string
|
||||
roleArn:
|
||||
description: RoleArn sets the AWS RoleArn to be used. Mutually
|
||||
exclusive with IdentityOwner
|
||||
type: string
|
||||
required:
|
||||
- provider
|
||||
type: object
|
||||
secretTargetRef:
|
||||
items:
|
||||
description: AuthSecretTargetRef is used to authenticate using a
|
||||
reference to a secret
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
parameter:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- name
|
||||
- parameter
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
status:
|
||||
description: TriggerAuthenticationStatus defines the observed state of
|
||||
TriggerAuthentication
|
||||
properties:
|
||||
scaledjobs:
|
||||
type: string
|
||||
scaledobjects:
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
17
crd/keda/datas.tf
Normal file
17
crd/keda/datas.tf
Normal file
@@ -0,0 +1,17 @@
|
||||
|
||||
locals {
|
||||
common-labels = {
|
||||
"vynil.solidite.fr/owner-name" = var.instance
|
||||
"vynil.solidite.fr/owner-namespace" = var.namespace
|
||||
"vynil.solidite.fr/owner-category" = var.category
|
||||
"vynil.solidite.fr/owner-component" = var.component
|
||||
"app.kubernetes.io/managed-by" = "vynil"
|
||||
"app.kubernetes.io/name" = var.component
|
||||
"app.kubernetes.io/instance" = var.instance
|
||||
}
|
||||
}
|
||||
data "kustomization_overlay" "data" {
|
||||
common_labels = local.common-labels
|
||||
namespace = var.namespace
|
||||
resources = []
|
||||
}
|
||||
36
crd/keda/index.rhai
Normal file
36
crd/keda/index.rhai
Normal file
@@ -0,0 +1,36 @@
|
||||
const VERSION="2.13.1";
|
||||
const SRC=src;
|
||||
const DEST=dest;
|
||||
const DOIT=config.apply;
|
||||
const sourcesDir=`https://github.com/kedacore/keda/releases/download/v${VERSION}`;
|
||||
const sources=[
|
||||
`keda-${VERSION}-crds.yaml`
|
||||
];
|
||||
const crdFiles=[
|
||||
"apiextensions.k8s.io_v1_CustomResourceDefinition_cloudeventsources.eventing.keda.sh.yaml",
|
||||
"apiextensions.k8s.io_v1_CustomResourceDefinition_clustertriggerauthentications.keda.sh.yaml",
|
||||
"apiextensions.k8s.io_v1_CustomResourceDefinition_scaledjobs.keda.sh.yaml",
|
||||
"apiextensions.k8s.io_v1_CustomResourceDefinition_scaledobjects.keda.sh.yaml",
|
||||
"apiextensions.k8s.io_v1_CustomResourceDefinition_triggerauthentications.keda.sh.yaml",
|
||||
];
|
||||
fn pre_pack() {
|
||||
for file in global::sources {
|
||||
shell(`curl -sL ${global::sourcesDir}/${file} > ${global::SRC}/keda-crds.yaml`);
|
||||
}
|
||||
}
|
||||
fn pre_install() {
|
||||
if ! global::DOIT {
|
||||
return;
|
||||
}
|
||||
for file in global::crdFiles {
|
||||
shell(`kubectl replace -f ${global::SRC}/${file} || kubectl create -f ${global::SRC}/${file}`);
|
||||
}
|
||||
}
|
||||
fn post_destroy() {
|
||||
if ! global::DOIT {
|
||||
return;
|
||||
}
|
||||
for file in global::crdFiles {
|
||||
shell(`kubectl delete -f ${global::SRC}/${file}`);
|
||||
}
|
||||
}
|
||||
16
crd/keda/index.yaml
Normal file
16
crd/keda/index.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
apiVersion: vinyl.solidite.fr/v1beta1
|
||||
kind: Component
|
||||
category: crd
|
||||
metadata:
|
||||
name: keda
|
||||
description: CRD for KEDA
|
||||
options:
|
||||
apply:
|
||||
default: true
|
||||
examples:
|
||||
- true
|
||||
type: boolean
|
||||
dependencies: []
|
||||
providers: null
|
||||
tfaddtype: null
|
||||
Reference in New Issue
Block a user