Documentation
¶
Overview ¶
+k8s:deepcopy-gen=package
Index ¶
- Constants
- Variables
- func RegisterDefaults(scheme *runtime.Scheme) error
- func Resource(resource string) schema.GroupResource
- type AuthConfig
- type ClusterCondition
- type ClusterConditionType
- type ClusterPhase
- type ClusterSpec
- type ClusterStatus
- func (cs *ClusterStatus) AppendScalingDownCondition(from, to int)
- func (cs *ClusterStatus) AppendScalingUpCondition(from, to int)
- func (cs *ClusterStatus) AppendUpgradingCondition(from, to string)
- func (cs *ClusterStatus) Control()
- func (cs ClusterStatus) Copy() ClusterStatus
- func (in *ClusterStatus) DeepCopy() *ClusterStatus
- func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
- func (cs *ClusterStatus) IsFailed() bool
- func (cs *ClusterStatus) PauseControl()
- func (cs *ClusterStatus) SetCurrentVersion(v string)
- func (cs *ClusterStatus) SetPhase(p ClusterPhase)
- func (cs *ClusterStatus) SetReadyCondition()
- func (cs *ClusterStatus) SetReason(r string)
- func (cs *ClusterStatus) SetSize(size int)
- type ExtraRoute
- type GatewayConfig
- type LeafNodeConfig
- type NatsCluster
- func (c *NatsCluster) AsOwner() metav1.OwnerReference
- func (in *NatsCluster) DeepCopy() *NatsCluster
- func (in *NatsCluster) DeepCopyInto(out *NatsCluster)
- func (in *NatsCluster) DeepCopyObject() runtime.Object
- func (c *NatsCluster) GetClientAuthSecretResourceVersion() string
- func (c *NatsCluster) GetGroupVersionKind() schema.GroupVersionKind
- func (c *NatsCluster) GetNatsServiceRolesHash() string
- func (c *NatsCluster) SetClientAuthSecretResourceVersion(v string)
- func (c *NatsCluster) SetNatsServiceRolesHash(v string)
- type NatsClusterList
- type NatsServiceRole
- type NatsServiceRoleList
- type OperatorConfig
- type Permissions
- type PodPolicy
- type RemoteGatewayOpts
- type ServerConfig
- type ServiceRoleSpec
- type TLSConfig
Constants ¶
const ( ClusterPhaseNone ClusterPhase = "" ClusterPhaseCreating = "Creating" ClusterPhaseRunning = "Running" ClusterPhaseFailed = "Failed" )
const ( ClusterConditionReady = "Ready" ClusterConditionScalingUp = "ScalingUp" ClusterConditionScalingDown = "ScalingDown" ClusterConditionUpgrading = "Upgrading" )
const ( CRDResourceKind = "NatsCluster" CRDResourcePlural = "natsclusters" ServiceRoleCRDResourceKind = "NatsServiceRole" ServiceRoleCRDResourcePlural = "natsserviceroles" )
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme SchemeGroupVersion = schema.GroupVersion{Group: groupName, Version: "v1alpha2"} CRDName = CRDResourcePlural + "." + groupName ServiceRoleCRDName = ServiceRoleCRDResourcePlural + "." + groupName )
Functions ¶
func RegisterDefaults ¶
RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a group-qualified GroupResource.
Types ¶
type AuthConfig ¶
type AuthConfig struct {
// EnableServiceAccounts makes the operator lookup for mappings among
// Kubernetes ServiceAccounts and NatsServiceRoles to issue tokens that
// can be used to authenticate against a NATS cluster with authorization
// following the permissions set for the role.
EnableServiceAccounts bool `json:"enableServiceAccounts,omitempty"`
// ClientsAuthSecret is the secret containing the explicit authorization
// configuration in JSON.
ClientsAuthSecret string `json:"clientsAuthSecret,omitempty"`
// ClientsAuthFile is the path that nats-operator should read
// auth secrets from on disk.
ClientsAuthFile string `json:"clientsAuthFile,omitempty"`
// ClientsAuthTimeout is the time in seconds that the NATS server will
// allow to clients to send their auth credentials.
ClientsAuthTimeout int `json:"clientsAuthTimeout,omitempty"`
// TLSVerifyAndMap toggles verify and map to auth based on TLS certs.
TLSVerifyAndMap bool `json:"tlsVerifyAndMap,omitempty"`
}
AuthConfig is the authorization configuration for user permissions in the cluster.
func (*AuthConfig) DeepCopy ¶
func (in *AuthConfig) DeepCopy() *AuthConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthConfig.
func (*AuthConfig) DeepCopyInto ¶
func (in *AuthConfig) DeepCopyInto(out *AuthConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterCondition ¶
type ClusterCondition struct {
Type ClusterConditionType `json:"type"`
Reason string `json:"reason"`
TransitionTime string `json:"transitionTime"`
}
func (*ClusterCondition) DeepCopy ¶
func (in *ClusterCondition) DeepCopy() *ClusterCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterCondition.
func (*ClusterCondition) DeepCopyInto ¶
func (in *ClusterCondition) DeepCopyInto(out *ClusterCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterConditionType ¶
type ClusterConditionType string
type ClusterPhase ¶
type ClusterPhase string
type ClusterSpec ¶
type ClusterSpec struct {
// Size is the expected positive size of the NATS cluster.
// The operator will eventually make the size of the running
// cluster equal to the expected size.
Size int `json:"size"`
// Version is the expected version of the NATS cluster.
// The operator will eventually make the cluster version
// equal to the expected version.
//
// The version must follow the [semver]( http://semver.org) format, for example "1.0.4".
// Only NATS released versions are supported: https://github.com/nats-io/gnatsd/releases
//
Version string `json:"version"`
// ServerImage is the image of the NATS server to use.
ServerImage string `json:"serverImage"`
// ServerConfig is the extra configuration for the NATS server.
ServerConfig *ServerConfig `json:"natsConfig,omitempty"`
// Paused is to pause the control of the operator for the cluster.
Paused bool `json:"paused,omitempty"`
// Pod defines the policy to create pod for the NATS pod.
//
// Updating Pod does not take effect on any existing NATS pods.
Pod *PodPolicy `json:"pod,omitempty"`
// TLS is the configuration to secure the cluster.
TLS *TLSConfig `json:"tls,omitempty"`
// Auth is the configuration to set permissions for users.
Auth *AuthConfig `json:"auth,omitempty"`
// LameDuckDurationSeconds is the number of seconds during
// which the server spreads the closing of clients when
// signaled to go into "lame duck mode".
// +optional
LameDuckDurationSeconds *int64 `json:"lameDuckDurationSeconds,omitempty"`
// NoAdvertise disables advertising of endpoints for clients.
NoAdvertise bool `json:"noAdvertise,omitempty"`
// PodTemplate is the optional template to use for the pods.
PodTemplate *v1.PodTemplateSpec `json:"template,omitempty"`
// ExtraRoutes is a list of extra routes to which the cluster will connect.
ExtraRoutes []*ExtraRoute `json:"extraRoutes,omitempty"`
// GatewayConfig is the configuration for the gateways.
GatewayConfig *GatewayConfig `json:"gatewayConfig,omitempty"`
// LeafNodeConfig is the configuration for the leafnode.
LeafNodeConfig *LeafNodeConfig `json:"leafnodeConfig,omitempty"`
// OperatorConfig is the operator configuration from a server.
OperatorConfig *OperatorConfig `json:"operatorConfig,omitempty"`
}
func (*ClusterSpec) Cleanup ¶
func (c *ClusterSpec) Cleanup()
Cleanup cleans up user passed spec, e.g. defaulting, transforming fields. TODO: move this to admission controller
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterSpec) Validate ¶
func (c *ClusterSpec) Validate() error
type ClusterStatus ¶
type ClusterStatus struct {
// Phase is the cluster running phase.
Phase ClusterPhase `json:"phase"`
Reason string `json:"reason"`
// ControlPaused indicates the operator pauses the control of
// the cluster.
ControlPaused bool `json:"controlPaused"`
// Condition keeps ten most recent cluster conditions.
Conditions []ClusterCondition `json:"conditions"`
// Size is the current size of the cluster.
Size int `json:"size"`
// CurrentVersion is the current cluster version.
CurrentVersion string `json:"currentVersion"`
}
func (*ClusterStatus) AppendScalingDownCondition ¶
func (cs *ClusterStatus) AppendScalingDownCondition(from, to int)
func (*ClusterStatus) AppendScalingUpCondition ¶
func (cs *ClusterStatus) AppendScalingUpCondition(from, to int)
func (*ClusterStatus) AppendUpgradingCondition ¶
func (cs *ClusterStatus) AppendUpgradingCondition(from, to string)
func (*ClusterStatus) Control ¶
func (cs *ClusterStatus) Control()
func (ClusterStatus) Copy ¶
func (cs ClusterStatus) Copy() ClusterStatus
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterStatus) IsFailed ¶
func (cs *ClusterStatus) IsFailed() bool
func (*ClusterStatus) PauseControl ¶
func (cs *ClusterStatus) PauseControl()
func (*ClusterStatus) SetCurrentVersion ¶
func (cs *ClusterStatus) SetCurrentVersion(v string)
func (*ClusterStatus) SetPhase ¶
func (cs *ClusterStatus) SetPhase(p ClusterPhase)
func (*ClusterStatus) SetReadyCondition ¶
func (cs *ClusterStatus) SetReadyCondition()
func (*ClusterStatus) SetReason ¶
func (cs *ClusterStatus) SetReason(r string)
func (*ClusterStatus) SetSize ¶
func (cs *ClusterStatus) SetSize(size int)
SetSize sets the current size of the cluster.
type ExtraRoute ¶
type ExtraRoute struct {
// Cluster is the name of a NatsCluster.
Cluster string `json:"cluster,omitempty"`
// Route is a network endpoint to which the cluster should connect.
Route string `json:"route,omitempty"`
}
ExtraRoute is a route that is not originally part of the NatsCluster but that it will try to connect to.
func (*ExtraRoute) DeepCopy ¶
func (in *ExtraRoute) DeepCopy() *ExtraRoute
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtraRoute.
func (*ExtraRoute) DeepCopyInto ¶
func (in *ExtraRoute) DeepCopyInto(out *ExtraRoute)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GatewayConfig ¶
type GatewayConfig struct {
// Name is the name of the gateway cluster.
Name string `json:"name,omitempty"`
// Port is the port that will bound from this host
// for external access.
Port int `json:"hostPort,omitempty"`
// Gateways is the list of remote gateways to which
// this cluster will be connecting.
Gateways []*RemoteGatewayOpts `json:"gateways,omitempty"`
}
GatewayConfig is the configuration for the gateway.
func (*GatewayConfig) DeepCopy ¶
func (in *GatewayConfig) DeepCopy() *GatewayConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayConfig.
func (*GatewayConfig) DeepCopyInto ¶
func (in *GatewayConfig) DeepCopyInto(out *GatewayConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LeafNodeConfig ¶
type LeafNodeConfig struct {
Port int `json:"hostPort,omitempty"`
}
LeafNodeConfig is the configuration for leafnodes.
func (*LeafNodeConfig) DeepCopy ¶
func (in *LeafNodeConfig) DeepCopy() *LeafNodeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeafNodeConfig.
func (*LeafNodeConfig) DeepCopyInto ¶
func (in *LeafNodeConfig) DeepCopyInto(out *LeafNodeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NatsCluster ¶
type NatsCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterSpec `json:"spec"`
Status ClusterStatus `json:"status"`
}
NatsCluster is a NATS cluster.
+genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*NatsCluster) AsOwner ¶
func (c *NatsCluster) AsOwner() metav1.OwnerReference
func (*NatsCluster) DeepCopy ¶
func (in *NatsCluster) DeepCopy() *NatsCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NatsCluster.
func (*NatsCluster) DeepCopyInto ¶
func (in *NatsCluster) DeepCopyInto(out *NatsCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NatsCluster) DeepCopyObject ¶
func (in *NatsCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NatsCluster) GetClientAuthSecretResourceVersion ¶
func (c *NatsCluster) GetClientAuthSecretResourceVersion() string
GetClientAuthSecretResourceVersion returns the last-observed resource version of the secret containing authentication data for the NATS cluster.
func (*NatsCluster) GetGroupVersionKind ¶
func (c *NatsCluster) GetGroupVersionKind() schema.GroupVersionKind
GetGroupVersionKind returns a GroupVersionKind based on the current GroupVersion and the specified Kind.
func (*NatsCluster) GetNatsServiceRolesHash ¶
func (c *NatsCluster) GetNatsServiceRolesHash() string
GetNatsServiceRolesHash returns the hash of the comma-separated list of NatsServiceRole UIDs associated with the NATS cluster.
func (*NatsCluster) SetClientAuthSecretResourceVersion ¶
func (c *NatsCluster) SetClientAuthSecretResourceVersion(v string)
SetClientAuthSecretResourceVersion sets the last-observed resource version of the secret containing authentication data for the NATS cluster.
func (*NatsCluster) SetNatsServiceRolesHash ¶
func (c *NatsCluster) SetNatsServiceRolesHash(v string)
SetNatsServiceRolesHash sets the hash of the comma-separated list of NatsServiceRole UIDs associated with the NATS cluster.
type NatsClusterList ¶
type NatsClusterList struct {
metav1.TypeMeta `json:",inline"`
// Standard list metadata
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
metav1.ListMeta `json:"metadata,omitempty"`
Items []NatsCluster `json:"items"`
}
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*NatsClusterList) DeepCopy ¶
func (in *NatsClusterList) DeepCopy() *NatsClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NatsClusterList.
func (*NatsClusterList) DeepCopyInto ¶
func (in *NatsClusterList) DeepCopyInto(out *NatsClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NatsClusterList) DeepCopyObject ¶
func (in *NatsClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NatsServiceRole ¶
type NatsServiceRole struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ServiceRoleSpec `json:"spec"`
}
ServiceRole is a NATS cluster service role. Its name is should be the same as the name a Kubernetes ServiceAccount in a namespace.
+genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*NatsServiceRole) AsOwner ¶
func (c *NatsServiceRole) AsOwner() metav1.OwnerReference
func (*NatsServiceRole) DeepCopy ¶
func (in *NatsServiceRole) DeepCopy() *NatsServiceRole
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NatsServiceRole.
func (*NatsServiceRole) DeepCopyInto ¶
func (in *NatsServiceRole) DeepCopyInto(out *NatsServiceRole)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NatsServiceRole) DeepCopyObject ¶
func (in *NatsServiceRole) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NatsServiceRoleList ¶
type NatsServiceRoleList struct {
metav1.TypeMeta `json:",inline"`
// Standard list metadata
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
metav1.ListMeta `json:"metadata,omitempty"`
Items []NatsServiceRole `json:"items"`
}
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*NatsServiceRoleList) DeepCopy ¶
func (in *NatsServiceRoleList) DeepCopy() *NatsServiceRoleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NatsServiceRoleList.
func (*NatsServiceRoleList) DeepCopyInto ¶
func (in *NatsServiceRoleList) DeepCopyInto(out *NatsServiceRoleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NatsServiceRoleList) DeepCopyObject ¶
func (in *NatsServiceRoleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OperatorConfig ¶
type OperatorConfig struct {
Secret string `json:"secret,omitempty"`
SystemAccount string `json:"systemAccount,omitempty"`
Resolver string `json:"resolver,omitempty"`
}
OperatorConfig is the operator configuration from a server.
func (*OperatorConfig) DeepCopy ¶
func (in *OperatorConfig) DeepCopy() *OperatorConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorConfig.
func (*OperatorConfig) DeepCopyInto ¶
func (in *OperatorConfig) DeepCopyInto(out *OperatorConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Permissions ¶
type Permissions struct {
Publish []string `json:"publish,omitempty"`
Subscribe []string `json:"subscribe,omitempty"`
}
Permissions are the authorization rules defined for a role.
func (*Permissions) DeepCopy ¶
func (in *Permissions) DeepCopy() *Permissions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Permissions.
func (*Permissions) DeepCopyInto ¶
func (in *Permissions) DeepCopyInto(out *Permissions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodPolicy ¶
type PodPolicy struct {
// Labels specifies the labels to attach to pods the operator creates for the
// NATS cluster.
// "app" and "nats_*" labels are reserved for the internal use of this operator.
// Do not overwrite them.
Labels map[string]string `json:"labels,omitempty"`
// Annotations specifies the annotations to attach to pods the operator creates.
Annotations map[string]string `json:"annotations,omitempty"`
// NodeSelector specifies a map of key-value pairs. For the pod to be eligible
// to run on a node, the node must have each of the indicated key-value pairs as
// labels.
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// AntiAffinity determines if the nats-operator tries to avoid putting
// the NATS members in the same cluster onto the same node.
AntiAffinity bool `json:"antiAffinity,omitempty"`
// Resources is the resource requirements for the NATS container.
// This field cannot be updated once the cluster is created.
Resources v1.ResourceRequirements `json:"resources,omitempty"`
// Tolerations specifies the pod's tolerations.
Tolerations []v1.Toleration `json:"tolerations,omitempty"`
// List of environment variables to set in the NATS container.
NatsEnv []v1.EnvVar `json:"natsEnv,omitempty"`
// EnableConfigReload attaches a sidecar to each NATS Server
// that will signal the server whenever the configuration is updated.
EnableConfigReload bool `json:"enableConfigReload,omitempty"`
// ReloaderImage is the image to use for the reloader.
ReloaderImage string `json:"reloaderImage,omitempty"`
// ReloaderImageTag is the tag of the reloader image.
ReloaderImageTag string `json:"reloaderImageTag,omitempty"`
// ReloaderImagePullPolicy is the pull policy for the reloader image.
ReloaderImagePullPolicy string `json:"reloaderImagePullPolicy,omitempty"`
// EnableMetrics attaches a sidecar to each NATS Server
// that will export prometheus metrics.
EnableMetrics bool `json:"enableMetrics,omitempty"`
// MetricsImage is the image to use for the prometheus metrics exporter.
MetricsImage string `json:"metricsImage,omitempty"`
// MetricsImageTag is the tag of the prometheus metrics exporter image.
MetricsImageTag string `json:"metricsImageTag,omitempty"`
// MetricsImagePullPolicy is the pull policy for the prometheus metrics exporter image.
MetricsImagePullPolicy string `json:"metricsImagePullPolicy,omitempty"`
// EnableClientsHostPort will bind a host port for the NATS container clients port,
// also meaning that only a single NATS server can be running on that machine.
EnableClientsHostPort bool `json:"enableClientsHostPort,omitempty"`
// AdvertiseExternalIP will configure the client advertise address for a pod
// to be the external IP of the pod where it is running.
AdvertiseExternalIP bool `json:"advertiseExternalIP,omitempty"`
// BootConfigContainerImage is the image to use for the initialize
// container that generates config on the fly for the nats server.
BootConfigContainerImage string `json:"bootconfigImage,omitempty"`
// BootConfigContainerImageTag is the tag of the bootconfig container image.
BootConfigContainerImageTag string `json:"bootconfigImageTag,omitempty"`
// VolumeMounts is a list of k8s volume mount definitions for the nats container
VolumeMounts []v1.VolumeMount `json:"volumeMounts,omitempty"`
}
PodPolicy defines the policy to create pod for the NATS container.
func (*PodPolicy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodPolicy.
func (*PodPolicy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RemoteGatewayOpts ¶
type RemoteGatewayOpts struct {
// Name is the name of the remote gateway.
Name string `json:"name"`
// URL is the endpoint of the remote gateway.
URL string `json:"url,omitempty"`
}
RemoteGatewayOpts is the configuration for a remote gateway entry.
func (*RemoteGatewayOpts) DeepCopy ¶
func (in *RemoteGatewayOpts) DeepCopy() *RemoteGatewayOpts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteGatewayOpts.
func (*RemoteGatewayOpts) DeepCopyInto ¶
func (in *RemoteGatewayOpts) DeepCopyInto(out *RemoteGatewayOpts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerConfig ¶
type ServerConfig struct {
Debug bool `json:"debug,omitempty"`
Trace bool `json:"trace,omitempty"`
WriteDeadline string `json:"write_deadline,omitempty"`
MaxConnections int `json:"maxConnections,omitempty"`
MaxPayload int `json:"maxPayload,omitempty"`
MaxPending int `json:"maxPending,omitempty"`
MaxSubscriptions int `json:"maxSubscriptions,omitempty"`
MaxControlLine int `json:"maxControlLine,omitempty"`
DisableLogtime bool `json:"disableLogtime,omitempty"`
}
ServerConfig is extra configuration for the NATS server.
func (*ServerConfig) DeepCopy ¶
func (in *ServerConfig) DeepCopy() *ServerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerConfig.
func (*ServerConfig) DeepCopyInto ¶
func (in *ServerConfig) DeepCopyInto(out *ServerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceRoleSpec ¶
type ServiceRoleSpec struct {
// Permissions are the authorization rules defined for a ServiceAccount.
Permissions Permissions `json:"permissions,omitempty" protobuf:"bytes,1,opt,name=permissions"`
}
ServiceRoleSpec defines the permissions for a user account used by a NATS cluster client.
func (*ServiceRoleSpec) DeepCopy ¶
func (in *ServiceRoleSpec) DeepCopy() *ServiceRoleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceRoleSpec.
func (*ServiceRoleSpec) DeepCopyInto ¶
func (in *ServiceRoleSpec) DeepCopyInto(out *ServiceRoleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSConfig ¶
type TLSConfig struct {
// ServerSecret is the secret containing the certificates
// to secure the port to which the clients connect.
ServerSecret string `json:"serverSecret,omitempty"`
// ServerSecretCAFileName is the name of the CA in ServerSecret
// (default: ca.pem)
ServerSecretCAFileName string `json:"serverSecretCAFileName,omitempty"`
// ServerSecretKeyFileName is the name of the key in ServerSecret
// (default: server-key.pem)
ServerSecretKeyFileName string `json:"serverSecretKeyFileName,omitempty"`
// ServerSecretCertFileName is the name of the certificate in ServerSecret
// (default: server.pem)
ServerSecretCertFileName string `json:"serverSecretCertFileName,omitempty"`
// RoutesSecret is the secret containing the certificates
// to secure the port to which cluster routes connect.
RoutesSecret string `json:"routesSecret,omitempty"`
// RoutesSecretCAFileName is the name of the CA in RoutesSecret
// (default: ca.pem)
RoutesSecretCAFileName string `json:"routesSecretCAFileName,omitempty"`
// RoutesSecretKeyFileName is the name of the key in RoutesSecret
// (default: route-key.pem)
RoutesSecretKeyFileName string `json:"routesSecretKeyFileName,omitempty"`
// RoutesSecretCertFileName is the name of the certificate in RoutesSecret
// (default: route.pem)
RoutesSecretCertFileName string `json:"routesSecretCertFileName,omitempty"`
// GatewaySecret is the secret containing the certificates
// to secure the port to which gateway routes connect.
GatewaySecret string `json:"gatewaySecret,omitempty"`
// GatewaySecretCAFileName is the name of the CA in GatewaySecret
// (default: ca.pem)
GatewaySecretCAFileName string `json:"gatewaySecretCAFileName,omitempty"`
// GatewaySecretKeyFileName is the name of the key in GatewaySecret
GatewaySecretKeyFileName string `json:"gatewaySecretKeyFileName,omitempty"`
// GatewaySecretCertFileName is the name of the certificate in GatewaySecret
GatewaySecretCertFileName string `json:"gatewaySecretCertFileName,omitempty"`
// LeafnodeSecret is the secret containing the certificates
// to secure the port to which leafnode routes connect.
LeafnodeSecret string `json:"leafnodeSecret,omitempty"`
// LeafnodeSecretCAFileName is the name of the CA in LeafnodeSecret
// (default: ca.pem)
LeafnodeSecretCAFileName string `json:"leafnodeSecretCAFileName,omitempty"`
// LeafnodeSecretKeyFileName is the name of the key in LeafnodeSecret
LeafnodeSecretKeyFileName string `json:"leafnodeSecretKeyFileName,omitempty"`
// LeafnodeSecretCertFileName is the name of the certificate in LeafnodeSecret
LeafnodeSecretCertFileName string `json:"leafnodeSecretCertFileName,omitempty"`
// EnableHttps makes the monitoring endpoint use https.
EnableHttps bool `json:"enableHttps,omitempty"`
// ClientsTLSTimeout is the time in seconds that the NATS server will
// allow to clients to finish the TLS handshake.
ClientsTLSTimeout float64 `json:"clientsTLSTimeout,omitempty"`
// RoutesTLSTimeout is the time in seconds that the NATS server will
// allow to routes to finish the TLS handshake.
RoutesTLSTimeout float64 `json:"routesTLSTimeout,omitempty"`
// GatewaysTLSTimeout is the time in seconds that the NATS server will
// allow to routes to finish the TLS handshake.
GatewaysTLSTimeout float64 `json:"gatewaysTLSTimeout,omitempty"`
// LeafnodesTLSTimeout is the time in seconds that the NATS server will
// allow to routes to finish the TLS handshake.
LeafnodesTLSTimeout float64 `json:"leafnodesTLSTimeout,omitempty"`
// Verify toggles verifying TLS certs for clients.
Verify bool `json:"verify,omitempty"`
}
TLSConfig is the optional TLS configuration for the cluster.
func (*TLSConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.
func (*TLSConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.