NuoDB CRDs Reference

Packages

cp.nuodb.com/v1beta1

Package v1beta1 contains API Schema definitions for the cp v1beta1 API group

Resource Types

AccessRuleEntry

Appears in:

FieldDescriptionDefaultValidation
verb stringThe verb to grant access to with this access rule entry, which maps
to HTTP request methods as follows:
- read: GET
- write: PUT, POST
- delete: DELETE
all denotes that the request method is unconstrained for this
access rule entry.
Enum: [read write delete all]
resource stringThe resource or set of resources to grant access to. If the value
begins with a slash (/), then the value denotes a resource path.
Otherwise, the value denotes a scope in the hierarchy of the DBaaS
resources that this access rule entry grants access to, of the form
<organization>, <organization>/<project>, or
<organization>/<project>/<database>. In either case, parameterized
path segments of the form \{organization\} or \{user\} may appear
that are resolved when the role template is assigned to a user.
Pattern: ^/?([a-z][a-z0-9]*/|[\{][a-z][a-z0-9]*[\}]/)*([a-z][a-z0-9-]*|[\{][a-z][a-z0-9]*[\}]|[*])$
sla stringThe SLA to constrain access to. This constraint only applies to
projects and resources contained within projects, such as databases
and backups.
Pattern: ^[a-z][a-z0-9]*$

AuthenticationMethod

Authentication method.

Appears in:

FieldDescriptionDefaultValidation
basic BasicAuthenticationConfigThe basic authentication configuration.

BackupRetention

BackupRetention defines the GFS (Grandfather-Father-Son) backup retention policy.

Appears in:

FieldDescriptionDefaultValidation
hourly integerHourly retention for backups.
daily integerDaily retention for backups.
weekly integerWeekly retention for backups.
monthly integerMonthly retention for backups.
yearly integerYearly retention for backups.
settings BackupRotationSettingsAdditional backup rotation settings.

BackupRotationSettings

BackupRotationSettings define additional settings to fine-tune the backup rotation scheme.

Appears in:

FieldDescriptionDefaultValidation
dayOfWeek integerThe day of the week (Sunday = 0, …) used to promote backup to weekly .
Weekly can be promoted from daily from any day of the week. For example,
the weekly backup may be chosen to be promoted from Sunday daily backups.
If a successful Sunday backup is not found due to a missed run or an
error, it will choose the next closest, such as a Saturday backup, and
treat that as weekly instead. Defaults to Sunday.
0Maximum: 6
Minimum: 0
monthOfYear integerThe month of the year (January = 1, …) used to promote backup to
yearly. Yearlies can be promoted from any month of the year, such as
January, December, or the company’s fiscal year-end. Defaults to January.
1Maximum: 12
Minimum: 1
relativeToLast booleanWhether to apply the backup rotation scheme relative to the last
successful backup instead to the current time. This allows older backups
for the configured number of periods to be retained in case the policy is
suspended or latest backups are failing. Enabled by default.
true
promoteLatestToHourly booleanWhether to promote the latest backup within the hour if multiple backups
exist for that hour. By default the first successful backup from the hour
is retained.
false
promoteLatestToDaily booleanWhether to promote the latest backup within the day if multiple backups
exist for that day. By default the first successful backup from the day
is retained.
false
promoteLatestToMonthly booleanWhether to promote the latest backup within the month if multiple backups
exist for that month. By default the first successful backup from the
month is retained.
false

BackupSource

BackupSource defines a pre-existing backup managed by a backup plugin.

Appears in:

FieldDescriptionDefaultValidation
plugin stringPlugin is the name of the backup plugin managing this backup.
backupHandle stringBackupHandle is the unique backup_id returned by the backup plugin’s
CreateBackup gRPC call to refer to the backup on all subsequent calls.

BaseResourceStatus

BaseResourceStatus defines the observed state of an installed resource

Appears in:

FieldDescriptionDefaultValidation
name stringName is the resource
kind stringKind is a string value representing the REST resource this object represents.
version stringVersion defines the schema version of this representation of an object.
group stringGroup defines the schema of this representation of an object.
state stringThe state of the resource
message stringA human readable message indicating details about why the resource is in
this condition

BasicAuthenticationConfig

Basic authentication configuration.

Appears in:

FieldDescriptionDefaultValidation
secretRef LocalObjectReferenceThe secret resource reference holding the authentication information.
usernameKey stringThe key in the Secret that provides the username.user
passwordKey stringThe key in the Secret that provides the password.password

CanaryAnalysisResult

Underlying type: string

CanaryAnalysisResult describes the result of a canary analysis run.

Validation:

  • Enum: [Skipped Failed Succeeded Pending]

Appears in:

FieldDescription
Skipped
Failed
Succeeded
Pending

CanaryAnalysisRunInfo

CanaryAnalysisRunInfo defines information about canary analysis run.

Appears in:

FieldDescriptionDefaultValidation
name stringThe name of the analysis.
result CanaryAnalysisResultThe result of the analysis run.Enum: [Skipped Failed Succeeded Pending]
startTime TimeAnalysis start time is the initial time when the analysis run was
performed without an error.
endTime TimeAnalysis end time is the analysis completion time.
message stringThe human readable message indicating details about the analysis run.

CanaryRollout

CanaryRollout is the Schema for the canaryrollouts API.

Example

FieldDescriptionDefaultValidation
apiVersion stringcp.nuodb.com/v1beta1
kind stringCanaryRollout
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec CanaryRolloutSpec

CanaryRolloutAnalysis

CanaryRolloutAnalysis defines the analysis run on target resources after a changed has been roll out.

Appears in:

FieldDescriptionDefaultValidation
name stringThe analysis name.
interval DurationInterval in which the analysis is run. Defaults to 60s.Pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
Type: string
executionDeadlineSeconds integerOptional deadline in seconds for executing this analaysis. Analysis runs
that exceed the specified deadline are interrupted and retried later.
Defaults to 60s.
Minimum: 1
runOnDisabled booleanRun the analysis on disabled targets. By default the analysis is skipped
on disabled resources.
checkStatusCondition StatusConditionAnalysisCheck for a certain status condition.

CanaryRolloutSpec

CanaryRolloutSpec defines the desired state of CanaryRollout.

Appears in:

FieldDescriptionDefaultValidation
selector LabelSelectorA label query over resources to which canary rollout applies. It must
match the resource labels. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
patch JSONA strategic merge patch to apply to the metching resources. More info:
https://kubernetes.io/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/#use-a-strategic-merge-patch-to-update-a-deployment
rolloutTemplate RolloutTemplateReferenceThe template reference for this rollout.
stepBackoffLimit integerSpecifies the number of retries before declaring a step and this canary
rollout as failed. Defaults to 20.
20Minimum: 0
suspended booleanSuspended disables the canary rollout until the value is cleared. Once
resumed, the rollout will continue from the current step.

CanaryRolloutStep

CanaryRolloutStep defines the actions to be executed for the current step.

Appears in:

FieldDescriptionDefaultValidation
promoteTo PromoteToRolloutStepPromote the change to group of targets.
pause PauseRolloutStepPause the rollout.
analysis CanaryRolloutAnalysisRun analysis.

CanaryRolloutTargetReference

CanaryRolloutPromotedTarget defines a rollout target that has been promoted to receive the change.

Appears in:

FieldDescriptionDefaultValidation
apiGroup stringAPIGroup is the group for the resource being referenced.
kind stringKind is the type of resource being referenced.
name stringName is the name of resource being referenced
analysisRun CanaryAnalysisRunInfo arrayInformation about performed analysis run against the target.

CanaryRolloutTemplate

CanaryRolloutTemplate is the Schema for the canaryrollouttemplates API.

Example

FieldDescriptionDefaultValidation
apiVersion stringcp.nuodb.com/v1beta1
kind stringCanaryRolloutTemplate
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec CanaryRolloutTemplateSpec

CanaryRolloutTemplateSpec

CanaryRolloutTemplateSpec defines the desired state of CanaryRolloutTemplate.

Appears in:

FieldDescriptionDefaultValidation
analysis CanaryRolloutAnalysis arrayAnalysis performed after every promotion step.
skipDisabled booleanSkip disabled target resources. By default a change is promoted to all
matching resources.
steps CanaryRolloutStep arrayCanary rollout steps for this template.MinItems: 1

CanaryUpdateStrategy

CanaryUpdateStrategy defines parameters for CanaryRolloutStrategy.

Appears in:

FieldDescriptionDefaultValidation
templateRef LocalObjectReference

CasSpec

Appears in:

FieldDescriptionDefaultValidation
serverUrl stringThe URL of the CAS server.
validateEndpoint ValidateEndpointIf specified, the endpoint to use to validate service tickets. If
omitted, then the /serviceValidate endpoint on the server URL is
used to validate service tickets according to the CAS protocol
specification.

ChartSource

ChartSource is the Helm Chart location

Appears in:

FieldDescriptionDefaultValidation
repository stringA https URL to a Helm repo to download the chart from.
name stringThe Helm chart name available in the remote repository.
version stringThe version of the chart or semver constraint of the chart to find.
pinLatestVersion booleanWhether to pin the Helm chart version to the latest version currently
available in the Helm repository so that future reconciliations doesn’t
automatically pick up new Helm chart version. This is used only if the
Helm chart version is set to empty string ("") which represents the
user’s intent to use the latest chart version.

ConfigMapProxyPolicy

Underlying type: string

ConfigMapProxyPolicyReconcile controls the lifecycle of the embedded resource.

Appears in:

FieldDescription
ReconcileConfigMapProxyPolicyReconcile couples the embedded resource lifecycle with
the holder ConfigMap lifecycle.
CreateConfigMapProxyPolicyCreate only creates the embedded resource on
ConfigMap creation. The embedded resource won’t be updated or deleted.

ConfigurationRestorePolicy

Underlying type: string

ConfigurationRestorePolicy defines the way how resources stored in a backup are restored.

Validation:

  • Enum: [Merge None]

Appears in:

FieldDescription
MergeMergeRestorePolicy indicates that the operator will try to merge
a resource’s spec with the one stored in the backup.
NoneNoneRestorePolicy indicates that the configuration captured by the backup
will not be used.

Database

Database is the Schema for the databases API

Example

FieldDescriptionDefaultValidation
apiVersion stringcp.nuodb.com/v1beta1
kind stringDatabase
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec DatabaseSpec

DatabaseBackup

DatabaseBackup is the Schema for the databasebackups API

Example

FieldDescriptionDefaultValidation
apiVersion stringcp.nuodb.com/v1beta1
kind stringDatabaseBackup
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec DatabaseBackupSpec

DatabaseBackupLabelsAssignment

DatabaseBackupLabelsAssignment defines the labels assignment rules for database backup resource created from database backup policy.

Appears in:

FieldDescriptionDefaultValidation
fromPolicy booleanAssign labels from database backup policy to backups created by this
policy.
true
fromDatabase booleanAssign labels from matching database to backups created by this policy.true

DatabaseBackupPolicy

DatabaseBackupPolicy is the Schema for the databasebackuppolicies API

Example

FieldDescriptionDefaultValidation
apiVersion stringcp.nuodb.com/v1beta1
kind stringDatabaseBackupPolicy
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec DatabaseBackupPolicySpec

DatabaseBackupPolicyMissed

Appears in:

FieldDescriptionDefaultValidation
missedTime TimeThe time that a backup was missed.
database stringThe database name for which a backup was missed.
reason stringA programmatic identifier indicating the reason for missing a backup.
message stringA human readable message indicating details about the missed backup.

DatabaseBackupPolicySpec

DatabaseBackupPolicySpec defines the desired state of DatabaseBackupPolicy.

Appears in:

FieldDescriptionDefaultValidation
frequency stringThe backup execution frequency. Allowable values:
- Cron expression, e.g. 0 7 * * *
- Predefined labels, e.g. @hourly, @daily, @weekly, @monthly, @yearly
selector LabelSelectorA label query over resources for which the backup policy is applied. It
must match the resource labels. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
retention BackupRetentionThe number of retained artifacts for different frequencies. The number of
retained artifacts can only be specified for frequencies of the same or
lower granularity than the policy frequency. For example, if the policy
frequency is @daily, then retention can have values for daily,
weekly, monthly and yearly, but not for hourly. If the policy
frequency is hourly, then all retention values are allowed. If backup
retention is not defined, backups scheduled from this backup policy won’t
be deleted automatically.
suspended booleanSuspended disables the backup policy temporary so that no backups are
scheduled from it.
pluginName stringThe backup plugin name managing this backup policy. Empty value means
that backups from this policy will be executed by the default backup
plugin if one is configured.
startingDeadlineSeconds integerOptional deadline in seconds for starting the policy if the scheduled
time is missed for any reason.
backupLabelsAssignment DatabaseBackupLabelsAssignmentThe backup labels assignment rules. By default backup policy and database
labels are assigned to backups scheduled by this policy.

DatabaseBackupSource

DatabaseBackupSource specifies where a backup will be created from.

Appears in:

FieldDescriptionDefaultValidation
databaseRef LocalObjectReferenceA reference to the Database object from which a backup should be created.
This database is assumed to be in the same namespace as the
DatabaseBackup object. This field should be set if the backup does not
exists, and needs to be created. This field is immutable after creation.
backupRef BackupSourceA reference to a pre-existing backup managed by a backup plugin. This
field should be set if the backup already exists and only needs a
representation in Kubernetes. This field is immutable after creation.

DatabaseBackupSpec

DatabaseBackupSpec defines the desired state of DatabaseBackup.

Appears in:

FieldDescriptionDefaultValidation
source DatabaseBackupSourceSource holds information about the actual backup. This field is immutable
after creation.
pluginName stringPluginName is the backup plugin name managing this database backup. Empty
value means that this backup will be executed by the default backup
plugin if one is configured.

DatabaseComponentsStatus

DatabaseComponentsStatus defines the observed state of Database components

Appears in:

FieldDescriptionDefaultValidation
transactionEngines WorkloadStatus arrayTransaction Engine component status information.
storageManagers WorkloadStatus arrayStorage Manager component status information.
lastUpdateTime TimeLast update timestamp for this status.

DatabaseQuota

DatabaseQuota is the Schema for the databasequota API

Example

FieldDescriptionDefaultValidation
apiVersion stringcp.nuodb.com/v1beta1
kind stringDatabaseQuota
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec DatabaseQuotaSpec

DatabaseQuotaSpec

DatabaseQuotaSpec defines the desired state of DatabaseQuota

Appears in:

FieldDescriptionDefaultValidation
scope QuotaScopeThe scope to which the quota resource limits are applied. This
enables defining out of band quota configuration on database
resources filtered and grouped by the supplied criteria.

DatabaseRestoreSource

DatabaseRestoreSource specifies where to restore the database from.

Appears in:

FieldDescriptionDefaultValidation
backupRef LocalObjectReferenceA reference to the DatabaseBackup resource from which to populate the
database state.
databaseRestorePolicy ConfigurationRestorePolicyThe Database resource restore policy. By default, the database
spec will be merged with the one stored in the backup if possible.
MergeEnum: [Merge None]
maxRetries integerMaximum number of retries that should be attempted on failure before
giving up. Set to zero or negative number to disable
retries.
20
backOffSec integerThe backoff duration in seconds after failed restore operation. The total
backoff interval will be multiplied by the number of failures.
30

DatabaseSpec

DatabaseSpec defines the desired state of Database

Appears in:

FieldDescriptionDefaultValidation
chart ChartSourceThe Helm Chart source
template ReleaseTemplateAdditional configuration for the Helm release
type ServiceTypeDatabase instance service type
version stringNuoDB image version used for the database
dbName stringThe name use for this database
domainRef LocalObjectReferenceReference pointing to the name of the NuoDB domain associated with this
database instance
passwordRef ValueReferenceReference pointing to the name of the Secret holding the DBA password
hostname stringFQDN for the database endpoint
archiveVolume PersistentStorageArchiveVolume configures the database archive volume.
journalVolume PersistentStorageJournalVolume configures the database external journal volume. If
defined, a separate volume for the database journal will be provisioned.
maintenance MaintenanceConfigThe maintenance configuration for the database.
restoreFrom DatabaseRestoreSourceRestoreFrom indicates that the database should be restored from a
backup rather than having an empty state.

Domain

Domain is the Schema for the domains API

Example

FieldDescriptionDefaultValidation
apiVersion stringcp.nuodb.com/v1beta1
kind stringDomain
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec DomainSpec

DomainComponentsStatus

DomainComponentsStatus defines the observed state of Domain components

Appears in:

FieldDescriptionDefaultValidation
admins WorkloadStatus arrayNuoDB Admin component status information.
lastUpdateTime TimeLast update timestamp for this status.

DomainSpec

DomainSpec defines the desired state of Domain

Appears in:

FieldDescriptionDefaultValidation
chart ChartSourceThe Helm Chart source
template ReleaseTemplateAdditional configuration for the Helm release
type ServiceTypeDomain instance service type
version stringNuoDB image version used for the domain
sqlHostname stringFQDN for the endpoint used by the external SQL clients
tls TLSConfigThe Transport Layer Security (TLS) configuration for the domain and all
databases that are part of it.
maintenance MaintenanceConfigThe maintenance configuration for the domain.

HelmApp

HelmApp is the Schema for the helmapps API

Example

FieldDescriptionDefaultValidation
apiVersion stringcp.nuodb.com/v1beta1
kind stringHelmApp
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec HelmAppSpec

HelmAppComponentsStatus

HelmAppComponentsStatus defines the observed state of HelmApp components.

Appears in:

FieldDescriptionDefaultValidation
workloads WorkloadStatus arrayWorkloads define the observed status for all statefulsets and deployments
installed by this HelmApp.
lastUpdateTime TimeLast update timestamp for this status.

HelmAppSpec

HelmAppSpec defines the desired state of HelmApp

Appears in:

FieldDescriptionDefaultValidation
source ChartSourceSource defines the Helm chart location.
template ReleaseTemplateTemplate provides additional configuration for the Helm release.
valuesRefs ValueReference arrayValuesRefs are references to ConfigMap or Secret resources in the local
namespace to check for user-supplied Helm values.

HelmFeature

HelmFeature is the Schema for the helmfeatures API

Example

FieldDescriptionDefaultValidation
apiVersion stringcp.nuodb.com/v1beta1
kind stringHelmFeature
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec HelmFeatureSpec

HelmFeatureParamDef

HelmFeatureParamDef defines the schema for Helm feature parameter.

Appears in:

FieldDescriptionDefaultValidation
default stringThe parameter default value. Defaults to empty string if not
defined.
jsonSchema stringA JSONSchema used to validate the parameter’s value.
description stringThe parameter’s description.

HelmFeatureReference

A Helm feature referenced by a service tier.

Appears in:

FieldDescriptionDefaultValidation
name stringThe name of the resource.
namespace stringThe namespace of the resource. When not specified, the current
namespace is assumed.
revision stringRevision of the Helm feature used by this revision of the service tier.MinLength: 1

HelmFeatureSpec

HelmFeatureSpec defines the desired state of HelmFeature

Appears in:

FieldDescriptionDefaultValidation
chartCompatibility stringThe Helm chart version compatibility constraint for the Helm feature.
productCompatibility stringThe NuoDB product version compatibility constraint for the
Helm feature.
optional booleanWhether the Helm feature is optional and does not emit an error
if the Helm chart or product version is incompatible.
parameters object (keys:string, values:HelmFeatureParamDef)The parameter definitions referenced in values. For example, parameter
named foo is referenced using << .meta.params.foo >> template.
values JSONThe Helm values that enable the feature.

HttpHeader

HTTP header configuration.

Appears in:

FieldDescriptionDefaultValidation
key stringThe HTTP header key.
value stringThe HTTP header value.

IdentityProvider

IdentityProvider is the Schema for the identityproviders API.

Example

FieldDescriptionDefaultValidation
apiVersion stringcp.nuodb.com/v1beta1
kind stringIdentityProvider
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec IdentityProviderSpec

IdentityProviderSpec

IdentityProviderSpec defines the desired state of IdentityProvider.

Appears in:

FieldDescriptionDefaultValidation
oidc OidcSpecSpecification for the OpenID Connect (OIDC) provider.
cas CasSpecSpecification for the Central Authentication Service (CAS) provider.
provisionUser ProvisionUserRules for resolving the user to provision in the NuoDB Control Plane
bound to the user authenticated by the external provider. If the user
with the resolved organization and name does not exist, then one will
be created with the resolved roles and access rule the first time it
is authenticated by the REST server.

KeyPairType

Underlying type: string

KeyPairType defines the asymmetric encryption algorithm for key-pair.

Validation:

  • Enum: [RSA ECDSA]

Appears in:

FieldDescription
RSA
ECDSA

KeyStrength

Underlying type: string

KeyStrength defines the strength of the key, which corresponds to a particular size in bits for each algorithm.

Validation:

  • Enum: [WEAK MEDIUM STRONG VERY_STRONG]

Appears in:

FieldDescription
WEAKKeyStrengthWeak corresponds to key size - RSA 1024, EC 256
MEDIUMKeyStrengthMedium corresponds to key size - RSA 2048, EC 256
STRONGKeyStrengthStrong corresponds to key size - RSA 2048, EC 384
VERY_STRONGKeyStrengthVeryStrong corresponds to key size - RSA 3072, EC 521

LocalObjectReference

LocalObjectReference locates the referenced object inside the same namespace

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referent

MaintenanceConfig

MaintenanceConfig defines whether domain or database is disabled or should be disabled at some time in the future.

Appears in:

FieldDescriptionDefaultValidation
expiresAtTime TimeThe time at which to mark the domain or database as being disabled.
expiresIn DurationThe time delta until the domain or database is marked as being
disabled. This value is used to calculate the ExpiresAtTime value
that is injected by the controller on creation or update.
Pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
Type: string
isDisabled booleanWhether to disable the domain or database by scaling down all
associated workloads to replicas=0.
false
shouldShutdownGracefully booleanWhether to gracefully shutdown domain or database workloads. This
causes all database workloads to be shutdown before domain workload,
with TEs being shutdown before SMs. This has no effect if the domain
or database is not disabled.
true

Metric

Metric is the Schema for the metrics API.

Example

FieldDescriptionDefaultValidation
apiVersion stringcp.nuodb.com/v1beta1
kind stringMetric
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec MetricSpec

MetricDescriptor

MetricDescriptor defines a metric type and its schema.

Appears in:

FieldDescriptionDefaultValidation
name stringThe name of the metric.
unit stringThe units in which the metric value is reported.
description stringA detailed description of the metric.
internalOnly booleanWhether the metric is internal only or exposed to DBaaS users.
productCompatibility stringThe NuoDB product version compatibility constraint for the metric.
dimensions MetricDimension arrayA set of custom dimensions for classifying metric’s data.
prometheus PrometheusMetricPrometheus specific metric configuration.

MetricDimension

MetricDimension defines metric dimension configuration.

Appears in:

FieldDescriptionDefaultValidation
name stringThe metric dimension’s name.
description stringA detailed description of the metric dimension.
jsonSchema stringA JSONSchema used to validate the dimension’s value.

MetricSource

MetricSource is the Schema for the metricsources API.

Example

FieldDescriptionDefaultValidation
apiVersion stringcp.nuodb.com/v1beta1
kind stringMetricSource
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec MetricSourceSpec

MetricSourceProvider

MetricSourceProvider defines connection infromation for the metric source provider.

Appears in:

FieldDescriptionDefaultValidation
prometheus PrometheusMetricProviderConfiguration for Prometheus server metrics provider.

MetricSourceSpec

MetricSourceSpec defines the desired state of MetricSource.

Appears in:

FieldDescriptionDefaultValidation
targetsSelector LabelSelectorA label query over target resources for which the metric source applies.
It must match the resource labels. If not specified, matches all targets
in the same namespace. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
metricSelector LabelSelectorA label query over metric resources for which the metric source applies.
It must match the resource labels. If not specified, matches all metric
resources in the same namespace. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
provider MetricSourceProviderMetric source provider configuration.

MetricSpec

MetricSpec defines the desired state of Metric.

Appears in:

FieldDescriptionDefaultValidation
metrics MetricDescriptor arrayA list of metric descriptors.MinItems: 1

NamespacedObjectReference

NamespacedObjectReference contains enough information to let you locate the referenced object in any namespace

Appears in:

FieldDescriptionDefaultValidation
name stringThe name of the resource.
namespace stringThe namespace of the resource. When not specified, the current
namespace is assumed.

NuoDBTlsProviderConfig

NuoDBTlsProviderConfig is the configuration for the NuoDBControlPlane provider.

Appears in:

FieldDescriptionDefaultValidation
keyType KeyPairTypeKeyType is the asymmetric encryption algorithm for the generated
key-pair.
RSAEnum: [RSA ECDSA]
keyStrength KeyStrengthKeyStrength is the strength of the generated key.MEDIUMEnum: [WEAK MEDIUM STRONG VERY_STRONG]
validity DurationValidity is the lifetime of the server certificate. Defaults to 1 year.
The parsed duration is rounded up to number of days. Minimum accepted
duration is 1 day.
Pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
Type: string
renewBeforeExpiration DurationRenewBeforeExpiration defines how long before the currently issued TLS
keys’s expiry, they need to be renewed. Defaults to 1/3 of the
certificates validity or max 7 days before expiration.
Pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
Type: string
renewPasswords booleanRenewPasswords indicates whether the Java keystore passwords must be
changed along with the certificates. Changing the passwords requires
NuoAdmin restart when TLS certificates are rotated.

ObjectSpecHelm

ObjectSpecHelm is a Helm specific configuration that every ObjectWithRelease object must have

Appears in:

FieldDescriptionDefaultValidation
chart ChartSourceThe Helm Chart source
template ReleaseTemplateAdditional configuration for the Helm release

ObjectStatusHelm

ObjectStatusHelm is a Helm specific status that every ObjectWithRelease object must have

Appears in:

FieldDescriptionDefaultValidation
release ReleaseInfoRelease holds status information about the Helm release associated with
the resource.

ObjectStatusReleaseOwner

ObjectStatusReleaseOwner should be embedded in objects that have dependant HelmApp resources.

Appears in:

FieldDescriptionDefaultValidation
releaseRefs ReleaseReference arrayReleaseRefs contain references to the dependant HelmApp resources that
have this object as an owner. Expected to be non-empty once the
corresponding applications are installed.

OidcSpec

Appears in:

FieldDescriptionDefaultValidation
issuerUrl stringThe URL of the OIDC provider.
clientId ValueOrSecretReferenceThe client ID to use for the OIDC provider.
clientSecret SecretReferenceThe Secret resource reference to the client secret to use for the
OIDC provider.
updateInterval DurationThe interval at which the OIDC provider configuration is updated via
OpenID Connect discovery.
tlsSkipVerify booleanWhether to disable TLS verification of the server certificate.

OidcStatus

Appears in:

FieldDescriptionDefaultValidation
issuerUrl stringThe URL of the OIDC provider.
configuration stringThe content returned by the OpenID Connect discovery endpoint, which
is <issuerUrl>/.well-known/openid-configuration.
jwks stringThe content returned by the JSON Web Key Set (JWKS) endpoint
appearing in the jwks_uri property of OIDC configuration.
authorizationEndpoint stringThe authorization_endpoint property of OIDC configuration.
tokenEndpoint stringThe token_endpoint property of OIDC configuration.
lastUpdateTime TimeThe last update time for the OIDC configuration.
nextUpdateTime TimeThe time that the next update will be scheduled for the OIDC
configuration.
error stringThe error that occurred while obtaining OIDC configuration.
errorCount integerThe number of consecutive attempts to obtain OIDC configuration that
have failed.

PauseRolloutStep

PauseRolloutStep pauses the rollout.

Appears in:

FieldDescriptionDefaultValidation
duration DurationThe duration for which the rollout is paused. Zero duration means wait
until manually approved.
Pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
Type: string

PersistentStorage

PersistentStorage defines the storage configuration for a persistent volume.

Appears in:

FieldDescriptionDefaultValidation
volumeSize QuantityVolumeSize is the storage resource request, in bytes (e,g. 5Gi = 5GiB = 5
* 1024 * 1024 * 1024)
storageClassName stringStorageClassName is the name of the StorageClass required for this
volume.
dataSourceRef TypedObjectReferenceDataSourceRef specifies the object from which to populate the volume with
data, if a non-empty volume is desired. An existing VolumeSnapshot object
(snapshot.storage.k8s.io/VolumeSnapshot) or an existing PVC
(PersistentVolumeClaim) are supported.

PersistentVolumeClaimRetentionPolicy

Underlying type: string

Appears in:

FieldDescription
DeletePersistentVolumeClaimRetentionDelete means the persistent volume claims
will be deleted after the release is uninstalled. The associated
persistent volume retention is controlled separately.
RetainPersistentVolumeClaimRetentionRetain means the persistent volume claims
will be left in their current state for manual removal by the
administrator. The associated persistent volume retention is controlled
separately.

PrometheusMetric

PrometheusMetric defines a Prometheus metric query parameters.

Appears in:

FieldDescriptionDefaultValidation
query stringThe Prometheus query string using Prometheus Query Language (PromQL).
More info: https://prometheus.io/docs/prometheus/latest/querying/basics/

PrometheusMetricProvider

Defines connection information for a Prometheus server.

Appears in:

FieldDescriptionDefaultValidation
address stringThe HTTP URL of the Prometheus server.
authentication AuthenticationMethodThe authentication method used when communicating with Prometheus
server’s query APIs.
timeoutSec integerThe duration in seconds within which a prometheus query should complete.Minimum: 0
insecureSkipVerify booleanSkip TLS hostname verification.
headers HttpHeader arrayOptional HTTP headers to use in the request.

PromoteToRolloutStep

PromoteToStep defines the target resources to which a change is promoted in parallel and rollback behaviour in case of failed analysis.

Appears in:

FieldDescriptionDefaultValidation
labelSelector LabelSelectorA label query over resources to which promotion is performed. It must
match the resource labels. The label selector requirements are ANDed with
those defined in the canary rollout selector.
limitCount integerLimit the promotion to certain number of the matching resources. The
supplied limit is cumulative across promote steps (i.e. total number of
targets to be promoted).
Minimum: 1
limitPercentage integerLimit the promotion to certain percentage of the matching resources. The
supplied limit is cumulative across promote steps (i.e. total percentage
of targets to be promoted).
Maximum: 100
Minimum: 1
rollback RollbackOptionsActions performed on failed analysis. No automatic rollback is performed
by default.

ProvisionUser

Appears in:

FieldDescriptionDefaultValidation
organization ValueOrResolvedValueResolver for the organization the user belongs to.
name ValueOrResolvedValueResolver for the user name.
roles ValueOrResolvedValue arrayResolvers for roles assigned to the user, which are aggregated to
obtain the full list of roles assigned to the user.
accessRule ValueOrPathResolver for the access rule of the user.
validate Validate arrayValidations to apply to the user attributes from the external provider.

QuotaEnforcementRecord

Appears in:

FieldDescriptionDefaultValidation
enforceTimestamp TimeTimestamp is a timestamp representing the server time when this quota was
enforced on a selected object.
objectRef TypedLocalObjectReferenceObjectRef is a reference to the object on which this quota was enforced.
objectGeneration integerThe generation that the object had at the time of quota enforcement.

QuotaScope

QuotaScope defines the criteria for selecting resources and dividing them into groups. The quota resource limits are applied to each individual group. The supplied filtering criteria are ANDed. If none of labelSelector or fieldSelector is specified all databases in the namespace will be selected.

Appears in:

FieldDescriptionDefaultValidation
labelSelector LabelSelectorA label query over resources for which the quota is applied. It must
match the resource labels. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
fieldSelector FieldsSelectorA field query over resources for which the quota is applied. It must
match the resource fields. Supported fields are “spec.type.sla” and
“spec.type.tierRef.name”. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors/
groupByLabels string arrayThe label keys on which the selected databases are divided into
groups.

QuotaStatus

QuotaStatus defines the Quota observed state.

Appears in:

FieldDescriptionDefaultValidation
lastEnforced QuotaEnforcementRecord arrayThe information about objects on which this quota has been enforced.
It is cleared by the quota controller after a successful
reconciliation.
observedGeneration integerThe last observed generation.

ReleaseInfo

ReleaseInfo defines the observed state of the Helm release associated with an object

Appears in:

FieldDescriptionDefaultValidation
observedGeneration integerThe last observed generation.
failures integerFailures is the reconciliation failure count against the latest desired
state. It is reset after a successful reconciliation
lastReleaseRevision integerThe revision of the last successful Helm release
lastAttemptedChartVersion stringThe chart version used in the last reconciliation attempt
lastAttemptedValuesChecksum stringThe SHA1 checksum of the values used in the last reconciliation attempt

ReleaseReference

ReleaseReference locates the referenced Helm release object in the same namespace.

Appears in:

FieldDescriptionDefaultValidation
apiGroup stringAPIGroup is the group for the resource being referenced.
kind stringKind is the type of resource being referenced.
name stringName is the name of resource being referenced
releaseName stringThe name of the Helm release.
releaseNamespace stringThe target namespace of the Helm release.
synced booleanWhether the Helm release has been synchronized.
lastReleaseRevision integerThe revision of the last successful Helm release.

ReleaseTemplate

ReleaseTemplate holds the configuration for the Helm release

Appears in:

FieldDescriptionDefaultValidation
releaseName stringThe name of the Helm release
namespace stringThe target namespace to install the Helm release in
maxRetries integerMaximum number of retries that should be attempted on failures before
giving up. Defaults to 20. Set to negative number to disable retries.
20
backOffSec integerThe backoff duration in seconds after failed helm install/upgrade. The
total backoff interval will be multiplied by the number of failures.
60
dataRetentionPolicy PersistentVolumeClaimRetentionPolicyDefines what happens with the persistent volume claims after the Helm
release is uninstalled. Defaults to ‘Delete’ which means that all
associated PVCs are removed.
DeleteEnum: [Delete Retain]

RevisionHistory

Revision history maintained for the resource.

Appears in:

FieldDescriptionDefaultValidation
revisions SpecRevision arrayResource revisions.

RoleTemplate

RoleTemplate is the Schema for the roletemplates API.

Example

FieldDescriptionDefaultValidation
apiVersion stringcp.nuodb.com/v1beta1
kind stringRoleTemplate
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec RoleTemplateSpec

RoleTemplateSpec

RoleTemplateSpec defines the desired state of RoleTemplate.

Appears in:

FieldDescriptionDefaultValidation
allow AccessRuleEntry arrayList of access rule entries to allow.MinItems: 1

RollbackOptions

RollbackOptions defines the rollback parameters.

Appears in:

FieldDescriptionDefaultValidation
strategy RollbackStrategyThe rollback strategy.FailedEnum: [None Failed Step]
backoffLimit integerSpecifies the number of retries before giving up on rollback. Defaults to 20.20Minimum: 0

RollbackStrategy

Underlying type: string

RollbackStrategy defines the actions to be performed on failed analysis.

Validation:

  • Enum: [None Failed Step]

Appears in:

RolloutTemplateReference

A rollout template referenced by canary rollout.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referent

SecretReference

Appears in:

FieldDescriptionDefaultValidation
name stringThe name of the Secret resource to obtain the value from.MinLength: 1
key stringThe key of the value within the Secret resource.MinLength: 1

ServiceTier

ServiceTier is the Schema for the servicetiers API

Example

FieldDescriptionDefaultValidation
apiVersion stringcp.nuodb.com/v1beta1
kind stringServiceTier
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ServiceTierSpec

ServiceTierReference

ServiceTierReference contains a reference to a ServiceTier resource in the same or a different namespace.

Appears in:

FieldDescriptionDefaultValidation
name stringThe name of the resource.
namespace stringThe namespace of the resource. When not specified, the current
namespace is assumed.
parameters object (keys:string, values:string)Opaque parameters passed to the Helm features of the referenced service
tier.
revision stringRevision of the service tier.MinLength: 1
featureOverrides HelmFeatureReference arrayFeatures that override the service tier Helm values for this resource.

ServiceTierSpec

ServiceTierSpec defines the desired state of ServiceTier

Appears in:

FieldDescriptionDefaultValidation
features HelmFeatureReference arrayThe list of Helm features enabled for this service tier.
updateStrategy TierUpdateStrategyThe service tier update strategy used by the controller to deliver
changes in the service tier or referenced features to domain and
databases.

ServiceType

ServiceType provides the service instance configuration information

Appears in:

FieldDescriptionDefaultValidation
tierRef ServiceTierReferenceThe service instance tier type
sla SlaTypeThe service instance SLA type

SlaType

Underlying type: string

ServiceTierType is the type of the NuoDB instance service level agreements (SLA) associated with the service

Appears in:

FieldDescription
prodSLA used for production service instances which requires no downtime, RPO
of 15 min and RTO of 2 hrs (depends on the instance size).
qaSLA used for test/qa/staging service instances which requires scheduled
downtime only, RPO of 4 hrs and RTO of 4 hrs (depends on the instance size).
devSLA used for development service instances which tolerate unscheduled
downtime, RPO of 12 hrs and RTO of 6 hrs (depends on the instance size).

SpecRevision

Desired state revision of a resource.

Appears in:

FieldDescriptionDefaultValidation
spec integer arrayThe encoded versioned resource desired state.
generation integerA sequence number representing a specific generation of the desired
state stored in the revision.
creationTimestamp TimeA timestamp representing the server time when this version was created.

StatusConditionAnalysis

StatusConditionAnalysis requires a certain status condition on the target resource.

Appears in:

FieldDescriptionDefaultValidation
type stringThe condition type to perform analysis on.
timeout DurationA timeout after which an analysis is declared as failed.Pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
Type: string

TLSConfig

TLSConfig defines the Transport Layer Security (TLS) configuration for the Domain

Appears in:

FieldDescriptionDefaultValidation
secretRef LocalObjectReferenceSecretRef is a reference to the location of the Secret providing the
domain TLS configuration.
keystoreKey stringThe key in the Secret that provides the contents of the Java keystore
file.
nuoadmin.p12
truststoreKey stringThe key in the Secret that provides the contents of the Java truststore
file.
nuoadmin-truststore.p12
keystorePasswordKey stringThe key in the Secret that provides the password for the Java keystore.keystorePassword
truststorePasswordKey stringThe key in the Secret that provides the password for the Java truststore.truststorePassword
clientCertKey stringThe key in the Secret that provides the certificate and private key in
PEM format used by the NuoDB Admin REST clients.
nuocmd.pem
caCertKey stringThe key in the Secret that provides the Certificate Authority (CA) X509
certificate bundle that has signed the NuoDB Admin server key and used by
the NuoDB Admin REST clients. Leave it empty if a public CA has been
used.
ca.cert
generate TlsGenerateConfigAutomatically generate and provision the TLS keys in the configured
Secret reference.

TierUpdateStrategy

TierUpdateStrategy defines the strategy that the ServiceTier controller will use to deliver updates of the referenced Helm features to Domain and Databae resources.

Appears in:

FieldDescriptionDefaultValidation
type TierUpdateStrategyTypeThe service tier update strategy type. Defaults to Immediate.Enum: [CanaryRollout Immediate]
canary CanaryUpdateStrategyParameters for CanaryRollout update strategy.

TierUpdateStrategyType

Underlying type: string

TierUpdateStrategyType is a string type that enumerates all possible update strategies for the ServiceTier controller.

Validation:

  • Enum: [CanaryRollout Immediate]

Appears in:

FieldDescription
CanaryRolloutCanaryRolloutStrategy indicates that changes to service tier or
referenced features will be delivered to domains and databases
progressively by creating CanaryRollout resource.
ImmediateImmediateStrategy indicates that changes to service tier or referenced
features will be effective to domains and databases immediately.

TlsGenerateConfig

TlsGenerateConfig defines the TLS auto generation configuration.

Appears in:

FieldDescriptionDefaultValidation
provider TlsProviderThe TLS configuration provider.Enum: [NUODB_CP]
nuodbConfig NuoDBTlsProviderConfigThe configuration for the NuoDBControlPlane provider

TlsProvider

Underlying type: string

TlsProvider defines the strategy that will be used to generate the TLS configuration.

Validation:

  • Enum: [NUODB_CP]

Appears in:

FieldDescription
NUODB_CPNuoDB Control Plane will generate self-signed certificates valid for 1
year without automatic certificate renewal.

Transform

Appears in:

FieldDescriptionDefaultValidation
from stringThe value to transform. If regex is true, this is interpreted as
a regular expression that is matched against the input value.
Otherwise, this is interpreted as a literal string that is compared
fully to the input value. If the from value does not match the
input value, then this transformation has no effect.
to stringThe value to transform to. If regex is true, this may contain
references to capturing groups appearing in the from value,
otherwise it is just the literal output value.
regex booleanWhether to interpret from as a regular expression.
global booleanWhether to apply transformation to all matches of the regular
expression. If global is true, this transformation will be
applied to all occurrences of from within the current value. If
global is false or omitted, this transformation will be applied
to the first occurrence only.
strategy TransformStrategyEnum: [Compose ShortCircuit]

TransformStrategy

Underlying type: string

The strategy to use when chaining transformations.

  • Compose indicates that the output value of the current transformation should be applied as the input value to the next transformation.
  • ShortCircuit indicates that all subsequent transformations should be skipped if the current transformation matched on the input value.

If omitted, the default strategy is based on the regex value, with Compose being used when regex is true and ShortCircuit being used when regex is false or omitted.

Validation:

  • Enum: [Compose ShortCircuit]

Appears in:

FieldDescription
Compose
ShortCircuit

TypedLocalObjectReference

TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.

Appears in:

FieldDescriptionDefaultValidation
apiGroup stringAPIGroup is the group for the resource being referenced.
kind stringKind is the type of resource being referenced.
name stringName is the name of resource being referenced

Validate

Appears in:

FieldDescriptionDefaultValidation
jsonPath stringThe JSONPath expression to use to resolve the value from the user
attributes in the external provider, which are assumed to be in JSON
format.
required booleanWhether the resolved value is required.true
transform Transform arrayTransformations to apply to the value resolved by evaluating
jsonPath or to each element of the resolved array of values. If the
resolved value is not a value node (e.g. string, number) or an array
of value nodes, then transform is ignored.
pattern stringIf present, the regular expression that the resolved value must match.
enum string arrayIf present, the set of values that the resolved value is constrained to.MinItems: 1
items ValidateStringIf present, the constraints to apply on all elements of the resolved
value, which must be an array of value nodes.

ValidateEndpoint

Appears in:

FieldDescriptionDefaultValidation
url stringThe URL of the endpoint to use to validate service tickets.

ValidateString

Appears in:

FieldDescriptionDefaultValidation
pattern stringIf present, the regular expression that the resolved value must match.
enum string arrayIf present, the set of values that the resolved value is constrained to.MinItems: 1

ValueOrPath

Appears in:

FieldDescriptionDefaultValidation
value stringIf specified, the value to use.
jsonPath stringIf specified, the JSONPath expression to use to resolve the value
from the user attributes in the external provider, which are assumed
to be in JSON format.

ValueOrResolvedValue

Appears in:

FieldDescriptionDefaultValidation
value stringIf specified, the value to use.
jsonPath stringIf specified, the JSONPath expression to use to resolve the value
from the user attributes in the external provider, which are assumed
to be in JSON format.
transform Transform arrayTransformations to apply to the value resolved by evaluating
jsonPath or to each element of the resolved array of values. If the
resolved value is not a value node (e.g. string, number) or an array
of value nodes, then transform is ignored.

ValueOrSecretReference

Appears in:

FieldDescriptionDefaultValidation
value stringIf specified, the value to use.
secretRef SecretReferenceIf specified, the Secret resource reference to the value.

ValueReference

ValueReference contains a reference to a resource containing values, and optionally the key they can be found at

Appears in:

FieldDescriptionDefaultValidation
kind stringKind of the values referent, valid values are (‘Secret’, ‘ConfigMap’).Enum: [Secret ConfigMap]
name stringName of the values referent. Should reside in the same namespace as the
referring resource.
MaxLength: 253
MinLength: 1
dataKey stringDataKey is the data key where the a specific value can be
found at. Defaults to “data”
data

WorkloadStatus

WorkloadStatus defines the observed state of a StatefulSet or a Deployment

Appears in:

FieldDescriptionDefaultValidation
name stringName is the resource
kind stringKind is a string value representing the REST resource this object represents.
version stringVersion defines the schema version of this representation of an object.
group stringGroup defines the schema of this representation of an object.
state stringThe state of the resource
message stringA human readable message indicating details about why the resource is in
this condition
readyReplicas integerReadyReplicas is the number of pods created for this resource with a
Ready Condition.
replicas integerReplicas is the number of pods created by the resource controller.