failure

package
v0.1.0-rc.41 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 22, 2026 License: BSD-3-Clause Imports: 8 Imported by: 0

Documentation

Overview

package failure defines shared error reasons, retry policies, and safe messages. commands, logs, and APIs choose how to present them.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Describe

func Describe(err error) (Reason, Definition, bool)

Describe returns authored text for the outermost typed failure.

func HelpURL

func HelpURL(reason Reason, caseID string) string

HelpURL keeps the failure identity in its path and accepts only authored cases.

func KnownCase

func KnownCase(err error) string

KnownCase selects context from typed causes; it never reads error messages.

func SafeMessage

func SafeMessage(err error, fallback Reason) string

SafeMessage returns authored output; raw provider and database text stays in the cause.

func Wrap

func Wrap(operation Operation, reason Reason, cause error) error

Wrap adds a reason to a non-nil cause. an invalid reason or operation is a programming error, so it fails at construction rather than at presentation.

func WrapSetting

func WrapSetting(operation Operation, reason Reason, setting Setting, cause error) error

WrapSetting adds a safe setting name, without storing or displaying the configured value. it is intended for validation errors with an exact field.

Types

type Case

type Case struct {
	ID            string `json:"id"`
	Description   string `json:"description"`
	Action        string `json:"action"`
	DiagramDetail string `json:"diagram_detail"`
}

Case is authored, non-sensitive guidance for an identified failure condition.

func CaseFor

func CaseFor(reason Reason, id string) *Case

type Class

type Class string

Class groups reasons for retry and transport decisions. a class is not a replacement for the more specific Reason.

const (
	Invalid         Class = "invalid"
	Unauthenticated Class = "unauthenticated"
	Forbidden       Class = "forbidden"
	NotFound        Class = "not_found"
	Conflict        Class = "conflict"
	Stale           Class = "stale"
	Unavailable     Class = "unavailable"
	RateLimited     Class = "rate_limited"
	Degraded        Class = "degraded"
	Internal        Class = "internal"
)

type ClientEntry

type ClientEntry struct {
	Code    Reason `json:"code"`
	Slug    string `json:"slug"`
	Class   Class  `json:"class"`
	Message string `json:"message"`
	Action  string `json:"action"`
	Cases   []Case `json:"cases,omitempty"`
}

ClientEntry is the public, code-owned description of one client failure.

func ClientReasons

func ClientReasons() []ClientEntry

ClientReasons returns every client failure in stable code order.

type Definition

type Definition struct {
	Class   Class
	Message string
	Action  string
	Retry   Retry
	Cases   []Case
}

Definition is safe copy for one reason. causes and input values must not be interpolated into Message or Action.

func DefinitionFor

func DefinitionFor(reason Reason) (Definition, bool)

DefinitionFor reports the text and retry policy for one known reason.

type Error

type Error struct {
	// contains filtered or unexported fields
}

Error keeps internal operation context and the original cause. presentation uses DefinitionFor instead of parsing Error().

func Of

func Of(err error) (*Error, bool)

Of returns the outermost typed failure within an error chain. ok is true only when extraction produced a non-nil failure, including through a custom As.

func (*Error) Error

func (e *Error) Error() string

func (*Error) Operation

func (e *Error) Operation() Operation

func (*Error) Reason

func (e *Error) Reason() Reason

func (*Error) Setting

func (e *Error) Setting() Setting

func (*Error) Unwrap

func (e *Error) Unwrap() error

type Operation

type Operation string

Operation names the work being attempted, not a package or error string.

type Reason

type Reason string

Reason identifies one actionable failure. ids remain stable when they are exposed to machine clients; a changed meaning needs a new reason.

const (
	WorkloadAssertionUnavailable          Reason = "TNL_CLIENT_WORKLOAD_ASSERTION_UNAVAILABLE"
	ConnectionTLSRejected                 Reason = "TNL_CLIENT_CONNECTION_TLS_REJECTED"
	ConnectionCleanupFailed               Reason = "TNL_CLIENT_CONNECTION_CLEANUP_FAILED"
	ConnectionPortInUse                   Reason = "TNL_CLIENT_CONNECTION_PORT_IN_USE"
	ConnectionTeamBinding                 Reason = "TNL_CLIENT_CONNECTION_TEAM_BINDING"
	ConnectionTransportMissing            Reason = "TNL_CLIENT_CONNECTION_TRANSPORT_MISSING"
	ConnectionHandleInvalid               Reason = "TNL_CLIENT_CONNECTION_HANDLE_INVALID"
	ConnectionExpired                     Reason = "TNL_CLIENT_CONNECTION_EXPIRED"
	ConnectionRequestInvalid              Reason = "TNL_CLIENT_CONNECTION_REQUEST_INVALID"
	ConnectionUnavailable                 Reason = "TNL_CLIENT_CONNECTION_UNAVAILABLE"
	TargetDiscoveryInvalid                Reason = "TNL_CLIENT_TARGET_DISCOVERY_INVALID"
	TargetDiscoveryDenied                 Reason = "TNL_CLIENT_TARGET_DISCOVERY_DENIED"
	TargetDiscoveryAuthentication         Reason = "TNL_CLIENT_TARGET_DISCOVERY_AUTHENTICATION"
	TargetDiscoveryNotFound               Reason = "TNL_CLIENT_TARGET_DISCOVERY_NOT_FOUND"
	TargetDiscoveryNotReady               Reason = "TNL_CLIENT_TARGET_DISCOVERY_NOT_READY"
	TargetDiscoveryUnavailable            Reason = "TNL_CLIENT_TARGET_DISCOVERY_UNAVAILABLE"
	TargetDiscoveryMetadata               Reason = "TNL_CLIENT_TARGET_DISCOVERY_METADATA"
	TargetDiscoveryChanged                Reason = "TNL_CLIENT_TARGET_DISCOVERY_CHANGED"
	TargetDiscoveryStale                  Reason = "TNL_CLIENT_TARGET_DISCOVERY_STALE"
	AWSBootstrapInvalid                   Reason = "TNL_CLIENT_AWS_BOOTSTRAP_INVALID"
	AWSBootstrapScope                     Reason = "TNL_CLIENT_AWS_BOOTSTRAP_SCOPE"
	AWSBootstrapStateLost                 Reason = "TNL_CLIENT_AWS_BOOTSTRAP_STATE_LOST"
	AWSBootstrapSecretConflict            Reason = "TNL_CLIENT_AWS_BOOTSTRAP_SECRET_CONFLICT"
	AWSBootstrapVersionConflict           Reason = "TNL_CLIENT_AWS_BOOTSTRAP_VERSION_CONFLICT"
	AWSBootstrapDenied                    Reason = "TNL_CLIENT_AWS_BOOTSTRAP_DENIED"
	AWSBootstrapAuthentication            Reason = "TNL_CLIENT_AWS_BOOTSTRAP_AUTHENTICATION"
	AWSBootstrapThrottled                 Reason = "TNL_CLIENT_AWS_BOOTSTRAP_THROTTLED"
	AWSBootstrapUnavailable               Reason = "TNL_CLIENT_AWS_BOOTSTRAP_UNAVAILABLE"
	InvalidControlURL                     Reason = "TNL_CLIENT_INVALID_CONTROL_URL"
	InvalidControlPort                    Reason = "TNL_CLIENT_INVALID_CONTROL_PORT"
	InvalidAuthorityURL                   Reason = "TNL_CLIENT_INVALID_AUTHORITY_URL"
	InvalidTarget                         Reason = "TNL_CLIENT_INVALID_TARGET"
	TargetTLSRejected                     Reason = "TNL_CLIENT_TARGET_TLS_REJECTED"
	TargetUnavailable                     Reason = "TNL_CLIENT_TARGET_UNAVAILABLE"
	MissingTarget                         Reason = "TNL_CLIENT_MISSING_TARGET"
	InvalidCommand                        Reason = "TNL_CLIENT_INVALID_COMMAND"
	AppReadinessTimeout                   Reason = "TNL_CLIENT_APP_READINESS_TIMEOUT"
	AppCursorExpired                      Reason = "TNL_CLIENT_APP_CURSOR_EXPIRED"
	AppConfigurationConflict              Reason = "TNL_CLIENT_APP_CONFIGURATION_CONFLICT"
	AppRemoteService                      Reason = "TNL_CLIENT_APP_REMOTE_SERVICE"
	NamedPublishOverrides                 Reason = "TNL_CLIENT_NAMED_PUBLISH_OVERRIDES"
	NamedPublishSession                   Reason = "TNL_CLIENT_NAMED_PUBLISH_SESSION"
	NamedPublishTeam                      Reason = "TNL_CLIENT_NAMED_PUBLISH_TEAM"
	AppOwnerConflict                      Reason = "TNL_CLIENT_APP_OWNER_CONFLICT"
	PublisherSelectionInvalid             Reason = "TNL_CLIENT_PUBLISHER_SELECTION_INVALID"
	PublisherGrantMismatch                Reason = "TNL_CLIENT_PUBLISHER_GRANT_MISMATCH"
	PublisherSavedPolicy                  Reason = "TNL_CLIENT_PUBLISHER_SAVED_POLICY"
	PublisherEnrollmentInput              Reason = "TNL_CLIENT_PUBLISHER_ENROLLMENT_INPUT"
	PublisherNamespaceOptions             Reason = "TNL_CLIENT_PUBLISHER_NAMESPACE_OPTIONS"
	PublisherInstallOptions               Reason = "TNL_CLIENT_PUBLISHER_INSTALL_OPTIONS"
	PublisherInstallInspection            Reason = "TNL_CLIENT_PUBLISHER_INSTALL_INSPECTION"
	OutputUnavailable                     Reason = "TNL_CLIENT_OUTPUT_UNAVAILABLE"
	InitFailed                            Reason = "TNL_CLIENT_INIT_FAILED"
	TunnelUnavailable                     Reason = "TNL_CLIENT_TUNNEL_UNAVAILABLE"
	TeamUnavailable                       Reason = "TNL_CLIENT_TEAM_UNAVAILABLE"
	DomainUnavailable                     Reason = "TNL_CLIENT_DOMAIN_UNAVAILABLE"
	AdminUnavailable                      Reason = "TNL_CLIENT_ADMIN_UNAVAILABLE"
	ServiceNotConfigured                  Reason = "TNL_CLIENT_SERVICE_NOT_CONFIGURED"
	InvalidTunnelFlags                    Reason = "TNL_CLIENT_INVALID_TUNNEL_FLAGS"
	ConnectModeInvalid                    Reason = "TNL_CLIENT_CONNECT_MODE_INVALID"
	ConnectStdioProtocolInvalid           Reason = "TNL_CLIENT_CONNECT_STDIO_PROTOCOL_INVALID"
	ConnectProtocolMismatch               Reason = "TNL_CLIENT_CONNECT_PROTOCOL_MISMATCH"
	ConnectServerRootsUnavailable         Reason = "TNL_CLIENT_CONNECT_SERVER_ROOTS_UNAVAILABLE"
	ConnectAccessRequired                 Reason = "TNL_CLIENT_CONNECT_ACCESS_REQUIRED"
	DemoTargetNotAllowed                  Reason = "TNL_CLIENT_DEMO_TARGET_NOT_ALLOWED"
	DemoConfigNotUsed                     Reason = "TNL_CLIENT_DEMO_CONFIG_NOT_USED"
	DemoURLManaged                        Reason = "TNL_CLIENT_DEMO_URL_MANAGED"
	DemoMustBeEphemeral                   Reason = "TNL_CLIENT_DEMO_MUST_BE_EPHEMERAL"
	DemoLocalServiceUnavailable           Reason = "TNL_CLIENT_DEMO_LOCAL_SERVICE_UNAVAILABLE"
	ProjectConfigMissing                  Reason = "TNL_CLIENT_PROJECT_CONFIG_MISSING"
	ClientStateLocked                     Reason = "TNL_CLIENT_STATE_LOCKED"
	ClientStateUnavailable                Reason = "TNL_CLIENT_STATE_UNAVAILABLE"
	PublisherIdentityStateUnavailable     Reason = "TNL_CLIENT_PUBLISHER_IDENTITY_STATE_UNAVAILABLE"
	PublisherIdentityStateInvalid         Reason = "TNL_CLIENT_PUBLISHER_IDENTITY_STATE_INVALID"
	PublisherCertificateStateMissing      Reason = "TNL_CLIENT_PUBLISHER_CERTIFICATE_STATE_MISSING"
	PublisherEnrollmentRequired           Reason = "TNL_CLIENT_PUBLISHER_ENROLLMENT_REQUIRED"
	InstalledPublishRunPending            Reason = "TNL_CLIENT_INSTALLED_PUBLISH_RUN_PENDING"
	PublisherInstallSourceInvalid         Reason = "TNL_CLIENT_PUBLISHER_INSTALL_SOURCE_INVALID"
	ServiceNotInstalled                   Reason = "TNL_CLIENT_SERVICE_NOT_INSTALLED"
	InstalledPublisherSelectionMissing    Reason = "TNL_CLIENT_INSTALLED_PUBLISHER_SELECTION_MISSING"
	InstalledServiceIdentityUnavailable   Reason = "TNL_CLIENT_INSTALLED_SERVICE_IDENTITY_UNAVAILABLE"
	ServicePublisherUnavailable           Reason = "TNL_CLIENT_PRIVATE_PUBLISHER_UNAVAILABLE"
	LocalServiceUnavailable               Reason = "TNL_CLIENT_LOCAL_PRIVATE_SERVICE_UNAVAILABLE"
	InstalledTargetMissing                Reason = "TNL_CLIENT_INSTALLED_TARGET_MISSING"
	InstalledJobAmbiguous                 Reason = "TNL_CLIENT_INSTALLED_JOB_AMBIGUOUS"
	DetachedNotFound                      Reason = "TNL_CLIENT_DETACHED_NOT_FOUND"
	DetachedStartFailed                   Reason = "TNL_CLIENT_DETACHED_START_FAILED"
	GuestSessionInvalid                   Reason = "TNL_CLIENT_GUEST_SESSION_INVALID"
	CurrentDirectoryUnavailable           Reason = "TNL_CLIENT_CURRENT_DIRECTORY_UNAVAILABLE"
	TeamNotFound                          Reason = "TNL_CLIENT_TEAM_NOT_FOUND"
	TeamSelectionAmbiguous                Reason = "TNL_CLIENT_TEAM_SELECTION_AMBIGUOUS"
	DomainNotAvailable                    Reason = "TNL_CLIENT_DOMAIN_NOT_AVAILABLE"
	DomainNotReady                        Reason = "TNL_CLIENT_DOMAIN_NOT_READY"
	CustomDomainsDisabled                 Reason = "TNL_CLIENT_CUSTOM_DOMAINS_DISABLED"
	MemberHostnameDepthExceeded           Reason = "TNL_CLIENT_MEMBER_HOSTNAME_DEPTH_EXCEEDED"
	InvalidDomainName                     Reason = "TNL_CLIENT_INVALID_DOMAIN_NAME"
	ProjectConfigInvalid                  Reason = "TNL_CLIENT_PROJECT_CONFIG_INVALID"
	WorkloadRepositoryMetadataUnavailable Reason = "TNL_CLIENT_WORKLOAD_REPOSITORY_METADATA_UNAVAILABLE"
	ObservabilityConfigInvalid            Reason = "TNL_CLIENT_OBSERVABILITY_CONFIG_INVALID"
	PublisherDeploymentInvalid            Reason = "TNL_CLIENT_PUBLISHER_DEPLOYMENT_INVALID"
	PublisherDeploymentMetadataInvalid    Reason = "TNL_CLIENT_PUBLISHER_DEPLOYMENT_METADATA_INVALID"
	PublisherDeploymentWriteFailed        Reason = "TNL_CLIENT_PUBLISHER_DEPLOYMENT_WRITE_FAILED"
	AliasOwned                            Reason = "TNL_CLIENT_ALIAS_OWNED"
	AliasReceiverUnready                  Reason = "TNL_CLIENT_ALIAS_RECEIVER_UNREADY"
	AliasNotSelected                      Reason = "TNL_CLIENT_ALIAS_NOT_SELECTED"
	AliasPolicyConflict                   Reason = "TNL_CLIENT_ALIAS_POLICY_CONFLICT"
	WebhookOwned                          Reason = "TNL_CLIENT_WEBHOOK_OWNED"
	WebhookReceiverUnready                Reason = "TNL_CLIENT_WEBHOOK_RECEIVER_UNREADY"
	WebhookNotSelected                    Reason = "TNL_CLIENT_WEBHOOK_NOT_SELECTED"
	IntegrationURLNotReady                Reason = "TNL_CLIENT_INTEGRATION_URL_NOT_READY"
	IntegrationURLLeaseExpired            Reason = "TNL_CLIENT_INTEGRATION_URL_LEASE_EXPIRED"
	WebhookNoReadyReceivers               Reason = "TNL_CLIENT_WEBHOOK_NO_READY_RECEIVERS"
	WebhookOwnerMissing                   Reason = "TNL_CLIENT_WEBHOOK_OWNER_MISSING"
	WebhookOwnerUnready                   Reason = "TNL_CLIENT_WEBHOOK_OWNER_UNREADY"
	WebhookPolicyConflict                 Reason = "TNL_CLIENT_WEBHOOK_POLICY_CONFLICT"
	InitPackageManager                    Reason = "TNL_CLIENT_INIT_PACKAGE_MANAGER"
	InitFramework                         Reason = "TNL_CLIENT_INIT_FRAMEWORK"
	InvalidSetupInput                     Reason = "TNL_CLIENT_INVALID_SETUP_INPUT"
	FeedbackInputInvalid                  Reason = "TNL_CLIENT_FEEDBACK_INPUT_INVALID"
	ShareInputInvalid                     Reason = "TNL_CLIENT_SHARE_INPUT_INVALID"
	PreviewNotSaved                       Reason = "TNL_CLIENT_PREVIEW_NOT_SAVED"
	PreviewStateConflict                  Reason = "TNL_CLIENT_PREVIEW_STATE_CONFLICT"
	BrowserOpenFailed                     Reason = "TNL_CLIENT_BROWSER_OPEN_FAILED"
	TransportUnavailable                  Reason = "TNL_CLIENT_TRANSPORT_UNAVAILABLE"
	TransportFallback                     Reason = "TNL_CLIENT_TRANSPORT_FALLBACK"
	Authentication                        Reason = "TNL_CLIENT_AUTHENTICATION_REQUIRED"
	AuthRecoveryRequired                  Reason = "TNL_CLIENT_AUTH_RECOVERY_REQUIRED"
	AuthWaitTimeout                       Reason = "TNL_CLIENT_AUTH_WAIT_TIMEOUT"
	AuthOperationNotFound                 Reason = "TNL_CLIENT_AUTH_OPERATION_NOT_FOUND"
	AuthCancelled                         Reason = "TNL_CLIENT_AUTH_CANCELLED"
	AuthDenied                            Reason = "TNL_CLIENT_AUTH_DENIED"
	AuthExpired                           Reason = "TNL_CLIENT_AUTH_EXPIRED"
	AuthMethodUnavailable                 Reason = "TNL_CLIENT_AUTH_METHOD_UNAVAILABLE"
	AuthProviderUnavailable               Reason = "TNL_CLIENT_AUTH_PROVIDER_UNAVAILABLE"
	ServerResourceNotFound                Reason = "TNL_CLIENT_SERVER_RESOURCE_NOT_FOUND"
	ServerConflict                        Reason = "TNL_CLIENT_SERVER_CONFLICT"
	ServerDenied                          Reason = "TNL_CLIENT_SERVER_DENIED"
	ServerUnavailable                     Reason = "TNL_CLIENT_SERVER_UNAVAILABLE"
	ServerRateLimited                     Reason = "TNL_CLIENT_SERVER_RATE_LIMITED"
	GuestTrialExhausted                   Reason = "TNL_CLIENT_GUEST_TRIAL_EXHAUSTED"
	GuestDemoOnly                         Reason = "TNL_CLIENT_GUEST_DEMO_ONLY"
	GuestIssuanceLimited                  Reason = "TNL_CLIENT_GUEST_ISSUANCE_LIMITED"
	GuestSignInRequired                   Reason = "TNL_CLIENT_GUEST_SIGN_IN_REQUIRED"
	GuestIPChanged                        Reason = "TNL_CLIENT_GUEST_IP_CHANGED"
	ServerResponseInvalid                 Reason = "TNL_CLIENT_SERVER_RESPONSE_INVALID"
	ServerRequestInvalid                  Reason = "TNL_CLIENT_SERVER_REQUEST_INVALID"
	DNSPending                            Reason = "TNL_CLIENT_DNS_PENDING"
	CertificateUnavailable                Reason = "TNL_CLIENT_CERTIFICATE_UNAVAILABLE"
	RelayLeaseStale                       Reason = "relay.lease_stale"
	InvalidRole                           Reason = "server.invalid_role"
	DatabaseUnavailable                   Reason = "server.database_unavailable"
	ServerConfigInvalid                   Reason = "server.config_invalid"
	ServerListenAddressInvalid            Reason = "server.listen_address_invalid"
	ServerDatabaseURLInvalid              Reason = "server.database_url_invalid"
	ServerStorageKeyInvalid               Reason = "server.storage_key_invalid"
	ServerACMEInvalid                     Reason = "server.acme_invalid"
	ServerOIDCInvalid                     Reason = "server.oidc_invalid"
	ServerDNSConfigInvalid                Reason = "server.dns_config_invalid"
	ServerUsageConfigInvalid              Reason = "server.usage_config_invalid"
	ServerEmailConfigInvalid              Reason = "server.email_config_invalid"
	ServerWebsiteConfigInvalid            Reason = "server.website_config_invalid"
	ServerClusterSecretInvalid            Reason = "server.cluster_secret_invalid"
	ServerConfigFileInvalid               Reason = "server.config_file_invalid"
	ServerCommandInvalid                  Reason = "server.command_invalid"
	DirectDatabaseURLMissing              Reason = "server.direct_database_url_missing"
	ServerMigrationFailed                 Reason = "server.migration_failed"
	ServerStartupFailed                   Reason = "server.startup_failed"
	ServerOutputUnavailable               Reason = "server.output_unavailable"
	ServerWorkerFailed                    Reason = "server.worker_failed"
	ServerIngressFailed                   Reason = "server.ingress_failed"
	ServerRelayFailed                     Reason = "server.relay_failed"
	ServerConnectionFailed                Reason = "server.connection_failed"
	ServerCertificateFailed               Reason = "server.certificate_failed"
	ServerCertificateRejected             Reason = "server.certificate_rejected"
	ServerDNSFailed                       Reason = "server.dns_failed"
	ServerDNSConflict                     Reason = "server.dns_conflict"
	ServerUsageDeliveryFailed             Reason = "server.usage_delivery_failed"
	ServerEmailDeliveryFailed             Reason = "server.email_delivery_failed"
	ServerEmailLeaseStale                 Reason = "server.email_lease_stale"
	ServerStoredStateInvalid              Reason = "server.stored_state_invalid"
	ServerAPIInternal                     Reason = "server.api_internal"
	ServerIdentityProviderUnavailable     Reason = "server.identity_provider_unavailable"
	ServerAuthorityUnavailable            Reason = "server.authority_unavailable"
	BenchmarkInputInvalid                 Reason = "benchmark.input_invalid"
	BenchmarkMeasurementFailed            Reason = "benchmark.measurement_failed"
	Unexpected                            Reason = "internal.unexpected"
)
const (
	ServerDatabaseDiagnosticsUnavailable Reason = "server.database_diagnostics_unavailable"
	ServerDiagnosticsBusy                Reason = "server.diagnostics_busy"
)
const ServerControlConnectionFailed Reason = "server.control_connection_failed"

func ReasonOf

func ReasonOf(err error) (Reason, bool)

ReasonOf also accepts domain errors that carry a typed reason while retaining their own error identities and retry behavior.

func Reasons

func Reasons() []Reason

Reasons returns every defined reason for adapter-coverage checks.

type Retry

type Retry uint8

Retry describes whether retrying the same operation can make progress.

const (
	NoRetry Retry = iota
	RetryLater
	RetryAfterChange
)

type Setting

type Setting string

Setting is a code-owned configuration field name. its value is never stored with an error or printed by an output adapter.

const (
	SettingDatabaseURL          Setting = "TNLD_DATABASE_URL"
	SettingDatabaseDirectURL    Setting = "TNLD_DATABASE_DIRECT_URL"
	SettingStorageKey           Setting = "TNLD_STORAGE_KEY"
	SettingMetricsListen        Setting = "TNLD_METRICS_LISTEN"
	SettingControlListen        Setting = "TNLD_CONTROL_LISTEN"
	SettingPrivateControlListen Setting = "TNLD_PRIVATE_CONTROL_LISTEN"
	SettingPrivateControlCert   Setting = "TNLD_PRIVATE_CONTROL_TLS_CERTIFICATE_FILE"
	SettingPrivateControlKey    Setting = "TNLD_PRIVATE_CONTROL_TLS_PRIVATE_KEY_FILE"
	SettingIngressListen        Setting = "TNLD_INGRESS_LISTEN"
	SettingIngressUDPListen     Setting = "TNLD_INGRESS_UDP_LISTEN"
	SettingRelayTCPListen       Setting = "TNLD_RELAY_TCP_LISTEN"
	SettingRelayUDPListen       Setting = "TNLD_RELAY_UDP_LISTEN"
	SettingInternalRelayListen  Setting = "TNLD_INTERNAL_RELAY_LISTEN"
	SettingDNSServer            Setting = "TNLD_DNS_SERVER"
	SettingEmailURL             Setting = "TNLD_EMAIL_URL"
	SettingWebhookSecret        Setting = "TNLD_WEBHOOK_SECRET"
	SettingWebServiceSecret     Setting = "TNLD_WEB_SERVICE_SECRET"
	SettingOIDCIssuer           Setting = "TNLD_OIDC_ISSUER"
)

Directories

Path Synopsis
cmd
cataloggen command
Code generated by scripts/generate/diagnostic-codes.ts.
Code generated by scripts/generate/diagnostic-codes.ts.
Package problemtype defines canonical API problem type URIs.
Package problemtype defines canonical API problem type URIs.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL