### Install NAuth using Helm Source: https://nauth.io/llms-small.txt This command installs the NAuth operator using a Helm chart from a specified OCI registry. It also creates a dedicated namespace for NAuth. ```bash helm install nauth oci://ghcr.io/wirelesscar/nauth \ --create-namespace \ --namespace nauth ``` -------------------------------- ### Install NAuth using Helm Source: https://nauth.io/llms-full.txt Installs the NAuth operator using Helm charts. This command creates a new namespace 'nauth' and installs NAuth within it. ```bash helm install nauth oci://ghcr.io/wirelesscar/nauth \ --create-namespace \ --namespace nauth ``` -------------------------------- ### Kubernetes API Conventions Source: https://nauth.io/llms-small.txt These links point to Kubernetes API conventions documentation, specifically for resource types and kinds, which are relevant for understanding the structure of Kubernetes objects managed by NAuth. ```go // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources ``` -------------------------------- ### Import Configuration Structure Source: https://nauth.io/llms-small.txt Defines the structure for an import, including account references, name, subject, local subject for subscriptions/publications, and type. ```Go type Import struct { AccountRef *AccountRef `json:"accountRef,omitempty"` Name string `json:"name,omitempty"` Subject Subject `json:"subject,omitempty"` Account string `json:"account,omitempty"` LocalSubject RenamingSubject `json:"localSubject,omitempty"` Type Exp ``` -------------------------------- ### AccountList Resource Definition (Go) Source: https://nauth.io/llms-small.txt Defines the AccountList resource for the nauth.io/v1alpha1 API group, used for listing multiple Account resources. It includes standard Kubernetes list metadata and an array of Account items. ```Go type AccountList struct { metav1.TypeMeta `json:"-"` metav1.ListMeta `json:"metadata,omitempty"` Items []Account `json:"items"` } ``` -------------------------------- ### Export Configuration Structure Source: https://nauth.io/llms-small.txt Defines the structure for an export, including its name, subject, type, token requirements, revocation settings, response type, and latency. ```Go type Export struct { Name string `json:"name,omitempty"` Subject Subject `json:"subject,omitempty"` Type ExportType `json:"type,omitempty"` TokenReq bool `json:"tokenReq,omitempty"` Revocations RevocationList `json:"revocations,omitempty"` ResponseType ResponseType `json:"responseType,omitempty"` ResponseThreshold *Duration `json:"responseThreshold,omitempty"` ServiceLatency *ServiceLatency `json:"serviceLatency,omitempty"` AccountTokenPosition int `json:"accountTokenPosition,omitempty"` Advertise bool `json:"advertise,omitempty"` AllowTrace bool `json:"allowTrace,omitempty"` } ``` -------------------------------- ### Account Resource Definition (Go) Source: https://nauth.io/llms-small.txt Defines the Account resource for the nauth.io/v1alpha1 API group. Includes fields like apiVersion, kind, metadata, spec, and status. The spec contains AccountSpec, which details account limits. ```Go type Account struct { metav1.TypeMeta `json:"-"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AccountSpec `json:"spec,omitempty"` Status AccountStatus `json:"status,omitempty"` } type AccountSpec struct { AccountLimits AccountLimits `json:"accountLimits,omitempty"` } type AccountLimits struct { Imports *int `json:"imports,omitempty"` Exports *int `json:"exports,omitempty"` Wildcards *bool `json:"wildcards,omitempty"` Conn *int `json:"conn,omitempty"` Leaf *int `json:"leaf,omitempty"` } ``` -------------------------------- ### UserLimits Structure Source: https://nauth.io/llms-full.txt Defines the structure for UserLimits, including source IP specifications (CIDRList) and time ranges. ```go type UserLimits struct { src string `json:"src,omitempty"` times []TimeRange `json:"times,omitempty"` timesLocation string `json:"timesLocation,omitempty"` } ``` -------------------------------- ### UserList Structure Source: https://nauth.io/llms-full.txt Defines the structure for UserList, which contains a list of User objects. It includes API version, kind, metadata, and the list of items. ```go type UserList struct { APIVersion string `json:"apiVersion,omitempty"` Kind string `json:"kind,omitempty"` Metadata ListMeta `json:"metadata,omitempty"` Items []User `json:"items,omitempty"` } ``` -------------------------------- ### AccountRef Structure (Go) Source: https://nauth.io/llms-small.txt Represents a reference to an Account resource, typically used within other resource definitions like Imports. It includes the name and namespace of the referenced Account. ```Go type AccountRef struct { Name string `json:"name,omitempty"` Namespace string `json:"namespace,omitempty"` } ``` -------------------------------- ### Define Export Configuration Source: https://nauth.io/llms-full.txt Export defines the configuration for exporting services or streams, including name, subject, type, and revocation settings. ```Go type Export struct { Name string Subject *Subject Type ExportType TokenReq bool Revocations *RevocationList ResponseType ResponseType ResponseThreshold Duration ServiceLatency *ServiceLatency AccountTokenPosition int Advertise bool AllowTrace bool } ``` -------------------------------- ### Define Account Specification Source: https://nauth.io/llms-full.txt AccountSpec defines the desired state of an Account, including various limits and configurations for NATS and JetStream. ```Go type AccountSpec struct { AccountLimits *AccountLimits Exports *Exports Imports *Imports JetStreamLimits *JetStreamLimits NatsLimits *NatsLimits } ``` -------------------------------- ### Define Account Status Source: https://nauth.io/llms-full.txt AccountStatus defines the observed state of an Account, including claims, conditions, and reconciliation timestamps. ```Go type AccountStatus struct { Claims *AccountClaims Conditions []Condition ObservedGeneration int64 ReconcileTimestamp Time SigningKey *KeyInfo } ``` -------------------------------- ### Define CIDR List Source: https://nauth.io/llms-full.txt CIDRList is an underlying type that appears in UserLimits, likely used for network access control. ```Go type CIDRList TagList ``` -------------------------------- ### ExportType Enum Definition Source: https://nauth.io/llms-small.txt Defines the possible types for an export, specifying whether it's a 'stream' or a 'service'. This is used to categorize data or services being exported. ```Go type ExportType string const ( StreamType ExportType = "stream" ServiceType ExportType = "service" ) ``` -------------------------------- ### Define Export Type Enum Source: https://nauth.io/llms-full.txt ExportType is a string enum defining whether an export is for a 'stream' or a 'service'. ```Go type ExportType string const ( Stream ExportType = "stream" Service ExportType = "service" ) ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.