Skip to content

API Reference

Package v1alpha1 contains API schema definitions for the nauth.io v1alpha1 API group.

Account is the composite resource for the accounts API.

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringnauth.io/v1alpha1
kind stringAccount
kind stringKind 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
Optional: {}
apiVersion stringAPIVersion 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
Optional: {}
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec AccountSpec
status AccountStatus

Appears in:

FieldDescriptionDefaultValidation
name stringName the child resource nameMinLength: 1
Required: {}
Required: {}
uid UIDUID of the child resource UIDRequired: {}
observedGeneration integerObservedGeneration refers to the observed generation of the child resource.Minimum: 0
Required: {}
status AccountAdoptionStatusStatus of the adoptionRequired: {}

Appears in:

FieldDescriptionDefaultValidation
status ConditionStatusStatus of the adoption, one of True, False, Unknown.Enum: [True False Unknown]
Required: {}
Required: {}
desiredClaimObservedGeneration integerDesiredClaimObservedGeneration refers to the observed generation of the child resource desired claim.Minimum: 0
Optional: {}
reason stringReason contains a programmatic identifier indicating the reason for the adoption’s last transition.
The value should be a CamelCase string.
This field may not be empty.
MaxLength: 1024
MinLength: 1
Pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
Required: {}
Required: {}
message stringMessage is a human-readable message indicating details about the adoption.MaxLength: 32768
Optional: {}

AccountAdoptions defines the status of child resources that have been adopted or are candidates for adoption by this account.

Appears in:

FieldDescriptionDefaultValidation
exports AccountAdoption arrayExports defines adoptions of type AccountExport that are bound to the account.Optional: {}
imports AccountAdoption arrayImports defines adoptions of type AccountImport that are bound to the account.Optional: {}

Appears in:

FieldDescriptionDefaultValidation
accountLimits AccountLimitsOptional: {}
displayName stringOptional: {}
signingKeys SigningKeysOptional: {}
exports ExportsOptional: {}
imports ImportsOptional: {}
jetStreamEnabled booleanOptional: {}
jetStreamLimits JetStreamLimitsOptional: {}
natsLimits NatsLimitsOptional: {}

AccountExport is a component resource for exports in the accounts API.

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringnauth.io/v1alpha1
kind stringAccountExport
kind stringKind 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
Optional: {}
apiVersion stringAPIVersion 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
Optional: {}
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec AccountExportSpec
status AccountExportStatus

Appears in:

FieldDescriptionDefaultValidation
rules AccountExportRule arrayRules contains export rules that have been validated and are ready to be used by AccountMinItems: 1
Required: {}
observedGeneration integerRequired: {}

AccountExportList contains a list of AccountExport.

FieldDescriptionDefaultValidation
apiVersion stringnauth.io/v1alpha1
kind stringAccountExportList
kind stringKind 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
Optional: {}
apiVersion stringAPIVersion 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
Optional: {}
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items AccountExport array

Appears in:

FieldDescriptionDefaultValidation
name stringOptional: {}
subject SubjectRequired: {}
type ExportTypeEnum: [stream service]
Required: {}
responseType ResponseTypeEnum: [Singleton Stream Chunked]
Optional: {}
responseThreshold DurationOptional: {}
serviceLatency ServiceLatencyOptional: {}
accountTokenPosition integerOptional: {}
advertise booleanOptional: {}
allowTrace booleanOptional: {}

AccountExportSpec defines the desired state of AccountExport.

Appears in:

FieldDescriptionDefaultValidation
accountName stringAccountName refers to the Account in the same namespace to which this export applies.Required: {}
rules AccountExportRule arrayRules defines the export rules for this account export. Must have at least one rule.MinItems: 1
Required: {}

AccountExportStatus defines the observed state of AccountExport.

Appears in:

FieldDescriptionDefaultValidation
accountID stringAccountID is the ID of the account that this export is bound to.Optional: {}
desiredClaim AccountExportClaimNormalized claim for account to useOptional: {}
conditions Condition arrayOptional: {}
observedGeneration integerOptional: {}
reconcileTimestamp TimeOptional: {}
operatorVersion stringOptional: {}

AccountImport is a component resource for imports in the accounts API.

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringnauth.io/v1alpha1
kind stringAccountImport
kind stringKind 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
Optional: {}
apiVersion stringAPIVersion 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
Optional: {}
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec AccountImportSpec
status AccountImportStatus

Appears in:

FieldDescriptionDefaultValidation
rules AccountImportRuleDerived arrayRules contains import rules that have been validated and are ready to be used by Account.MinItems: 1
Required: {}
observedGeneration integerRequired: {}

AccountImportList contains a list of AccountImport.

FieldDescriptionDefaultValidation
apiVersion stringnauth.io/v1alpha1
kind stringAccountImportList
kind stringKind 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
Optional: {}
apiVersion stringAPIVersion 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
Optional: {}
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items AccountImport array

Appears in:

FieldDescriptionDefaultValidation
name stringOptional: {}
subject SubjectSubject is the exported subject to import.
It must be identical to or a subset of the exported subject.
Required: {}
localSubject RenamingSubjectLocalSubject remaps the imported subject locally in the importing account.Optional: {}
type ExportTypeType defines whether the import is a stream or service import.Enum: [stream service]
Required: {}
share booleanOptional: {}
allowTrace booleanOptional: {}

Appears in:

FieldDescriptionDefaultValidation
name stringOptional: {}
subject SubjectSubject is the exported subject to import.
It must be identical to or a subset of the exported subject.
Required: {}
localSubject RenamingSubjectLocalSubject remaps the imported subject locally in the importing account.Optional: {}
type ExportTypeType defines whether the import is a stream or service import.Enum: [stream service]
Required: {}
share booleanOptional: {}
allowTrace booleanOptional: {}
account stringAccount is the resolved export account ID used for this import rule.Required: {}

AccountImportSpec defines the desired state of AccountImport.

Appears in:

FieldDescriptionDefaultValidation
accountName stringAccountName refers to the Account in the same namespace to which this import applies.Required: {}
exportAccountRef AccountRefExportAccountRef refers to the Account from which the exports are imported.
This reference may point to an Account in another namespace.
Required: {}
rules AccountImportRule arrayRules defines the import rules for this AccountImport.MinItems: 1
Required: {}

AccountImportStatus defines the observed state of AccountImport.

Appears in:

FieldDescriptionDefaultValidation
accountID stringAccountID is the resolved ID of the Account referenced by spec.accountName.Optional: {}
exportAccountID stringExportAccountID is the resolved ID of the Account referenced by spec.exportAccountRef.Optional: {}
desiredClaim AccountImportClaimDesiredClaim is the normalized claim for Account to use.Optional: {}
conditions Condition arrayOptional: {}
observedGeneration integerOptional: {}
reconcileTimestamp TimeOptional: {}
operatorVersion stringOptional: {}

Appears in:

FieldDescriptionDefaultValidation
imports integer-1Optional: {}
exports integer-1Optional: {}
wildcards booleantrueOptional: {}
conn integer-1Optional: {}
leaf integer-1Optional: {}

AccountList contains a list of Account.

FieldDescriptionDefaultValidation
apiVersion stringnauth.io/v1alpha1
kind stringAccountList
kind stringKind 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
Optional: {}
apiVersion stringAPIVersion 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
Optional: {}
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items Account array

Appears in:

FieldDescriptionDefaultValidation
name string
namespace string

AccountSpec defines the desired state of Account.

Appears in:

FieldDescriptionDefaultValidation
natsClusterRef NatsClusterRefNatsClusterRef references the NatsCluster to use for this account.
If not specified, the controller uses the operator-level NATS_CLUSTER_REF when configured.
Otherwise, reconciliation fails because the target NatsCluster cannot be resolved.
Optional: {}
displayName stringDisplayName is an optional name for the NATS resource representing the account. May be derived if absent.Optional: {}
jetStreamEnabled booleanJetStreamEnabled indicates whether JetStream should be explicitly enabled or disabled.
If absent, JetStream will be implicitly enabled/disabled based on the effective JetStreamLimits.
Optional: {}
accountLimits AccountLimitsOptional: {}
exports ExportsOptional: {}
imports ImportsOptional: {}
jetStreamLimits JetStreamLimitsOptional: {}
natsLimits NatsLimitsOptional: {}

AccountStatus defines the observed state of Account.

Appears in:

FieldDescriptionDefaultValidation
claims AccountClaimsOptional: {}
claimsHash stringClaimsHash is a hash of the Account JWT claims, used to determine if the claims have changed and a new JWT needs to be generated.Optional: {}
adoptions AccountAdoptionsOptional: {}
conditions Condition arrayOptional: {}
observedGeneration integerOptional: {}
reconcileTimestamp TimeOptional: {}
operatorVersion stringOptional: {}

Underlying type: TagList

Appears in:

Appears in:

FieldDescriptionDefaultValidation
name string
subject Subject
type ExportTypeEnum: [stream service]
tokenReq boolean
revocations RevocationList
responseType ResponseTypeEnum: [Singleton Stream Chunked]
responseThreshold Duration
serviceLatency ServiceLatency
accountTokenPosition integer
advertise boolean
allowTrace boolean

Underlying type: string

ExportType defines the type of import/export.

Validation:

  • Enum: [stream service]

Appears in:

FieldDescription
streamStream defines the type field value for a stream “stream”
serviceService defines the type field value for a service “service”

Underlying type: Export

Appears in:

FieldDescriptionDefaultValidation
name string
subject Subject
type ExportTypeEnum: [stream service]
tokenReq boolean
revocations RevocationList
responseType ResponseTypeEnum: [Singleton Stream Chunked]
responseThreshold Duration
serviceLatency ServiceLatency
accountTokenPosition integer
advertise boolean
allowTrace boolean

Appears in:

FieldDescriptionDefaultValidation
accountRef AccountRefAccountRefName references the account used to create the user.
name string
subject SubjectSubject field in an import is always from the perspective of the
initial publisher - in the case of a stream it is the account owning
the stream (the exporter), and in the case of a service it is the
account making the request (the importer).
account string
localSubject RenamingSubjectLocal subject used to subscribe (for streams) and publish (for services) to.
This value only needs setting if you want to change the value of Subject.
If the value of Subject ends in > then LocalSubject needs to end in > as well.
LocalSubject can contain $ wildcard references where number references the nth wildcard in Subject.
The sum of wildcard reference and * tokens needs to match the number of * token in Subject.
type ExportTypeEnum: [stream service]
share boolean
allowTrace boolean

Underlying type: Import

Appears in:

FieldDescriptionDefaultValidation
accountRef AccountRefAccountRefName references the account used to create the user.
name string
subject SubjectSubject field in an import is always from the perspective of the
initial publisher - in the case of a stream it is the account owning
the stream (the exporter), and in the case of a service it is the
account making the request (the importer).
account string
localSubject RenamingSubjectLocal subject used to subscribe (for streams) and publish (for services) to.
This value only needs setting if you want to change the value of Subject.
If the value of Subject ends in > then LocalSubject needs to end in > as well.
LocalSubject can contain $ wildcard references where number references the nth wildcard in Subject.
The sum of wildcard reference and * tokens needs to match the number of * token in Subject.
type ExportTypeEnum: [stream service]
share boolean
allowTrace boolean

Appears in:

FieldDescriptionDefaultValidation
memStorage integer-1Optional: {}
diskStorage integer-1Optional: {}
streams integer-1Optional: {}
consumer integer-1Optional: {}
maxAckPending integer-1Optional: {}
memMaxStreamBytes integer-1Optional: {}
diskMaxStreamBytes integer-1Optional: {}
maxBytesRequired booleanfalseOptional: {}

NatsCluster is the Schema for the natsclusters API

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringnauth.io/v1alpha1
kind stringNatsCluster
kind stringKind 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
Optional: {}
apiVersion stringAPIVersion 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
Optional: {}
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec NatsClusterSpec
status NatsClusterStatus

NatsClusterList contains a list of NatsCluster

FieldDescriptionDefaultValidation
apiVersion stringnauth.io/v1alpha1
kind stringNatsClusterList
kind stringKind 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
Optional: {}
apiVersion stringAPIVersion 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
Optional: {}
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items NatsCluster array

NatsClusterRef references a NatsCluster resource

Appears in:

FieldDescriptionDefaultValidation
name stringName of the NatsCluster
namespace stringNamespace of the NatsClusterOptional: {}

NatsClusterSpec defines the desired state of NatsCluster

Appears in:

FieldDescriptionDefaultValidation
url stringURL is the NATS server URL for this cluster. Mutually exclusive with urlFrom.Optional: {}
urlFrom URLFromReferenceURLFrom loads the NATS URL from a ConfigMap or Secret. Mutually exclusive with url.Optional: {}
operatorSigningKeySecretRef SecretKeyReference
systemAccountUserCredsSecretRef SecretKeyReference

NatsClusterStatus defines the observed state of NatsCluster.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayOptional: {}
observedGeneration integerOptional: {}
reconcileTimestamp TimeOptional: {}
operatorVersion stringOptional: {}

Appears in:

FieldDescriptionDefaultValidation
subs integer-1Optional: {}
data integer-1Optional: {}
payload integer-1Optional: {}

Permission defines allow/deny subjects

Appears in:

FieldDescriptionDefaultValidation
allow StringListOptional: {}
deny StringListOptional: {}

Permissions are used to restrict subject access, either on a user or for everyone on a server by default

Appears in:

FieldDescriptionDefaultValidation
pub PermissionOptional: {}
sub PermissionOptional: {}
resp ResponsePermissionOptional: {}

Underlying type: Subject

Appears in:

ResponsePermission can be used to allow responses to any reply subject that is received on a valid subscription.

Appears in:

FieldDescriptionDefaultValidation
max integerOptional: {}
ttl DurationOptional: {}

Underlying type: string

ResponseType is used to store an export response type

Validation:

  • Enum: [Singleton Stream Chunked]

Appears in:

Underlying type: object

Appears in:

Underlying type: integer

Appears in:

SecretKeyReference contains information to locate a secret in the same namespace

Appears in:

FieldDescriptionDefaultValidation
name stringName of the Secret.Required: {}
key stringKey in the Secret, when not specified an implementation-specific default key is used.Optional: {}

Appears in:

FieldDescriptionDefaultValidation
sampling SamplingRate
results Subject

Appears in:

FieldDescriptionDefaultValidation
key string

Underlying type: SigningKey

Appears in:

FieldDescriptionDefaultValidation
key string

Underlying type: string array

StringList is a wrapper for an array of strings

Appears in:

Underlying type: string

Subject is a string that represents a NATS subject

Appears in:

Underlying type: string array

TagList is a unique array of lower case strings All tag list methods lower case the strings in the arguments

Appears in:

TimeRange is used to represent a start and end time

Appears in:

FieldDescriptionDefaultValidation
start string
end string

Underlying type: string

URLFromKind is the type of resource to load the NATS URL from.

Validation:

  • Enum: [ConfigMap Secret]

Appears in:

FieldDescription
ConfigMap
Secret

URLFromReference describes how to load the NATS URL from a ConfigMap or Secret.

Appears in:

FieldDescriptionDefaultValidation
kind URLFromKindKind is the type of resource to load from: ConfigMap or Secret.Enum: [ConfigMap Secret]
Required: {}
name stringName of the ConfigMap or Secret.Required: {}
namespace stringNamespace of the resource. When empty, defaults to the NatsCluster’s namespace.Optional: {}
key stringKey in the ConfigMap or Secret whose value is the NATS URL.Required: {}

User is the Schema for the users API.

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringnauth.io/v1alpha1
kind stringUser
kind stringKind 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
Optional: {}
apiVersion stringAPIVersion 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
Optional: {}
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec UserSpec
status UserStatus

Appears in:

FieldDescriptionDefaultValidation
accountName stringDeprecated. Will be removed in a future release (>v0.5.0). Ref: https://github.com/WirelessCar/nauth/issues/102Optional: {}
displayName stringDisplayName is an optional name for the NATS resource representing the user.Optional: {}
expiresAt TimeExpiresAt is the absolute time when the generated user JWT expires.Optional: {}
permissions PermissionsOptional: {}
natsLimits NatsLimitsOptional: {}
userLimits UserLimitsOptional: {}

Appears in:

FieldDescriptionDefaultValidation
src CIDRListSrc is a comma separated list of CIDR specificationsOptional: {}
times TimeRange arrayOptional: {}
timesLocation stringOptional: {}

UserList contains a list of User.

FieldDescriptionDefaultValidation
apiVersion stringnauth.io/v1alpha1
kind stringUserList
kind stringKind 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
Optional: {}
apiVersion stringAPIVersion 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
Optional: {}
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items User array

UserSpec defines the desired state of User.

Appears in:

FieldDescriptionDefaultValidation
accountName stringAccountName references the account used to create the user.
displayName stringDisplayName is an optional name for the NATS resource representing the user. May be derived if absent.Optional: {}
expiresAt TimeExpiresAt is an optional absolute time when the generated user JWT expires.Optional: {}
permissions PermissionsOptional: {}
userLimits UserLimitsOptional: {}
natsLimits NatsLimitsOptional: {}

UserStatus defines the observed state of User.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayOptional: {}
claims UserClaimsOptional: {}
observedGeneration integerOptional: {}
reconcileTimestamp TimeOptional: {}
operatorVersion stringOptional: {}