{ "description": "TriggerAuthentication defines how a trigger can authenticate", "properties": { "apiVersion": { "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore 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", "additionalProperties": false } }, "required": [ "secretKeyRef" ], "type": "object", "additionalProperties": false } }, "required": [ "valueFrom" ], "type": "object", "additionalProperties": false }, "accessSecretKey": { "properties": { "valueFrom": { "properties": { "secretKeyRef": { "properties": { "key": { "type": "string" }, "name": { "type": "string" } }, "required": [ "key", "name" ], "type": "object", "additionalProperties": false } }, "required": [ "secretKeyRef" ], "type": "object", "additionalProperties": false } }, "required": [ "valueFrom" ], "type": "object", "additionalProperties": false }, "accessToken": { "properties": { "valueFrom": { "properties": { "secretKeyRef": { "properties": { "key": { "type": "string" }, "name": { "type": "string" } }, "required": [ "key", "name" ], "type": "object", "additionalProperties": false } }, "required": [ "secretKeyRef" ], "type": "object", "additionalProperties": false } }, "required": [ "valueFrom" ], "type": "object", "additionalProperties": false } }, "required": [ "accessKey", "accessSecretKey" ], "type": "object", "additionalProperties": false }, "podIdentity": { "description": "AuthPodIdentity allows users to select the platform native identity\nmechanism", "properties": { "identityAuthorityHost": { "description": "Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set", "type": "string" }, "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" }, "identityTenantId": { "description": "Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set", "type": "string" }, "provider": { "description": "PodIdentityProvider contains the list of providers", "enum": [ "azure-workload", "gcp", "aws", "aws-eks", "none" ], "type": "string" }, "roleArn": { "description": "RoleArn sets the AWS RoleArn to be used. Mutually exclusive with IdentityOwner", "type": "string" } }, "required": [ "provider" ], "type": "object", "additionalProperties": false }, "region": { "type": "string" }, "secrets": { "items": { "properties": { "name": { "type": "string" }, "parameter": { "type": "string" }, "secretKey": { "type": "string" }, "versionId": { "type": "string" }, "versionStage": { "type": "string" } }, "required": [ "name", "parameter" ], "type": "object", "additionalProperties": false }, "type": "array" } }, "required": [ "secrets" ], "type": "object", "additionalProperties": false }, "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", "additionalProperties": false }, "credentials": { "properties": { "clientId": { "type": "string" }, "clientSecret": { "properties": { "valueFrom": { "properties": { "secretKeyRef": { "properties": { "key": { "type": "string" }, "name": { "type": "string" } }, "required": [ "key", "name" ], "type": "object", "additionalProperties": false } }, "required": [ "secretKeyRef" ], "type": "object", "additionalProperties": false } }, "required": [ "valueFrom" ], "type": "object", "additionalProperties": false }, "tenantId": { "type": "string" } }, "required": [ "clientId", "clientSecret", "tenantId" ], "type": "object", "additionalProperties": false }, "podIdentity": { "description": "AuthPodIdentity allows users to select the platform native identity\nmechanism", "properties": { "identityAuthorityHost": { "description": "Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set", "type": "string" }, "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" }, "identityTenantId": { "description": "Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set", "type": "string" }, "provider": { "description": "PodIdentityProvider contains the list of providers", "enum": [ "azure-workload", "gcp", "aws", "aws-eks", "none" ], "type": "string" }, "roleArn": { "description": "RoleArn sets the AWS RoleArn to be used. Mutually exclusive with IdentityOwner", "type": "string" } }, "required": [ "provider" ], "type": "object", "additionalProperties": false }, "secrets": { "items": { "properties": { "name": { "type": "string" }, "parameter": { "type": "string" }, "version": { "type": "string" } }, "required": [ "name", "parameter" ], "type": "object", "additionalProperties": false }, "type": "array" }, "vaultUri": { "type": "string" } }, "required": [ "secrets", "vaultUri" ], "type": "object", "additionalProperties": false }, "boundServiceAccountToken": { "items": { "properties": { "parameter": { "type": "string" }, "serviceAccountName": { "type": "string" } }, "required": [ "parameter", "serviceAccountName" ], "type": "object", "additionalProperties": false }, "type": "array" }, "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", "additionalProperties": false }, "type": "array" }, "env": { "items": { "description": "AuthEnvironment is used to authenticate using environment variables\nin the destination ScaleTarget spec", "properties": { "containerName": { "type": "string" }, "name": { "type": "string" }, "parameter": { "type": "string" } }, "required": [ "name", "parameter" ], "type": "object", "additionalProperties": false }, "type": "array" }, "filePath": { "description": "FilePath specifies a file containing auth parameters as JSON map[string]string.\nWhen set, auth params are read directly from this file instead.", "type": "string" }, "gcpSecretManager": { "properties": { "credentials": { "properties": { "clientSecret": { "properties": { "valueFrom": { "properties": { "secretKeyRef": { "properties": { "key": { "type": "string" }, "name": { "type": "string" } }, "required": [ "key", "name" ], "type": "object", "additionalProperties": false } }, "required": [ "secretKeyRef" ], "type": "object", "additionalProperties": false } }, "required": [ "valueFrom" ], "type": "object", "additionalProperties": false } }, "required": [ "clientSecret" ], "type": "object", "additionalProperties": false }, "podIdentity": { "description": "AuthPodIdentity allows users to select the platform native identity\nmechanism", "properties": { "identityAuthorityHost": { "description": "Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set", "type": "string" }, "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" }, "identityTenantId": { "description": "Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set", "type": "string" }, "provider": { "description": "PodIdentityProvider contains the list of providers", "enum": [ "azure-workload", "gcp", "aws", "aws-eks", "none" ], "type": "string" }, "roleArn": { "description": "RoleArn sets the AWS RoleArn to be used. Mutually exclusive with IdentityOwner", "type": "string" } }, "required": [ "provider" ], "type": "object", "additionalProperties": false }, "secrets": { "items": { "properties": { "id": { "type": "string" }, "parameter": { "type": "string" }, "version": { "type": "string" } }, "required": [ "id", "parameter" ], "type": "object", "additionalProperties": false }, "type": "array" } }, "required": [ "secrets" ], "type": "object", "additionalProperties": false }, "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" }, "serviceAccountName": { "type": "string" }, "token": { "type": "string" } }, "type": "object", "additionalProperties": false }, "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", "additionalProperties": false }, "type": { "description": "VaultSecretType defines the type of vault secret", "type": "string" } }, "required": [ "key", "parameter", "path" ], "type": "object", "additionalProperties": false }, "type": "array" } }, "required": [ "address", "authentication", "secrets" ], "type": "object", "additionalProperties": false }, "podIdentity": { "description": "AuthPodIdentity allows users to select the platform native identity\nmechanism", "properties": { "identityAuthorityHost": { "description": "Set identityAuthorityHost to override the default Azure authority host. If this is set, then the IdentityTenantID must also be set", "type": "string" }, "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" }, "identityTenantId": { "description": "Set identityTenantId to override the default Azure tenant id. If this is set, then the IdentityID must also be set", "type": "string" }, "provider": { "description": "PodIdentityProvider contains the list of providers", "enum": [ "azure-workload", "gcp", "aws", "aws-eks", "none" ], "type": "string" }, "roleArn": { "description": "RoleArn sets the AWS RoleArn to be used. Mutually exclusive with IdentityOwner", "type": "string" } }, "required": [ "provider" ], "type": "object", "additionalProperties": false }, "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", "additionalProperties": false }, "type": "array" } }, "type": "object", "additionalProperties": false }, "status": { "description": "TriggerAuthenticationStatus defines the observed state of TriggerAuthentication", "properties": { "scaledjobs": { "type": "string" }, "scaledobjects": { "type": "string" } }, "type": "object", "additionalProperties": false } }, "required": [ "spec" ], "type": "object" }