Microcks
microcks.io / v1alpha1
apiVersion: microcks.io/v1alpha1
kind: Microcks
metadata:
name: example
spec object
clusterDomain
string
Cluster internal domain (used to build service FQDNs). Default to 'cluster.local'
commonAffinities object
Common affinities added to all managed resources
nodeAffinity object
preferredDuringSchedulingIgnoredDuringExecution []object
preference object
matchExpressions []object
key
string
operator
string
values
[]string
matchFields []object
key
string
operator
string
values
[]string
weight
integer
requiredDuringSchedulingIgnoredDuringExecution object
nodeSelectorTerms []object
matchExpressions []object
key
string
operator
string
values
[]string
matchFields []object
key
string
operator
string
values
[]string
podAffinity object
preferredDuringSchedulingIgnoredDuringExecution []object
podAffinityTerm object
labelSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
matchLabelKeys
[]string
mismatchLabelKeys
[]string
namespaceSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
namespaces
[]string
topologyKey
string
weight
integer
requiredDuringSchedulingIgnoredDuringExecution []object
labelSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
matchLabelKeys
[]string
mismatchLabelKeys
[]string
namespaceSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
namespaces
[]string
topologyKey
string
podAntiAffinity object
preferredDuringSchedulingIgnoredDuringExecution []object
podAffinityTerm object
labelSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
matchLabelKeys
[]string
mismatchLabelKeys
[]string
namespaceSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
namespaces
[]string
topologyKey
string
weight
integer
requiredDuringSchedulingIgnoredDuringExecution []object
labelSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
matchLabelKeys
[]string
mismatchLabelKeys
[]string
namespaceSelector object
matchExpressions []object
key
string
operator
string
values
[]string
matchLabels
object
namespaces
[]string
topologyKey
string
commonAnnotations
object
Common annotations added to all managed resources
commonExpositions object
Common exposition settings that applies to all managed resources
gatewayRoute object
Common Gateway route specification (such as reference name, reference namespace etc.). Default reference name is 'default'.
annotations
object
Annotations to apply to Route if created
expose
boolean
Whether a Gateway Route should be exposed (ie. created)
gatewayRefName
string
The parent Gateway reference name, sets the parentRefs.name property
gatewayRefNamespace
string
The parent Gateway reference namespace, sets the parentRefs.namespace property
gatewayRefSectionName
string
The parent Gateway reference section name, sets the parentRefs.sectionName property
ingress object
Common ingress specification (such as class name, etc.)
annotations
object
Annotations to apply to Ingress if created
className
string
When exposed, sets the ingressClassName property
expose
boolean
Whether Ingress should be exposed (ie. created)
generateCert
boolean
Whether operator should generate self-signed certificate for this ingress
secretRef
string
Existing Secret holding TLS key and certificate name
type
string
Type of exposition for Microcks services. Default is 'INGRESS'.
enum:
GATEWAYROUTE, INGRESS, NONE
commonLabels
object
Common labels to add to all managed resources
commonTolerations []object
Common tolerations added to all managed resources
effect
string
key
string
operator
string
tolerationSeconds
integer
value
string
features object
Configuration of optional features in Microcks
aiCopilot object
Configuration for AI Copilot related features
enabled
boolean
Enable/disable this feature. Default is false
implementation
string
The implementation to use for AI Copilot feature
openai object
Configuration of OpenAI access
apiKey
string
The OpenAI API key to use
apiUrl
string
The OpenAI API URL to use
maxTokens
integer
The maximum number of tokens to generate/transfer
model
string
The model to use for OpenAI API calls
timeout
integer
The timeout for OpenAI API calls
async object
Configuration for asynchronous features
amqp object
Configuration of AMQP broker access
password
string
The password to use for authenticating to the broker
url
string
The URL to use for connecting to the broker
username
string
The username to use for authenticating to the broker
defaultAvroEncoding
string
Default Avro encoding mode for publishing mock messages
enum:
RAW, REGISTRY
defaultBinding
string
Default protocol binding to use if no specified in AsyncAPI document
defaultFrequency
integer
Default frequency for publishing async mock messages
enabled
boolean
Enable/disable this feature. Default is false
env []object
Environment variables for Async Minion component
name
string
value
string
valueFrom object
configMapKeyRef object
key
string
name
string
optional
boolean
fieldRef object
apiVersion
string
fieldPath
string
resourceFieldRef object
containerName
string
divisor
string | integer
resource
string
secretKeyRef object
key
string
name
string
optional
boolean
googlepubsub object
Configuration of Google PubSub access
project
string
The Google Cloud Platform (GCP) project to use for connecting to PubSub broker
serviceAccountSecretRef object
A Secret reference holding the GCP serviceAccount authentication token JSON file
name
string
image object
The container image to use for Async Minion component
digest
string
The digest of the image
registry
string
The registry where to pull this image (docker.io, quay.io, internal one...)
repository
string
The repository name of the image
tag
string
The tag of the image
kafka object
Configuration of Kafka broker access and/or install
authentication object
Specification of authentication method when using external Kafka
keystoreSecretRef object
Reference to Secret holding client private key when using MTLS
name
string
keystoreType
string
Type of keystore where to find private key when using MTLS. PKCS12 and JKS are supported
saslJaasConfig
string
Additional JAAS config for SASL_TLS authentication type
saslMechanism
string
SASL mechanism used when using SASL_TLS authentication type
truststoreSecretRef object
Reference to Secret holding cluster certificate for TLS transport
name
string
truststoreType
string
Type of truststore where to find cluster certificate for TLS transport. PKCS12 and JKS are supported
type
string
Type of authentication method for connecting to external Kafka broker
enum:
NONE, SASL_SSL, SSL
enableKraft
boolean
Enable Kafka KRaft mode (no Zookeeper)? Default to true
ingressClassName
string
When exposed via ingress, sets the ingressClassName property in the Ingress resources
install
boolean
Install Kafka broker or reuse an existing instance? Default to true
persistent
boolean
Use persistent storage or ephemeral one? Default to false
resources object
Kubernetes resource requirements for Kafka broker
claims []object
name
string
limits
object
requests
object
schemaRegistry object
Specification of Schema registry connection
confluentCompatibility
boolean
Whether you should use the Confluent compatibility API layer. Default to true.
credentialsSource
string
The source of credentials for authenticating the connection to Schema Registry. Defaults to USER_INFO.
url
string
The URL for accessing external Schema Registry
username
string
The username for authenticating the connection to Schema Registry
url
string
The URL to use for either exposing embedded Kafka broker or connecting external broker
volumeSize
string
Size of persistent storage volume if persistent
zkResources object
Kubernetes resource requirements for Zookeeper ensemble
claims []object
name
string
limits
object
requests
object
mqtt object
Configuration of MQTT broker access
password
string
The password to use for authenticating to the broker
url
string
The URL to use for connecting to the broker
username
string
The username to use for authenticating to the broker
nats object
Configuration of NATS broker access
password
string
The password to use for authenticating to the broker
url
string
The URL to use for connecting to the broker
username
string
The username to use for authenticating to the broker
sns object
Configuration of Amazon SNS access
credentialsProfile
string
The name of profile to use for connecting when using profile credentials type
credentialsSecretRef object
A secret reference holding the credentials information for the chosen type
name
string
credentialsType
string
The type of credentials provider to use for connecting. Either env-variable or profile.
enum:
env-variable, profile
region
string
The Amazon region to use for connecting to this service
sqs object
Configuration of Amazon SQS access
credentialsProfile
string
The name of profile to use for connecting when using profile credentials type
credentialsSecretRef object
A secret reference holding the credentials information for the chosen type
name
string
credentialsType
string
The type of credentials provider to use for connecting. Either env-variable or profile.
enum:
env-variable, profile
region
string
The Amazon region to use for connecting to this service
ws object
Configuration of WebSocket exposition
gatewayRoute object
Configuration to apply to HTTPRoute if created
annotations
object
Annotations to apply to Route if created
expose
boolean
Whether a Gateway Route should be exposed (ie. created)
gatewayRefName
string
The parent Gateway reference name, sets the parentRefs.name property
gatewayRefNamespace
string
The parent Gateway reference namespace, sets the parentRefs.namespace property
gatewayRefSectionName
string
The parent Gateway reference section name, sets the parentRefs.sectionName property
ingress object
Configuration to apply to Ingress if created
annotations
object
Annotations to apply to Ingress if created
className
string
When exposed, sets the ingressClassName property
expose
boolean
Whether Ingress should be exposed (ie. created)
generateCert
boolean
Whether operator should generate self-signed certificate for this ingress
secretRef
string
Existing Secret holding TLS key and certificate name
microcksHub object
Configuration for Microcks Hub related features
allowedRoles
string
enabled
boolean
Enable/disable this feature. Default is false.
repositoryFilter object
Configuration for repository filtering features
enabled
boolean
Enable/disable this feature. Default is false
labelKey
string
The label key to consider for repository filtering
labelLabel
string
The label of label used for repository filtering
labelList
string
The list of labels (separated by ,) to display on services list
repositoryTenancy object
Configuration for repository tenancy features
artifactImportAllowedRoles
string
The list of roles (separated by ,) that are allowed to import artifacts
enabled
boolean
Enable/disable this feature. Default is false
keycloak object
Configuration of Keycloak access and/or install
enabled
boolean
Enable Keycloak for authentication. Default to true.
gatewayRoute object
Configuration to apply to HTTPRoute if created
annotations
object
Annotations to apply to Route if created
expose
boolean
Whether a Gateway Route should be exposed (ie. created)
gatewayRefName
string
The parent Gateway reference name, sets the parentRefs.name property
gatewayRefNamespace
string
The parent Gateway reference namespace, sets the parentRefs.namespace property
gatewayRefSectionName
string
The parent Gateway reference section name, sets the parentRefs.sectionName property
image object
The container image to use for Keycloak
digest
string
The digest of the image
registry
string
The registry where to pull this image (docker.io, quay.io, internal one...)
repository
string
The repository name of the image
tag
string
The tag of the image
ingress object
Configuration to apply to Ingress if created
annotations
object
Annotations to apply to Ingress if created
className
string
When exposed, sets the ingressClassName property
expose
boolean
Whether Ingress should be exposed (ie. created)
generateCert
boolean
Whether operator should generate self-signed certificate for this ingress
secretRef
string
Existing Secret holding TLS key and certificate name
install
boolean
Install Keycloak or reuse an existing instance? Default to true.
openshift object
Configuration of OpenShift specific settings
route object
Allow configuration of settings for OpenShift routes
enabled
boolean
Whether operator should use Route API if on OpenShift
tlsCaCertificate
string
TLS CA certificate for reencrypt termination
tlsCertificate
string
TLS certificate for reencrypt termination
tlsDestinationCaCertificate
string
TLS destination CA certificate for reencrypt termination
tlsInsecureEdgeTerminationPolicy
string
TLS insecure edge termination policy
tlsKey
string
TLS private key for reencrypt termination
tlsTermination
string
Type of OpenShift route to create ('edge', 'passthrough', 'reencrypt'
operatorServiceAccountEnabled
boolean
Flag to enable/disable the Service Account dedicated to the operator for connecting to Keycloak. Default to true.
persistent
boolean
Use persistent storage or ephemeral one? Default to true.
postgresImage object
The container image to use for PostgreSQL database
digest
string
The digest of the image
registry
string
The registry where to pull this image (docker.io, quay.io, internal one...)
repository
string
The repository name of the image
tag
string
The tag of the image
privateUrl
string
A private URL - a full URL here - used by the Microcks component to internally join Keycloak. This is also known as `backendUrl` in Keycloak. When specified, the `keycloak.url` is used as `frontendUrl` in Keycloak terms.
pvcAnnotations
object
Annotations to be added to managed Persistent Volume Claim
realm
string
Keycloak realm to use for authentication on Microcks
resources object
Kubernetes resource requirements for Keycloak service
claims []object
name
string
limits
object
requests
object
serviceAccount
string
Service Account for connecting external services to Microcks
serviceAccountCredentials
string
Service Account credentials for external services
storageClassName
string
Name of storage class to use if not relying on default
url
string
Keycloak root URL to use for access and Ingress if created
volumeSize
string
Size of persistent storage volume if persistent
microcks object
Configuration of main Microcks service
env []object
Environment variables for Microcks service
name
string
value
string
valueFrom object
configMapKeyRef object
key
string
name
string
optional
boolean
fieldRef object
apiVersion
string
fieldPath
string
resourceFieldRef object
containerName
string
divisor
string | integer
resource
string
secretKeyRef object
key
string
name
string
optional
boolean
extraProperties
object
Extra properties to integration into application-extra configuration
gatewayRoute object
Configuration to apply to HTTPRoute if created
annotations
object
Annotations to apply to Route if created
expose
boolean
Whether a Gateway Route should be exposed (ie. created)
gatewayRefName
string
The parent Gateway reference name, sets the parentRefs.name property
gatewayRefNamespace
string
The parent Gateway reference namespace, sets the parentRefs.namespace property
gatewayRefSectionName
string
The parent Gateway reference section name, sets the parentRefs.sectionName property
grpcGatewayRoute object
Configuration to apply to GRPCRoute for gRPC if creates
annotations
object
Annotations to apply to Route if created
expose
boolean
Whether a Gateway Route should be exposed (ie. created)
gatewayRefName
string
The parent Gateway reference name, sets the parentRefs.name property
gatewayRefNamespace
string
The parent Gateway reference namespace, sets the parentRefs.namespace property
gatewayRefSectionName
string
The parent Gateway reference section name, sets the parentRefs.sectionName property
grpcIngress object
Configuration to apply to Ingress for gRPC if created
annotations
object
Annotations to apply to Ingress if created
className
string
When exposed, sets the ingressClassName property
expose
boolean
Whether Ingress should be exposed (ie. created)
generateCert
boolean
Whether operator should generate self-signed certificate for this ingress
secretRef
string
Existing Secret holding TLS key and certificate name
image object
The container image to use for Microcks service
digest
string
The digest of the image
registry
string
The registry where to pull this image (docker.io, quay.io, internal one...)
repository
string
The repository name of the image
tag
string
The tag of the image
ingress object
Configuration to apply to Ingress if created
annotations
object
Annotations to apply to Ingress if created
className
string
When exposed, sets the ingressClassName property
expose
boolean
Whether Ingress should be exposed (ie. created)
generateCert
boolean
Whether operator should generate self-signed certificate for this ingress
secretRef
string
Existing Secret holding TLS key and certificate name
logLevel
string
Allow configuration of logging level. Defaults to INFO
enum:
DEBUG, ERROR, INFO, WARN
mockInvocationStats
boolean
Enable/disable statistics for mocks invocation. Defaults to true
openshift object
Configuration of OpenShift specific settings
route object
Allow configuration of settings for OpenShift routes
enabled
boolean
Whether operator should use Route API if on OpenShift
tlsCaCertificate
string
TLS CA certificate for reencrypt termination
tlsCertificate
string
TLS certificate for reencrypt termination
tlsDestinationCaCertificate
string
TLS destination CA certificate for reencrypt termination
tlsInsecureEdgeTerminationPolicy
string
TLS insecure edge termination policy
tlsKey
string
TLS private key for reencrypt termination
tlsTermination
string
Type of OpenShift route to create ('edge', 'passthrough', 'reencrypt'
replicas
integer
Number of desired pods for Microcks service
resources object
Kubernetes resource requirements for Microcks service
claims []object
name
string
limits
object
requests
object
url
string
The URL to use for exposing Microcks main ingress
mongoDB object
database
string
MongoDB database name in case you're reusing existing one. Only if install if false.
image object
The container image to use for MongoDB
digest
string
The digest of the image
registry
string
The registry where to pull this image (docker.io, quay.io, internal one...)
repository
string
The repository name of the image
tag
string
The tag of the image
install
boolean
Install MongoDB or reuse an existing instance? Default to true.
persistent
boolean
Use persistent storage or ephemeral one? Default to true
pvcAnnotations
object
Annotations to be added to managed Persistent Volume Claim
resources object
Kubernetes resource requirements for MongoDB
claims []object
name
string
limits
object
requests
object
secretRef object
Reference of a Secret containing username and password keys for connecting to existing MongoDB instance
name
string
securityContext object
Security context for MongoDB deployment
appArmorProfile object
localhostProfile
string
type
string
fsGroup
integer
fsGroupChangePolicy
string
runAsGroup
integer
runAsNonRoot
boolean
runAsUser
integer
seLinuxOptions object
level
string
role
string
type
string
user
string
seccompProfile object
localhostProfile
string
type
string
supplementalGroups
[]integer
sysctls []object
name
string
value
string
windowsOptions object
gmsaCredentialSpec
string
gmsaCredentialSpecName
string
hostProcess
boolean
runAsUserName
string
storageClassName
string
Name of storage class to use if not relying on default
uri
string
MongoDB root URI to use for access
uriParameters
string
Parameters added to MongoDB URI connection string. Only if install if false.
volumeSize
string
Size of persistent storage volume if persistent
mongodb object
Configuration of MongoDB access and/or install
database
string
MongoDB database name in case you're reusing existing one. Only if install if false.
image object
The container image to use for MongoDB
digest
string
The digest of the image
registry
string
The registry where to pull this image (docker.io, quay.io, internal one...)
repository
string
The repository name of the image
tag
string
The tag of the image
install
boolean
Install MongoDB or reuse an existing instance? Default to true.
persistent
boolean
Use persistent storage or ephemeral one? Default to true
pvcAnnotations
object
Annotations to be added to managed Persistent Volume Claim
resources object
Kubernetes resource requirements for MongoDB
claims []object
name
string
limits
object
requests
object
secretRef object
Reference of a Secret containing username and password keys for connecting to existing MongoDB instance
name
string
securityContext object
Security context for MongoDB deployment
appArmorProfile object
localhostProfile
string
type
string
fsGroup
integer
fsGroupChangePolicy
string
runAsGroup
integer
runAsNonRoot
boolean
runAsUser
integer
seLinuxOptions object
level
string
role
string
type
string
user
string
seccompProfile object
localhostProfile
string
type
string
supplementalGroups
[]integer
sysctls []object
name
string
value
string
windowsOptions object
gmsaCredentialSpec
string
gmsaCredentialSpecName
string
hostProcess
boolean
runAsUserName
string
storageClassName
string
Name of storage class to use if not relying on default
uri
string
MongoDB root URI to use for access
uriParameters
string
Parameters added to MongoDB URI connection string. Only if install if false.
volumeSize
string
Size of persistent storage volume if persistent
postman object
Configuration of Postman runtime
image object
The container image to use for Postman runtime
digest
string
The digest of the image
registry
string
The registry where to pull this image (docker.io, quay.io, internal one...)
repository
string
The repository name of the image
tag
string
The tag of the image
replicas
integer
Number of desired pods for Postman runtime
resources object
Kubernetes resource requirements for Postman runtime
claims []object
name
string
limits
object
requests
object
version
string
The Microcks version
status object
conditions []object
List of status conditions
lastTransitionTime
string
Last time the condition of a type changed from one status to another. The required format is 'yyyy-MM-ddTHH:mm:ssZ', in the UTC time zone
message
string
Human-readable message indicating details about the condition's last transition
reason
string
The reason for the condition's last transition (a single word in CamelCase)
status
string
The status of the condition
enum:
DEPLOYING, ERROR, PREEXISTING, READY, UNKNOWN
type
string
The unique identifier of a condition, used to distinguish between other conditions in the resource
keycloakUrl
string
The URL to access Keycloak once installation completed
message
string
microcksUrl
string
The URL to access Microcks once installation completed
observedGeneration
integer
Reconciled generation
status
string
Global status of the reconciliation
enum:
DEPLOYING, ERROR, PREEXISTING, READY, UNKNOWNNo matches. Try .spec.clusterDomain for an exact path