config/crd/bases/azconfig.io_azureappconfigurationproviders.yaml (352 lines of code) (raw):
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
name: azureappconfigurationproviders.azconfig.io
spec:
group: azconfig.io
names:
kind: AzureAppConfigurationProvider
listKind: AzureAppConfigurationProviderList
plural: azureappconfigurationproviders
singular: azureappconfigurationprovider
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: AzureAppConfigurationProvider is the Schema for the AzureAppConfigurationProviders
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: AzureAppConfigurationProviderSpec defines the desired state
of AzureAppConfigurationProvider
properties:
auth:
description: AzureAppConfigurationProviderAuth defines the authentication
type used to connect Azure AppConfiguration
properties:
managedIdentityClientId:
description: ClientId of the Managed Identity
type: string
servicePrincipalReference:
description: Secret reference for Service Principle
type: string
workloadIdentity:
description: Workload Identity
properties:
managedIdentityClientId:
type: string
managedIdentityClientIdReference:
description: ManagedIdentityReferenceParameters defines the
parameters for configmap reference
properties:
configMap:
description: ConfigMap contains the managed identity client
id
type: string
key:
description: Key of the managed identity client id
type: string
required:
- configMap
- key
type: object
serviceAccountName:
type: string
type: object
type: object
configuration:
description: AzureAppConfigurationKeyValueOptions defines the options
of fetching key-values from AppConfiguration.
properties:
refresh:
description: Defines the settings for dynamic configuration.
properties:
enabled:
default: false
type: boolean
interval:
default: 30s
format: duration
type: string
monitoring:
description: Defines the settings for change monitoring.
properties:
keyValues:
items:
description: Defines the keyValues to be watched.
properties:
key:
type: string
label:
default: "\0"
type: string
required:
- key
type: object
minItems: 1
type: array
required:
- keyValues
type: object
type: object
selectors:
items:
description: KeyLabelSelector defines the filters when fetching
the data from Azure AppConfiguration
properties:
keyFilter:
type: string
labelFilter:
type: string
snapshotName:
type: string
type: object
type: array
trimKeyPrefixes:
items:
type: string
type: array
type: object
connectionStringReference:
type: string
endpoint:
description: The endpoint url of AppConfiguration which should sync
the configuration key-values from.
format: uri
type: string
featureFlag:
description: AzureAppConfigurationFeatureFlagOptions defines the options
of fetching feature flags from AppConfiguration.
properties:
refresh:
description: Defines the settings for feature flag refresh.
properties:
enabled:
default: false
type: boolean
interval:
default: 30s
format: duration
type: string
required:
- interval
type: object
selectors:
items:
description: KeyLabelSelector defines the filters when fetching
the data from Azure AppConfiguration
properties:
keyFilter:
type: string
labelFilter:
type: string
snapshotName:
type: string
type: object
type: array
type: object
loadBalancingEnabled:
default: false
type: boolean
replicaDiscoveryEnabled:
default: true
type: boolean
secret:
description: SecretReference defines the settings for resolving secret
reference type items
properties:
auth:
properties:
keyVaults:
items:
description: AzureKeyVaultPerVaultAuth defines the authentication
type used to Azure KeyVault resolve KeyVaultReference
properties:
managedIdentityClientId:
description: ClientId of the Managed Identity
type: string
servicePrincipalReference:
description: Secret reference for Service Principle
type: string
uri:
description: The uri of KeyVault which should sync the
secret reference item from
format: uri
type: string
workloadIdentity:
description: Workload Identity
properties:
managedIdentityClientId:
type: string
managedIdentityClientIdReference:
description: ManagedIdentityReferenceParameters
defines the parameters for configmap reference
properties:
configMap:
description: ConfigMap contains the managed
identity client id
type: string
key:
description: Key of the managed identity client
id
type: string
required:
- configMap
- key
type: object
serviceAccountName:
type: string
type: object
required:
- uri
type: object
type: array
managedIdentityClientId:
description: ClientId of the Managed Identity
type: string
servicePrincipalReference:
description: Secret reference for Service Principle
type: string
workloadIdentity:
description: Workload Identity
properties:
managedIdentityClientId:
type: string
managedIdentityClientIdReference:
description: ManagedIdentityReferenceParameters defines
the parameters for configmap reference
properties:
configMap:
description: ConfigMap contains the managed identity
client id
type: string
key:
description: Key of the managed identity client id
type: string
required:
- configMap
- key
type: object
serviceAccountName:
type: string
type: object
type: object
refresh:
description: Defines the settings for refresh.
properties:
enabled:
default: false
type: boolean
interval:
format: duration
type: string
required:
- interval
type: object
target:
description: SecretGenerationParameters defines the name of target
Secret
properties:
secretName:
maxLength: 253
minLength: 1
pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*'
type: string
required:
- secretName
type: object
required:
- target
type: object
target:
description: ConfigurationGenerationParameters defines the name of
target ConfigMap
properties:
configMapData:
description: ConfigMapDataOptions defines the options of generating
ConfigMap data
properties:
key:
type: string
separator:
description: The delimiter that is used to output the ConfigMap
data in hierarchical format when the type is set to json
or yaml.
maxLength: 50
minLength: 1
type: string
type:
default: default
enum:
- default
- json
- yaml
- properties
type: string
type: object
configMapName:
maxLength: 253
minLength: 1
pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*'
type: string
required:
- configMapName
type: object
required:
- target
type: object
status:
description: AzureAppConfigurationProviderStatus defines the observed
state of AzureAppConfigurationProvider
properties:
lastReconcileTime:
format: date-time
type: string
lastSyncTime:
format: date-time
type: string
message:
type: string
phase:
type: string
refreshStatus:
description: RefreshStatus defines last refresh time of configmap
and secret when dynamic feature is enabled
properties:
lastFeatureFlagRefreshTime:
format: date-time
type: string
lastKeyValueRefreshTime:
format: date-time
type: string
lastKeyVaultReferenceRefreshTime:
format: date-time
type: string
type: object
type: object
type: object
served: true
storage: true
subresources:
status: {}