Documentation
¶
Index ¶
- Constants
- Variables
- func GetSupportedAuditlogTargetFeatureFlags() []string
- func GetSupportedAuthorizationFeatureFlags() []string
- func GetSupportedEnvironmentFeatureFlags() []string
- func GetSupportedSessionFeatureFlags() []string
- func ValidateAuditlogEncryptionPublicKeys(keys []ssh.PublicKey) error
- type Alternatives
- type Auditlog
- type AuditlogFailurePolicy
- func (this AuditlogFailurePolicy) Clone() AuditlogFailurePolicy
- func (this AuditlogFailurePolicy) IsEqualTo(other any) bool
- func (this AuditlogFailurePolicy) IsZero() bool
- func (this AuditlogFailurePolicy) MarshalText() ([]byte, error)
- func (this *AuditlogFailurePolicy) Set(text string) error
- func (this AuditlogFailurePolicy) String() string
- func (this *AuditlogFailurePolicy) UnmarshalText(text []byte) error
- func (this AuditlogFailurePolicy) Validate() error
- type AuditlogName
- func (this AuditlogName) Clone() AuditlogName
- func (this AuditlogName) IsEqualTo(other any) bool
- func (this AuditlogName) IsZero() bool
- func (this AuditlogName) MarshalText() ([]byte, error)
- func (this *AuditlogName) Set(text string) error
- func (this AuditlogName) String() string
- func (this *AuditlogName) UnmarshalText(text []byte) error
- func (this AuditlogName) Validate() error
- type AuditlogRecording
- func (this AuditlogRecording) IsEqualTo(other any) bool
- func (this AuditlogRecording) IsZero() bool
- func (this AuditlogRecording) MarshalYAML() (any, error)
- func (this *AuditlogRecording) SetDefaults() error
- func (this *AuditlogRecording) Trim() error
- func (this *AuditlogRecording) UnmarshalYAML(node *yaml.Node) error
- func (this *AuditlogRecording) Validate() error
- type AuditlogRecordingCompression
- func (this AuditlogRecordingCompression) IsEqualTo(other any) bool
- func (this *AuditlogRecordingCompression) SetDefaults() error
- func (this *AuditlogRecordingCompression) Trim() error
- func (this *AuditlogRecordingCompression) UnmarshalYAML(node *yaml.Node) error
- func (this *AuditlogRecordingCompression) Validate() error
- type AuditlogRecordingCompressionLevel
- func (this AuditlogRecordingCompressionLevel) Clone() AuditlogRecordingCompressionLevel
- func (this AuditlogRecordingCompressionLevel) IsEqualTo(other any) bool
- func (this AuditlogRecordingCompressionLevel) IsZero() bool
- func (this AuditlogRecordingCompressionLevel) MarshalText() ([]byte, error)
- func (this *AuditlogRecordingCompressionLevel) Set(text string) error
- func (this AuditlogRecordingCompressionLevel) String() string
- func (this *AuditlogRecordingCompressionLevel) UnmarshalText(text []byte) error
- func (this AuditlogRecordingCompressionLevel) Validate() error
- type AuditlogRecordingTargets
- func (this AuditlogRecordingTargets) Configured() AuditlogTargets
- func (this AuditlogRecordingTargets) IsDisabled() bool
- func (this AuditlogRecordingTargets) IsEqualTo(other any) bool
- func (this AuditlogRecordingTargets) IsInherited() bool
- func (this AuditlogRecordingTargets) MarshalYAML() (any, error)
- func (this *AuditlogRecordingTargets) SetDefaults() error
- func (this *AuditlogRecordingTargets) Trim() error
- func (this *AuditlogRecordingTargets) UnmarshalYAML(node *yaml.Node) error
- func (this AuditlogRecordingTargets) Validate() error
- type AuditlogRecordingTargetsMode
- type AuditlogTarget
- func (this AuditlogTarget) IsEqualTo(other any) bool
- func (this AuditlogTarget) MarshalYAML() (any, error)
- func (this *AuditlogTarget) SetDefaults() error
- func (this *AuditlogTarget) Trim() error
- func (this *AuditlogTarget) UnmarshalYAML(node *yaml.Node) error
- func (this *AuditlogTarget) Validate() error
- type AuditlogTargetCodecFactory
- type AuditlogTargetName
- func (this AuditlogTargetName) Clone() AuditlogTargetName
- func (this AuditlogTargetName) IsEqualTo(other any) bool
- func (this AuditlogTargetName) IsZero() bool
- func (this AuditlogTargetName) MarshalText() ([]byte, error)
- func (this *AuditlogTargetName) Set(text string) error
- func (this AuditlogTargetName) String() string
- func (this *AuditlogTargetName) UnmarshalText(text []byte) error
- func (this AuditlogTargetName) Validate() error
- type AuditlogTargetS3
- func (this AuditlogTargetS3) FeatureFlags() []string
- func (this AuditlogTargetS3) IsEqualTo(other any) bool
- func (this AuditlogTargetS3) MarshalYAML() (any, error)
- func (this AuditlogTargetS3) Render(data any) (result AuditlogTargetS3Values, err error)
- func (this *AuditlogTargetS3) SetDefaults() error
- func (this *AuditlogTargetS3) Trim() error
- func (this AuditlogTargetS3) Types() []string
- func (this *AuditlogTargetS3) UnmarshalYAML(node *yaml.Node) error
- func (this *AuditlogTargetS3) Validate() error
- type AuditlogTargetS3Values
- type AuditlogTargetSftp
- func (this AuditlogTargetSftp) FeatureFlags() []string
- func (this AuditlogTargetSftp) IsEqualTo(other any) bool
- func (this AuditlogTargetSftp) Render(data any) (result AuditlogTargetSftpValues, err error)
- func (this *AuditlogTargetSftp) SetDefaults() error
- func (this *AuditlogTargetSftp) Trim() error
- func (this AuditlogTargetSftp) Types() []string
- func (this *AuditlogTargetSftp) UnmarshalYAML(node *yaml.Node) error
- func (this *AuditlogTargetSftp) Validate() error
- type AuditlogTargetSftpValues
- type AuditlogTargetV
- type AuditlogTargetWebdav
- func (this AuditlogTargetWebdav) FeatureFlags() []string
- func (this AuditlogTargetWebdav) IsEqualTo(other any) bool
- func (this AuditlogTargetWebdav) Render(data any) (result AuditlogTargetWebdavValues, err error)
- func (this *AuditlogTargetWebdav) SetDefaults() error
- func (this *AuditlogTargetWebdav) Trim() error
- func (this AuditlogTargetWebdav) Types() []string
- func (this *AuditlogTargetWebdav) UnmarshalYAML(node *yaml.Node) error
- func (this *AuditlogTargetWebdav) Validate() error
- type AuditlogTargetWebdavValues
- type AuditlogTargets
- type Auditlogs
- type Authorization
- func (this Authorization) IsEqualTo(other any) bool
- func (this *Authorization) MarshalYAML() (any, error)
- func (this *Authorization) SetDefaults() error
- func (this *Authorization) Trim() error
- func (this *Authorization) UnmarshalYAML(node *yaml.Node) error
- func (this *Authorization) Validate() error
- type AuthorizationBifroest
- func (AuthorizationBifroest) FeatureFlags() []string
- func (this AuthorizationBifroest) IsEqualTo(other any) bool
- func (this *AuthorizationBifroest) SetDefaults() error
- func (this *AuthorizationBifroest) Trim() error
- func (AuthorizationBifroest) Types() []string
- func (this *AuthorizationBifroest) UnmarshalYAML(node *yaml.Node) error
- func (this *AuthorizationBifroest) Validate() error
- type AuthorizationHtpasswd
- func (this AuthorizationHtpasswd) FeatureFlags() []string
- func (this AuthorizationHtpasswd) IsEqualTo(other any) bool
- func (this *AuthorizationHtpasswd) SetDefaults() error
- func (this *AuthorizationHtpasswd) Trim() error
- func (this AuthorizationHtpasswd) Types() []string
- func (this *AuthorizationHtpasswd) UnmarshalYAML(node *yaml.Node) error
- func (this *AuthorizationHtpasswd) Validate() error
- type AuthorizationLocal
- func (this AuthorizationLocal) FeatureFlags() []string
- func (this AuthorizationLocal) IsEqualTo(other any) bool
- func (this *AuthorizationLocal) SetDefaults() error
- func (this *AuthorizationLocal) Trim() error
- func (this AuthorizationLocal) Types() []string
- func (this *AuthorizationLocal) UnmarshalYAML(node *yaml.Node) error
- func (this *AuthorizationLocal) Validate() error
- type AuthorizationNone
- func (this AuthorizationNone) FeatureFlags() []string
- func (this AuthorizationNone) IsEqualTo(other any) bool
- func (this *AuthorizationNone) SetDefaults() error
- func (this *AuthorizationNone) Trim() error
- func (this AuthorizationNone) Types() []string
- func (this *AuthorizationNone) UnmarshalYAML(node *yaml.Node) error
- func (this *AuthorizationNone) Validate() error
- type AuthorizationOidcDeviceAuth
- func (this AuthorizationOidcDeviceAuth) FeatureFlags() []string
- func (this AuthorizationOidcDeviceAuth) IsEqualTo(other any) bool
- func (this AuthorizationOidcDeviceAuth) RefreshEnabled() bool
- func (this *AuthorizationOidcDeviceAuth) SetDefaults() error
- func (this *AuthorizationOidcDeviceAuth) Trim() error
- func (this AuthorizationOidcDeviceAuth) Types() []string
- func (this *AuthorizationOidcDeviceAuth) UnmarshalYAML(node *yaml.Node) error
- func (this *AuthorizationOidcDeviceAuth) Validate() error
- type AuthorizationOidcRefreshToken
- func (this AuthorizationOidcRefreshToken) IsEqualTo(other any) bool
- func (this *AuthorizationOidcRefreshToken) SetDefaults() error
- func (this *AuthorizationOidcRefreshToken) Trim() error
- func (this *AuthorizationOidcRefreshToken) UnmarshalYAML(node *yaml.Node) error
- func (this *AuthorizationOidcRefreshToken) Validate() error
- type AuthorizationSimple
- func (this AuthorizationSimple) FeatureFlags() []string
- func (this AuthorizationSimple) IsEqualTo(other any) bool
- func (this *AuthorizationSimple) SetDefaults() error
- func (this *AuthorizationSimple) Trim() error
- func (this AuthorizationSimple) Types() []string
- func (this *AuthorizationSimple) UnmarshalYAML(node *yaml.Node) error
- func (this *AuthorizationSimple) Validate() error
- type AuthorizationSimpleEntries
- func (this AuthorizationSimpleEntries) IsEqualTo(other any) bool
- func (this *AuthorizationSimpleEntries) SetDefaults() error
- func (this *AuthorizationSimpleEntries) Trim() error
- func (this *AuthorizationSimpleEntries) UnmarshalYAML(node *yaml.Node) error
- func (this AuthorizationSimpleEntries) Validate() error
- type AuthorizationSimpleEntry
- func (this *AuthorizationSimpleEntry) GetField(name string) (any, bool, error)
- func (this AuthorizationSimpleEntry) GetPassword() (crypto.Password, error)
- func (this AuthorizationSimpleEntry) IsEqualTo(other any) bool
- func (this *AuthorizationSimpleEntry) SetDefaults() error
- func (this *AuthorizationSimpleEntry) Trim() error
- func (this *AuthorizationSimpleEntry) UnmarshalYAML(node *yaml.Node) error
- func (this *AuthorizationSimpleEntry) Validate() error
- type AuthorizationV
- type AuthorizationVFactory
- type BifroestAudiences
- type Configuration
- func (this Configuration) IsEqualTo(other any) bool
- func (this *Configuration) LoadFromFile(fn string) error
- func (this *Configuration) LoadFromYaml(reader io.Reader, fn string) error
- func (this *Configuration) SetDefaults() error
- func (this *Configuration) Trim() error
- func (this *Configuration) UnmarshalYAML(node *yaml.Node) error
- func (this *Configuration) Validate() error
- type Environment
- type EnvironmentDocker
- func (this EnvironmentDocker) FeatureFlags() []string
- func (this EnvironmentDocker) IsEqualTo(other any) bool
- func (this *EnvironmentDocker) SetDefaults() error
- func (this EnvironmentDocker) SupportsEnvironmentVariables() bool
- func (this *EnvironmentDocker) Trim() error
- func (this EnvironmentDocker) Types() []string
- func (this *EnvironmentDocker) UnmarshalYAML(node *yaml.Node) error
- func (this *EnvironmentDocker) Validate() error
- type EnvironmentDummy
- func (this EnvironmentDummy) FeatureFlags() []string
- func (this EnvironmentDummy) IsEqualTo(other any) bool
- func (this *EnvironmentDummy) SetDefaults() error
- func (this *EnvironmentDummy) Trim() error
- func (this EnvironmentDummy) Types() []string
- func (this *EnvironmentDummy) UnmarshalYAML(node *yaml.Node) error
- func (this *EnvironmentDummy) Validate() error
- type EnvironmentKubernetes
- func (this EnvironmentKubernetes) FeatureFlags() []string
- func (this EnvironmentKubernetes) IsEqualTo(other any) bool
- func (this *EnvironmentKubernetes) SetDefaults() error
- func (this EnvironmentKubernetes) SupportsEnvironmentVariables() bool
- func (this *EnvironmentKubernetes) Trim() error
- func (this EnvironmentKubernetes) Types() []string
- func (this *EnvironmentKubernetes) UnmarshalYAML(node *yaml.Node) error
- func (this *EnvironmentKubernetes) Validate() error
- type EnvironmentLocal
- func (this EnvironmentLocal) FeatureFlags() []string
- func (this EnvironmentLocal) IsEqualTo(other any) bool
- func (this *EnvironmentLocal) SetDefaults() error
- func (this EnvironmentLocal) SupportsEnvironmentVariables() bool
- func (this *EnvironmentLocal) Trim() error
- func (this EnvironmentLocal) Types() []string
- func (this *EnvironmentLocal) UnmarshalYAML(node *yaml.Node) error
- func (this *EnvironmentLocal) Validate() error
- type EnvironmentLocalCommon
- type EnvironmentLocalDispose
- type EnvironmentSsh
- func (this EnvironmentSsh) FeatureFlags() []string
- func (this EnvironmentSsh) IsEqualTo(other any) bool
- func (this *EnvironmentSsh) SetDefaults() error
- func (this EnvironmentSsh) SupportsEnvironmentVariables() bool
- func (this *EnvironmentSsh) Trim() error
- func (this EnvironmentSsh) Types() []string
- func (this *EnvironmentSsh) UnmarshalYAML(node *yaml.Node) error
- func (this *EnvironmentSsh) Validate() error
- type EnvironmentSshCertificate
- func (this EnvironmentSshCertificate) IsEqualTo(other any) bool
- func (this *EnvironmentSshCertificate) SetDefaults() error
- func (this *EnvironmentSshCertificate) Trim() error
- func (this *EnvironmentSshCertificate) UnmarshalYAML(node *yaml.Node) error
- func (this *EnvironmentSshCertificate) Validate() error
- type EnvironmentSshCertificateExtensions
- func (this EnvironmentSshCertificateExtensions) IsEqualTo(other any) bool
- func (this EnvironmentSshCertificateExtensions) IsZero() bool
- func (this EnvironmentSshCertificateExtensions) Render(data any) (map[string]string, error)
- func (this *EnvironmentSshCertificateExtensions) SetDefaults() error
- func (this *EnvironmentSshCertificateExtensions) Trim() error
- func (this EnvironmentSshCertificateExtensions) Validate() error
- type EnvironmentV
- type EnvironmentVFactory
- type EnvironmentVariableName
- type EnvironmentVariables
- func (this EnvironmentVariables) IsEqualTo(other any) bool
- func (this EnvironmentVariables) IsZero() bool
- func (this EnvironmentVariables) Render(data any) (sys.EnvVars, error)
- func (this *EnvironmentVariables) SetDefaults() error
- func (this *EnvironmentVariables) Trim() error
- func (this EnvironmentVariables) Validate() error
- type EnvironmentVariablesAware
- type Flow
- type FlowName
- func (this FlowName) Clone() FlowName
- func (this FlowName) IsEqualTo(other any) bool
- func (this FlowName) IsZero() bool
- func (this FlowName) MarshalText() (text []byte, err error)
- func (this *FlowName) Set(text string) error
- func (this FlowName) String() string
- func (this *FlowName) UnmarshalText(text []byte) error
- func (this FlowName) Validate() error
- type Flows
- type GroupRequirementTemplate
- func (this GroupRequirementTemplate) IsEqualTo(other any) bool
- func (this GroupRequirementTemplate) Render(key common.StructuredKey, data any) (result user.GroupRequirement, err error)
- func (this *GroupRequirementTemplate) SetDefaults() error
- func (this *GroupRequirementTemplate) Trim() error
- func (this *GroupRequirementTemplate) UnmarshalYAML(node *yaml.Node) error
- func (this *GroupRequirementTemplate) Validate() error
- type GroupRequirementTemplates
- func (this GroupRequirementTemplates) IsEqualTo(other any) bool
- func (this GroupRequirementTemplates) Render(key common.StructuredKey, data any) (result user.GroupRequirements, err error)
- func (this *GroupRequirementTemplates) SetDefaults() error
- func (this *GroupRequirementTemplates) Trim() error
- func (this *GroupRequirementTemplates) UnmarshalYAML(node *yaml.Node) error
- func (this GroupRequirementTemplates) Validate() error
- type HouseKeeping
- type Keys
- type LocationError
- type Messages
- type PasswordProperties
- type PreparationMessage
- type PreparationMessages
- type PullPolicy
- func (this PullPolicy) Clone() PullPolicy
- func (this PullPolicy) IsEqualTo(other any) bool
- func (this PullPolicy) IsZero() bool
- func (this PullPolicy) MarshalText() (text []byte, err error)
- func (this *PullPolicy) Set(text string) error
- func (this PullPolicy) String() string
- func (this *PullPolicy) UnmarshalText(text []byte) error
- func (this PullPolicy) Validate() error
- type Ref
- func (this *Ref) Get() *Configuration
- func (this *Ref) GetFilename() string
- func (this Ref) IsEqualTo(other any) bool
- func (this Ref) IsZero() bool
- func (this *Ref) MakeAbsolute() error
- func (this Ref) MarshalText() (text []byte, err error)
- func (this *Ref) Set(text string) error
- func (this Ref) String() string
- func (this *Ref) UnmarshalText(text []byte) error
- type Requirement
- type Session
- type SessionFs
- func (this SessionFs) FeatureFlags() []string
- func (this SessionFs) IsEqualTo(other any) bool
- func (this *SessionFs) SetDefaults() error
- func (this *SessionFs) Trim() error
- func (this SessionFs) Types() []string
- func (this *SessionFs) UnmarshalYAML(node *yaml.Node) error
- func (this *SessionFs) Validate() error
- type SessionV
- type SessionVFactory
- type Ssh
- type SshUnauthenticatedAudit
- type UserCertificateAuthorityProperties
- type UserRequirementTemplate
- func (this UserRequirementTemplate) IsEqualTo(other any) bool
- func (this UserRequirementTemplate) Render(key common.StructuredKey, data any) (_ *user.Requirement, err error)
- func (this *UserRequirementTemplate) SetDefaults() error
- func (this *UserRequirementTemplate) Trim() error
- func (this *UserRequirementTemplate) UnmarshalYAML(node *yaml.Node) error
- func (this *UserRequirementTemplate) Validate() error
Constants ¶
const ( // MaximumAuditlogRecordingChunkSizeBytes caps the configured native group // target below its 2 MiB decoded limit without importing pkg/recording. MaximumAuditlogRecordingChunkSizeBytes uint64 = 1_048_577 AuditlogRecordingCompressionLevelDefault AuditlogRecordingCompressionLevel = "default" )
const ( DefaultHostKeyLocation = "/etc/engity/bifroest/key" DefaultCertificateIdentityFileLocation = "/etc/engity/bifroest/client-key" DefaultCertificateAuthorityFileLocation = "/etc/engity/bifroest/ca" )
const MaxFlowNameBytes = 255
Variables ¶
var ( DefaultAlternativesDownloadUrl = template.MustNewUrl("https://github.com/engity-com/bifroest/releases/download/v{{.version}}/bifroest-{{.os}}-{{.arch}}-{{.edition}}{{.packageExt}}") DefaultAlternativesLocation = template.MustNewString(defaultAlternativesLocation) )
var ( DefaultAuditlogRecordingEnabled = false DefaultAuditlogRecordingDirectory = defaultAuditlogRecordingDirectory DefaultAuditlogRecordingCompression = AuditlogRecordingCompression{Level: AuditlogRecordingCompressionLevelDefault} DefaultAuditlogRecordingChunkSizeBytes = uint64(256 << 10) DefaultAuditlogRecordingFlushInterval = common.DurationOf(2 * time.Second) DefaultAuditlogRecordingFlushSizeBytes = uint64(1 << 20) DefaultAuditlogRecordingMaximumSpoolBytes = uint64(100 << 30) DefaultAuditlogRecordingRetainFor = common.DurationOf(720 * time.Hour) DefaultAuditlogRecordingNotice = template.MustNewString("") )
var ( DefaultAuditlogTargetS3Region = template.MustNewString("{{ env `AWS_REGION` | default (env `AWS_DEFAULT_REGION`) }}") DefaultAuditlogTargetS3AccessKeyId = template.MustNewString("{{ env `AWS_ACCESS_KEY_ID` | default (env `AWS_ACCESS_KEY`) }}") DefaultAuditlogTargetS3SecretAccessKey = template.MustNewString("{{ env `AWS_SECRET_ACCESS_KEY` | default (env `AWS_SECRET_KEY`) }}") DefaultAuditlogTargetS3SessionToken = template.MustNewString("{{ env `AWS_SESSION_TOKEN` }}") )
var ( DefaultAuditlogTargetWebdavUsername = template.MustNewString("") DefaultAuditlogTargetWebdavPassword = template.MustNewString("") )
var ( DefaultAuditlogEnabled = false DefaultAuditlogFailurePolicy = AuditlogFailurePolicyStrict DefaultAuditlogIdentityFile = defaultAuditlogIdentityFile DefaultAuditlogJournalDirectory = defaultAuditlogJournalDirectory DefaultAuditlogJournalMinimumFreeBytes = uint64(256 << 20) )
var ( DefaultAuthorizationLocalPamService = defaultAuthorizationLocalPamService DefaultAuthorizationLocalAuthorizedKeys = template.MustNewStrings("{{.user.homeDir}}/.ssh/authorized_keys") )
var ( DefaultAuthorizationOidcDefaultIssuer = template.MustNewUrl("") DefaultAuthorizationOidcDefaultClientId = template.MustNewString("") DefaultAuthorizationOidcDefaultClientSecret = template.MustNewString("") DefaultAuthorizationOidcScopes = template.MustNewStrings(oidc.ScopeOpenID, "profile", "email") DefaultAuthorizationOidcRetrieveIdToken = true DefaultAuthorizationOidcRetrieveUserInfo = false DefaultAuthorizationOidcForceDisposeSessionOn = "lostAccess" DefaultAuthorizationOidcRefreshTokenMode = "proactive" DefaultAuthorizationOidcRefreshTokenAtLifetimePercent uint8 = 70 DefaultAuthorizationOidcRefreshTokenFallbackEvery = common.DurationOf(15 * time.Minute) DefaultAuthorizationOidcRefreshTokenMaxUnverifiedFor = common.DurationOf(30 * time.Minute) )
var ( DefaultEnvironmentDockerLoginAllowed = template.BoolOf(true) DefaultEnvironmentDockerHost = template.MustNewString("{{ env `DOCKER_HOST` }}") DefaultEnvironmentDockerApiVersion = template.MustNewString("{{ env `DOCKER_API_VERSION` }}") DefaultEnvironmentDockerCertPath = template.MustNewString("{{ env `DOCKER_CERT_PATH` }}") DefaultEnvironmentDockerTlsVerify = template.MustNewBool("{{ env `DOCKER_TLS_VERIFY` | ne `` }}") DefaultEnvironmentDockerImage = template.MustNewString("alpine") DefaultEnvironmentDockerImagePullPolicy = PullPolicyIfAbsent DefaultEnvironmentDockerImagePullCredentials = template.MustNewString("") DefaultEnvironmentDockerNetworks = template.MustNewStrings(network.NetworkDefault) DefaultEnvironmentDockerVolumes = template.MustNewStrings() DefaultEnvironmentDockerMounts = template.MustNewStrings() DefaultEnvironmentDockerCapabilities = template.MustNewStrings() DefaultEnvironmentDockerPrivileged = template.BoolOf(false) DefaultEnvironmentDockerDnsServers = template.MustNewStrings() DefaultEnvironmentDockerDnsSearch = template.MustNewStrings() DefaultEnvironmentDockerShellCommand = template.MustNewStrings() DefaultEnvironmentDockerExecCommand = template.MustNewStrings() DefaultEnvironmentDockerSftpCommand = template.MustNewStrings() DefaultEnvironmentDockerDirectory = template.MustNewString("") DefaultEnvironmentDockerUser = template.MustNewString("") DefaultEnvironmentDockerBanner = template.MustNewString("") DefaultEnvironmentDockerPortForwardingAllowed = template.BoolOf(true) DefaultEnvironmentDockerImpPublishHost = net.MustNewHost("") DefaultEnvironmentDockerCleanOrphan = template.BoolOf(true) )
var ( DefaultEnvironmentDummyExitCode = template.Int64Of(0) DefaultEnvironmentDummyBanner = template.MustNewString("") )
var ( DefaultEnvironmentKubernetesLoginAllowed = template.BoolOf(true) DefaultEnvironmentKubernetesConfig = template.MustNewTextMarshaller[kubernetes.Kubeconfig, *kubernetes.Kubeconfig]("") DefaultEnvironmentKubernetesContext = template.MustNewString("") DefaultEnvironmentKubernetesName = template.MustNewString("bifroest-{{.session.id}}") DefaultEnvironmentKubernetesNamespace = template.MustNewString("") DefaultEnvironmentKubernetesOs = sys.OsLinux DefaultEnvironmentKubernetesArch = sys.ArchAmd64 DefaultEnvironmentKubernetesServiceAccountName = template.MustNewString("") DefaultEnvironmentKubernetesImage = template.MustNewString("alpine") DefaultEnvironmentKubernetesImagePullPolicy = PullPolicyIfAbsent DefaultEnvironmentKubernetesImagePullSecretName = template.MustNewString("") DefaultEnvironmentKubernetesImagePullCredentials = template.MustNewString("") DefaultEnvironmentKubernetesReadyTimeout = template.DurationOf(5 * time.Minute) DefaultEnvironmentKubernetesRemoveTimeout = 1 * time.Minute DefaultEnvironmentKubernetesCapabilities = template.MustNewStrings() DefaultEnvironmentKubernetesPrivileged = template.BoolOf(false) DefaultEnvironmentKubernetesDnsServers = template.MustNewStrings() DefaultEnvironmentKubernetesDnsSearch = template.MustNewStrings() DefaultEnvironmentKubernetesShellCommand = template.MustNewStrings() DefaultEnvironmentKubernetesExecCommand = template.MustNewStrings() DefaultEnvironmentKubernetesSftpCommand = template.MustNewStrings() DefaultEnvironmentKubernetesDirectory = template.MustNewString("") DefaultEnvironmentKubernetesUser = template.MustNewString("") DefaultEnvironmentKubernetesGroup = template.MustNewString("") DefaultEnvironmentKubernetesBanner = template.MustNewString("") DefaultEnvironmentKubernetesPortForwardingAllowed = template.BoolOf(true) DefaultEnvironmentKubernetesCleanOrphan = template.BoolOf(true) )
var ( DefaultEnvironmentLocalLoginAllowed = template.BoolOf(true) DefaultEnvironmentLocalBanner = template.MustNewString("") DefaultEnvironmentLocalPortForwardingAllowed = template.BoolOf(true) DefaultEnvironmentLocalManagedGroup = "bifroest-managed" DefaultEnvironmentLocalManageSystemUsers = template.BoolOf(false) DefaultEnvironmentLocalCreateIfAbsent = template.BoolOf(false) DefaultEnvironmentLocalUpdateIfDifferent = template.BoolOf(false) DefaultEnvironmentLocalDeleteOnDispose = template.BoolOf(false) DefaultEnvironmentLocalDeleteHomeTogetherWithUser = template.BoolOf(true) DefaultEnvironmentLocalKillProcessesOnDispose = template.MustNewBool("{{ .user.managed }}") )
var ( DefaultEnvironmentLocalShellCommand = template.Strings{} DefaultEnvironmentLocalExecCommandPrefix = template.Strings{} DefaultEnvironmentLocalDirectory = template.String{} )
var ( DefaultEnvironmentSshCertificateValidity = template.DurationOf(15 * time.Minute) DefaultEnvironmentSshCertificateValidAfterSkew = template.DurationOf(30 * time.Second) )
var ( DefaultEnvironmentSshConnectTimeout = template.DurationOf(10 * time.Second) DefaultEnvironmentSshOs = sys.OsLinux DefaultEnvironmentSshLoginAllowed = template.BoolOf(true) DefaultEnvironmentSshBanner = template.MustNewString("") DefaultEnvironmentSshPortForwardingAllowed = template.BoolOf(true) DefaultEnvironmentSshReversePortForwardingAllowed = template.BoolOf(false) DefaultEnvironmentSshAllowedSubsystems = common.MustNewRegexp("^sftp$") )
var ( DefaultHouseKeepingEvery = common.DurationOf(time.Minute * 10) DefaultHouseKeepingInitialDelay = common.DurationOf(0) DefaultHouseKeepingAutoRepair = true // DefaultHouseKeepingKeepExpiredFor is the default setting for HouseKeeping.KeepExpiredFor. DefaultHouseKeepingKeepExpiredFor = common.DurationOf(14 * 24 * time.Hour) )
var ( DefaultHostKeyLocations = template.MustNewStrings(DefaultHostKeyLocation) DefaultCertificateIdentityFile = template.MustNewString(DefaultCertificateIdentityFileLocation) DefaultCertificateAuthorityFile = template.MustNewString(DefaultCertificateAuthorityFileLocation) DefaultKeyExchanges = ssh.DefaultKeyExchanges DefaultRememberMeNotification = template.MustNewString("\nIf you return until {{.session.validUntil | format `dateTimeT`}} with the same public key ({{.key | fingerprint}}), you can seamlessly login again.\n\n") )
var ( DefaultMessagesAuthentications = ssh.DefaultMessageAuthentications DefaultMessagesCiphers = ssh.DefaultCiphers )
var ( DefaultPasswordAllowed = template.BoolOf(true) DefaultPasswordInteractiveAllowed = template.BoolOf(true) DefaultPasswordEmptyAllowed = template.BoolOf(false) )
var ( DefaultPreparationMessageId = common.MustNewRegexp(`.*`) DefaultPreparationMessageFlow = common.MustNewRegexp(`.*`) DefaultPreparationMessageStart = template.MustNewString("{{.title}}...") DefaultPreparationMessageUpdate = template.MustNewString("\r{{.title}}... {{.percentage | printf `%.0f%%`}}") DefaultPreparationMessageEnd = template.MustNewString("\r{{.title}}... DONE!\n") DefaultPreparationMessageError = template.MustNewString("\r{{.title}}... FAILED! Contact server operator for more information. Disconnecting now...\n") )
var ( DefaultRequirementIncludedRequestingName = common.MustNewRegexp("") DefaultRequirementExcludedRequestingName = common.MustNewRegexp("") )
var ( // DefaultSessionFsStorage is the default setting for SessionFs.Storage. DefaultSessionFsStorage = defaultSessionFsStorage // DefaultSessionFsFileMode is the default setting for SessionFs.FileMode. DefaultSessionFsFileMode = sys.FileMode(0600) )
var ( // DefaultSessionIdleTimeout is the default setting for Session.IdleTimeout. DefaultSessionIdleTimeout = common.DurationOf(30 * time.Minute) // DefaultSessionMaxTimeout is the default setting for Session.MaxTimeout. DefaultSessionMaxTimeout = common.DurationOf(0) // DefaultSessionMaxConnections is the default setting for Session.MaxConnections. DefaultSessionMaxConnections uint16 = 10 )
var ( // DefaultSshAddresses is the default setting for Ssh.Addresses. DefaultSshAddresses = []net.Address{net.MustNewAddress(":22")} // DefaultSshIdleTimeout is the default setting for Ssh.IdleTimeout. DefaultSshIdleTimeout = common.DurationOf(10 * time.Minute) // DefaultSshMaxTimeout is the default setting for Ssh.MaxTimeout. DefaultSshMaxTimeout = common.DurationOf(0) // DefaultSshGracefulShutdownTimeout is the default setting for Ssh.GracefulShutdownTimeout. DefaultSshGracefulShutdownTimeout = common.DurationOf(30 * time.Second) // DefaultSshHandshakeTimeout is the default setting for Ssh.HandshakeTimeout. DefaultSshHandshakeTimeout = common.DurationOf(2 * time.Minute) // DefaultSshSessionRequestTimeout is the default setting for Ssh.SessionRequestTimeout. DefaultSshSessionRequestTimeout = common.DurationOf(30 * time.Second) // DefaultSshMaxAuthTries is the default setting for Ssh.MaxAuthTries. DefaultSshMaxAuthTries = uint8(6) // DefaultSshMaxConnections is the default setting for Ssh.MaxConnections. DefaultSshMaxConnections = uint32(255) // DefaultSshMaxStartupsStart is the default setting for Ssh.MaxStartupsStart. DefaultSshMaxStartupsStart = uint16(10) // DefaultSshMaxStartupsRate is the default setting for Ssh.MaxStartupsRate. DefaultSshMaxStartupsRate = uint8(30) // DefaultSshMaxStartupsFull is the default setting for Ssh.MaxStartupsFull. DefaultSshMaxStartupsFull = uint16(100) // DefaultSshMaxSessionsPerConnection is the default setting for Ssh.MaxSessionsPerConnection. DefaultSshMaxSessionsPerConnection = uint16(10) // DefaultSshMaxChannelsPerConnection is the default setting for Ssh.MaxChannelsPerConnection. DefaultSshMaxChannelsPerConnection = uint16(64) // DefaultSshMaxReverseForwardsPerConnection is the default setting for Ssh.MaxReverseForwardsPerConnection. DefaultSshMaxReverseForwardsPerConnection = uint16(16) // DefaultSshMaxChannels is the default setting for Ssh.MaxChannels. DefaultSshMaxChannels = uint16(64) // DefaultSshMaxReverseForwards is the default setting for Ssh.MaxReverseForwards. DefaultSshMaxReverseForwards = uint16(256) // DefaultSshUnauthenticatedAuditInterval is the refill and aggregation interval for unauthenticated audit events. DefaultSshUnauthenticatedAuditInterval = common.DurationOf(time.Minute) // DefaultSshUnauthenticatedAuditPerSourceLimit is the token bucket size and refill per source and interval. DefaultSshUnauthenticatedAuditPerSourceLimit = uint16(6) // DefaultSshUnauthenticatedAuditGlobalLimit is the service-wide token bucket size and refill per interval. DefaultSshUnauthenticatedAuditGlobalLimit = uint16(24) DefaultProxyProtocol = false // DefaultSshBanner is the default setting for Ssh.Banner. DefaultSshBanner = template.MustNewString("{{`/etc/ssh/sshd-banner` | file `optional` | default `Transcend with Engity's Bifröst\n\n` }}") )
var DefaultAuditlogTargetPublishAttemptTimeout = template.DurationOf(2 * time.Minute)
var DefaultAuditlogTargetSftpConnectTimeout = template.DurationOf(10 * time.Second)
var (
DefaultAuthorizationBifroestMaxCertificateValidity = common.DurationOf(15 * time.Minute)
)
var (
DefaultAuthorizationHtpasswdFile = defaultAuthorizationHtpasswdFile
)
var (
DefaultGroupRequirementName = template.MustNewString("managed")
)
var (
DefaultStartMessage = template.MustNewString("")
)
Functions ¶
func GetSupportedAuditlogTargetFeatureFlags ¶
func GetSupportedAuditlogTargetFeatureFlags() []string
func GetSupportedAuthorizationFeatureFlags ¶ added in v0.2.0
func GetSupportedAuthorizationFeatureFlags() []string
func GetSupportedEnvironmentFeatureFlags ¶ added in v0.2.0
func GetSupportedEnvironmentFeatureFlags() []string
func GetSupportedSessionFeatureFlags ¶ added in v0.2.0
func GetSupportedSessionFeatureFlags() []string
func ValidateAuditlogEncryptionPublicKeys ¶
ValidateAuditlogEncryptionPublicKeys enforces the audit age recipient key policy.
Types ¶
type Alternatives ¶ added in v0.4.0
type Alternatives struct {
DownloadUrl template.Url `yaml:"downloadUrl,omitempty"`
Location template.String `yaml:"location,omitempty"`
}
func (Alternatives) IsEqualTo ¶ added in v0.4.0
func (this Alternatives) IsEqualTo(other any) bool
func (*Alternatives) SetDefaults ¶ added in v0.4.0
func (this *Alternatives) SetDefaults() error
func (*Alternatives) Trim ¶ added in v0.4.0
func (this *Alternatives) Trim() error
func (*Alternatives) UnmarshalYAML ¶ added in v0.4.0
func (this *Alternatives) UnmarshalYAML(node *yaml.Node) error
func (*Alternatives) Validate ¶ added in v0.4.0
func (this *Alternatives) Validate() error
type Auditlog ¶
type Auditlog struct {
Name AuditlogName `yaml:"name"`
Enabled bool `yaml:"enabled,omitempty"`
FailurePolicy AuditlogFailurePolicy `yaml:"failurePolicy,omitempty"`
IdentityFile string `yaml:"identityFile,omitempty"`
EncryptionPublicKey crypto.PublicKeys `yaml:"encryptionPublicKey,omitempty"`
EncryptionPublicKeyFile crypto.PublicKeysFile `yaml:"encryptionPublicKeyFile,omitempty"`
Directory string `yaml:"directory,omitempty"`
MinimumFreeBytes uint64 `yaml:"minimumFreeBytes,omitempty"`
Recording AuditlogRecording `yaml:"recording,omitempty"`
Targets AuditlogTargets `yaml:"targets,omitempty"`
}
Auditlog defines the authoritative local audit journal and optional remote targets that replicate its immutable sealed segments.
func (*Auditlog) SetDefaults ¶
type AuditlogFailurePolicy ¶
type AuditlogFailurePolicy uint8
const ( AuditlogFailurePolicyStrict AuditlogFailurePolicy = iota AuditlogFailurePolicyBestEffort )
func (AuditlogFailurePolicy) Clone ¶
func (this AuditlogFailurePolicy) Clone() AuditlogFailurePolicy
func (AuditlogFailurePolicy) IsEqualTo ¶
func (this AuditlogFailurePolicy) IsEqualTo(other any) bool
func (AuditlogFailurePolicy) IsZero ¶
func (this AuditlogFailurePolicy) IsZero() bool
func (AuditlogFailurePolicy) MarshalText ¶
func (this AuditlogFailurePolicy) MarshalText() ([]byte, error)
func (*AuditlogFailurePolicy) Set ¶
func (this *AuditlogFailurePolicy) Set(text string) error
func (AuditlogFailurePolicy) String ¶
func (this AuditlogFailurePolicy) String() string
func (*AuditlogFailurePolicy) UnmarshalText ¶
func (this *AuditlogFailurePolicy) UnmarshalText(text []byte) error
func (AuditlogFailurePolicy) Validate ¶
func (this AuditlogFailurePolicy) Validate() error
type AuditlogName ¶
type AuditlogName string
const (
DefaultAuditlogName AuditlogName = "default"
)
func (AuditlogName) Clone ¶
func (this AuditlogName) Clone() AuditlogName
func (AuditlogName) IsEqualTo ¶
func (this AuditlogName) IsEqualTo(other any) bool
func (AuditlogName) IsZero ¶
func (this AuditlogName) IsZero() bool
func (AuditlogName) MarshalText ¶
func (this AuditlogName) MarshalText() ([]byte, error)
func (*AuditlogName) Set ¶
func (this *AuditlogName) Set(text string) error
func (AuditlogName) String ¶
func (this AuditlogName) String() string
func (*AuditlogName) UnmarshalText ¶
func (this *AuditlogName) UnmarshalText(text []byte) error
func (AuditlogName) Validate ¶
func (this AuditlogName) Validate() error
type AuditlogRecording ¶
type AuditlogRecording struct {
Enabled bool `yaml:"enabled,omitempty"`
Directory string `yaml:"directory,omitempty"`
Compression AuditlogRecordingCompression `yaml:"compression,omitempty"`
ChunkSizeBytes uint64 `yaml:"chunkSizeBytes,omitempty"`
FlushInterval common.Duration `yaml:"flushInterval,omitempty"`
FlushSizeBytes uint64 `yaml:"flushSizeBytes,omitempty"`
MaximumSpoolBytes uint64 `yaml:"maximumSpoolBytes,omitempty"`
RetainFor common.Duration `yaml:"retainFor"`
Notice template.String `yaml:"notice,omitempty"`
Targets AuditlogRecordingTargets `yaml:"targets,omitempty"`
}
AuditlogRecording defines local session recording and delivery policy. The signing identity and optional encryption recipient are inherited from the parent Auditlog.
func (AuditlogRecording) IsEqualTo ¶
func (this AuditlogRecording) IsEqualTo(other any) bool
func (AuditlogRecording) IsZero ¶
func (this AuditlogRecording) IsZero() bool
func (AuditlogRecording) MarshalYAML ¶
func (this AuditlogRecording) MarshalYAML() (any, error)
func (*AuditlogRecording) SetDefaults ¶
func (this *AuditlogRecording) SetDefaults() error
func (*AuditlogRecording) Trim ¶
func (this *AuditlogRecording) Trim() error
func (*AuditlogRecording) UnmarshalYAML ¶
func (this *AuditlogRecording) UnmarshalYAML(node *yaml.Node) error
func (*AuditlogRecording) Validate ¶
func (this *AuditlogRecording) Validate() error
type AuditlogRecordingCompression ¶
type AuditlogRecordingCompression struct {
Level AuditlogRecordingCompressionLevel `yaml:"level,omitempty"`
}
func (AuditlogRecordingCompression) IsEqualTo ¶
func (this AuditlogRecordingCompression) IsEqualTo(other any) bool
func (*AuditlogRecordingCompression) SetDefaults ¶
func (this *AuditlogRecordingCompression) SetDefaults() error
func (*AuditlogRecordingCompression) Trim ¶
func (this *AuditlogRecordingCompression) Trim() error
func (*AuditlogRecordingCompression) UnmarshalYAML ¶
func (this *AuditlogRecordingCompression) UnmarshalYAML(node *yaml.Node) error
func (*AuditlogRecordingCompression) Validate ¶
func (this *AuditlogRecordingCompression) Validate() error
type AuditlogRecordingCompressionLevel ¶
type AuditlogRecordingCompressionLevel string
func (AuditlogRecordingCompressionLevel) Clone ¶
func (this AuditlogRecordingCompressionLevel) Clone() AuditlogRecordingCompressionLevel
func (AuditlogRecordingCompressionLevel) IsEqualTo ¶
func (this AuditlogRecordingCompressionLevel) IsEqualTo(other any) bool
func (AuditlogRecordingCompressionLevel) IsZero ¶
func (this AuditlogRecordingCompressionLevel) IsZero() bool
func (AuditlogRecordingCompressionLevel) MarshalText ¶
func (this AuditlogRecordingCompressionLevel) MarshalText() ([]byte, error)
func (*AuditlogRecordingCompressionLevel) Set ¶
func (this *AuditlogRecordingCompressionLevel) Set(text string) error
func (AuditlogRecordingCompressionLevel) String ¶
func (this AuditlogRecordingCompressionLevel) String() string
func (*AuditlogRecordingCompressionLevel) UnmarshalText ¶
func (this *AuditlogRecordingCompressionLevel) UnmarshalText(text []byte) error
func (AuditlogRecordingCompressionLevel) Validate ¶
func (this AuditlogRecordingCompressionLevel) Validate() error
type AuditlogRecordingTargets ¶
type AuditlogRecordingTargets struct {
Mode AuditlogRecordingTargetsMode `yaml:"-"`
Targets AuditlogTargets `yaml:"-"`
}
AuditlogRecordingTargets selects inherited or custom required delivery targets, or disables remote Recording delivery.
func (AuditlogRecordingTargets) Configured ¶
func (this AuditlogRecordingTargets) Configured() AuditlogTargets
func (AuditlogRecordingTargets) IsDisabled ¶
func (this AuditlogRecordingTargets) IsDisabled() bool
func (AuditlogRecordingTargets) IsEqualTo ¶
func (this AuditlogRecordingTargets) IsEqualTo(other any) bool
func (AuditlogRecordingTargets) IsInherited ¶
func (this AuditlogRecordingTargets) IsInherited() bool
func (AuditlogRecordingTargets) MarshalYAML ¶
func (this AuditlogRecordingTargets) MarshalYAML() (any, error)
func (*AuditlogRecordingTargets) SetDefaults ¶
func (this *AuditlogRecordingTargets) SetDefaults() error
func (*AuditlogRecordingTargets) Trim ¶
func (this *AuditlogRecordingTargets) Trim() error
func (*AuditlogRecordingTargets) UnmarshalYAML ¶
func (this *AuditlogRecordingTargets) UnmarshalYAML(node *yaml.Node) error
func (AuditlogRecordingTargets) Validate ¶
func (this AuditlogRecordingTargets) Validate() error
type AuditlogRecordingTargetsMode ¶
type AuditlogRecordingTargetsMode uint8
const ( AuditlogRecordingTargetsModeInherit AuditlogRecordingTargetsMode = iota AuditlogRecordingTargetsModeDisabled AuditlogRecordingTargetsModeCustom )
type AuditlogTarget ¶
type AuditlogTarget struct {
Name AuditlogTargetName `yaml:"name"`
V AuditlogTargetV `yaml:"-"`
}
func (AuditlogTarget) IsEqualTo ¶
func (this AuditlogTarget) IsEqualTo(other any) bool
func (AuditlogTarget) MarshalYAML ¶
func (this AuditlogTarget) MarshalYAML() (any, error)
func (*AuditlogTarget) SetDefaults ¶
func (this *AuditlogTarget) SetDefaults() error
func (*AuditlogTarget) Trim ¶
func (this *AuditlogTarget) Trim() error
func (*AuditlogTarget) UnmarshalYAML ¶
func (this *AuditlogTarget) UnmarshalYAML(node *yaml.Node) error
func (*AuditlogTarget) Validate ¶
func (this *AuditlogTarget) Validate() error
type AuditlogTargetCodecFactory ¶
type AuditlogTargetCodecFactory func() AuditlogTargetV
func RegisterAuditlogTargetCodec ¶
func RegisterAuditlogTargetCodec(factory AuditlogTargetCodecFactory) AuditlogTargetCodecFactory
RegisterAuditlogTargetCodec is the low-level entry point for configuration codecs without runtime delivery support. Custom remote targets should normally use audit.RegisterRemoteTarget, which registers both configuration and runtime handling. Registrations happen during package initialization; type aliases are case-insensitive and must be unique.
type AuditlogTargetName ¶
type AuditlogTargetName string
AuditlogTargetName identifies one remote target within an auditlog. Its text form is safe to use as a path component for future delivery state.
func (AuditlogTargetName) Clone ¶
func (this AuditlogTargetName) Clone() AuditlogTargetName
func (AuditlogTargetName) IsEqualTo ¶
func (this AuditlogTargetName) IsEqualTo(other any) bool
func (AuditlogTargetName) IsZero ¶
func (this AuditlogTargetName) IsZero() bool
func (AuditlogTargetName) MarshalText ¶
func (this AuditlogTargetName) MarshalText() ([]byte, error)
func (*AuditlogTargetName) Set ¶
func (this *AuditlogTargetName) Set(text string) error
func (AuditlogTargetName) String ¶
func (this AuditlogTargetName) String() string
func (*AuditlogTargetName) UnmarshalText ¶
func (this *AuditlogTargetName) UnmarshalText(text []byte) error
func (AuditlogTargetName) Validate ¶
func (this AuditlogTargetName) Validate() error
type AuditlogTargetS3 ¶
type AuditlogTargetS3 struct {
Bucket string `yaml:"bucket"`
Region template.String `yaml:"region,omitempty"`
Prefix string `yaml:"prefix,omitempty"`
Endpoint string `yaml:"endpoint,omitempty"`
PathStyle bool `yaml:"pathStyle,omitempty"`
ExpectedBucketOwner string `yaml:"expectedBucketOwner,omitempty"`
DestinationIdentity string `yaml:"destinationIdentity,omitempty"`
AccessKeyId template.String `yaml:"accessKeyId,omitempty"`
SecretAccessKey template.String `yaml:"secretAccessKey,omitempty"`
SessionToken template.String `yaml:"sessionToken,omitempty"`
PublishAttemptTimeout template.Duration `yaml:"publishAttemptTimeout,omitempty"`
// contains filtered or unexported fields
}
func (AuditlogTargetS3) FeatureFlags ¶
func (this AuditlogTargetS3) FeatureFlags() []string
func (AuditlogTargetS3) IsEqualTo ¶
func (this AuditlogTargetS3) IsEqualTo(other any) bool
func (AuditlogTargetS3) MarshalYAML ¶
func (this AuditlogTargetS3) MarshalYAML() (any, error)
func (AuditlogTargetS3) Render ¶
func (this AuditlogTargetS3) Render(data any) (result AuditlogTargetS3Values, err error)
func (*AuditlogTargetS3) SetDefaults ¶
func (this *AuditlogTargetS3) SetDefaults() error
func (*AuditlogTargetS3) Trim ¶
func (this *AuditlogTargetS3) Trim() error
func (AuditlogTargetS3) Types ¶
func (this AuditlogTargetS3) Types() []string
func (*AuditlogTargetS3) UnmarshalYAML ¶
func (this *AuditlogTargetS3) UnmarshalYAML(node *yaml.Node) error
func (*AuditlogTargetS3) Validate ¶
func (this *AuditlogTargetS3) Validate() error
type AuditlogTargetS3Values ¶
type AuditlogTargetSftp ¶
type AuditlogTargetSftp struct {
Address string `yaml:"address"`
User template.String `yaml:"user"`
Directory string `yaml:"directory"`
KnownHosts crypto.KnownHosts `yaml:"knownHosts,omitempty"`
KnownHostsFile crypto.KnownHostsFile `yaml:"knownHostsFile,omitempty"`
AcceptAllHostKeys bool `yaml:"acceptAllHostKeys,omitempty"`
IdentityFiles []string `yaml:"identityFiles,omitempty"`
Password template.String `yaml:"password,omitempty"`
ConnectTimeout template.Duration `yaml:"connectTimeout,omitempty"`
PublishAttemptTimeout template.Duration `yaml:"publishAttemptTimeout,omitempty"`
}
func (AuditlogTargetSftp) FeatureFlags ¶
func (this AuditlogTargetSftp) FeatureFlags() []string
func (AuditlogTargetSftp) IsEqualTo ¶
func (this AuditlogTargetSftp) IsEqualTo(other any) bool
func (AuditlogTargetSftp) Render ¶
func (this AuditlogTargetSftp) Render(data any) (result AuditlogTargetSftpValues, err error)
func (*AuditlogTargetSftp) SetDefaults ¶
func (this *AuditlogTargetSftp) SetDefaults() error
func (*AuditlogTargetSftp) Trim ¶
func (this *AuditlogTargetSftp) Trim() error
func (AuditlogTargetSftp) Types ¶
func (this AuditlogTargetSftp) Types() []string
func (*AuditlogTargetSftp) UnmarshalYAML ¶
func (this *AuditlogTargetSftp) UnmarshalYAML(node *yaml.Node) error
func (*AuditlogTargetSftp) Validate ¶
func (this *AuditlogTargetSftp) Validate() error
type AuditlogTargetV ¶
type AuditlogTargetWebdav ¶
type AuditlogTargetWebdav struct {
Endpoint string `yaml:"endpoint"`
Username template.String `yaml:"username,omitempty"`
Password template.String `yaml:"password,omitempty"`
PublishAttemptTimeout template.Duration `yaml:"publishAttemptTimeout,omitempty"`
}
func (AuditlogTargetWebdav) FeatureFlags ¶
func (this AuditlogTargetWebdav) FeatureFlags() []string
func (AuditlogTargetWebdav) IsEqualTo ¶
func (this AuditlogTargetWebdav) IsEqualTo(other any) bool
func (AuditlogTargetWebdav) Render ¶
func (this AuditlogTargetWebdav) Render(data any) (result AuditlogTargetWebdavValues, err error)
func (*AuditlogTargetWebdav) SetDefaults ¶
func (this *AuditlogTargetWebdav) SetDefaults() error
func (*AuditlogTargetWebdav) Trim ¶
func (this *AuditlogTargetWebdav) Trim() error
func (AuditlogTargetWebdav) Types ¶
func (this AuditlogTargetWebdav) Types() []string
func (*AuditlogTargetWebdav) UnmarshalYAML ¶
func (this *AuditlogTargetWebdav) UnmarshalYAML(node *yaml.Node) error
func (*AuditlogTargetWebdav) Validate ¶
func (this *AuditlogTargetWebdav) Validate() error
type AuditlogTargets ¶
type AuditlogTargets []AuditlogTarget
func (AuditlogTargets) IsEqualTo ¶
func (this AuditlogTargets) IsEqualTo(other any) bool
func (*AuditlogTargets) SetDefaults ¶
func (this *AuditlogTargets) SetDefaults() error
func (*AuditlogTargets) Trim ¶
func (this *AuditlogTargets) Trim() error
func (AuditlogTargets) Validate ¶
func (this AuditlogTargets) Validate() error
type Authorization ¶
type Authorization struct {
V AuthorizationV
}
func (Authorization) IsEqualTo ¶
func (this Authorization) IsEqualTo(other any) bool
func (*Authorization) MarshalYAML ¶
func (this *Authorization) MarshalYAML() (any, error)
func (*Authorization) SetDefaults ¶
func (this *Authorization) SetDefaults() error
func (*Authorization) Trim ¶
func (this *Authorization) Trim() error
func (*Authorization) UnmarshalYAML ¶
func (this *Authorization) UnmarshalYAML(node *yaml.Node) error
func (*Authorization) Validate ¶
func (this *Authorization) Validate() error
type AuthorizationBifroest ¶
type AuthorizationBifroest struct {
UserCertificateAuthorityProperties `yaml:",inline"`
Audiences BifroestAudiences `yaml:"audiences,omitempty"`
MaxCertificateValidity common.Duration `yaml:"maxCertificateValidity,omitempty"`
}
func (AuthorizationBifroest) FeatureFlags ¶
func (AuthorizationBifroest) FeatureFlags() []string
func (AuthorizationBifroest) IsEqualTo ¶
func (this AuthorizationBifroest) IsEqualTo(other any) bool
func (*AuthorizationBifroest) SetDefaults ¶
func (this *AuthorizationBifroest) SetDefaults() error
func (*AuthorizationBifroest) Trim ¶
func (this *AuthorizationBifroest) Trim() error
func (AuthorizationBifroest) Types ¶
func (AuthorizationBifroest) Types() []string
func (*AuthorizationBifroest) UnmarshalYAML ¶
func (this *AuthorizationBifroest) UnmarshalYAML(node *yaml.Node) error
func (*AuthorizationBifroest) Validate ¶
func (this *AuthorizationBifroest) Validate() error
type AuthorizationHtpasswd ¶ added in v0.2.0
type AuthorizationHtpasswd struct {
File crypto.HtpasswdFile `yaml:"file,omitempty"`
Entries crypto.Htpasswd `yaml:"entries,omitempty"`
}
func (AuthorizationHtpasswd) FeatureFlags ¶ added in v0.2.0
func (this AuthorizationHtpasswd) FeatureFlags() []string
func (AuthorizationHtpasswd) IsEqualTo ¶ added in v0.2.0
func (this AuthorizationHtpasswd) IsEqualTo(other any) bool
func (*AuthorizationHtpasswd) SetDefaults ¶ added in v0.2.0
func (this *AuthorizationHtpasswd) SetDefaults() error
func (*AuthorizationHtpasswd) Trim ¶ added in v0.2.0
func (this *AuthorizationHtpasswd) Trim() error
func (AuthorizationHtpasswd) Types ¶ added in v0.2.0
func (this AuthorizationHtpasswd) Types() []string
func (*AuthorizationHtpasswd) UnmarshalYAML ¶ added in v0.2.0
func (this *AuthorizationHtpasswd) UnmarshalYAML(node *yaml.Node) error
func (*AuthorizationHtpasswd) Validate ¶ added in v0.2.0
func (this *AuthorizationHtpasswd) Validate() error
type AuthorizationLocal ¶
type AuthorizationLocal struct {
UserCertificateAuthorityProperties `yaml:",inline"`
AuthorizedKeys template.Strings `yaml:"authorizedKeys,omitempty"`
Password PasswordProperties `yaml:"password,omitempty"`
PamService string `yaml:"pamService,omitempty"`
}
func (AuthorizationLocal) FeatureFlags ¶ added in v0.2.0
func (this AuthorizationLocal) FeatureFlags() []string
func (AuthorizationLocal) IsEqualTo ¶
func (this AuthorizationLocal) IsEqualTo(other any) bool
func (*AuthorizationLocal) SetDefaults ¶
func (this *AuthorizationLocal) SetDefaults() error
func (*AuthorizationLocal) Trim ¶
func (this *AuthorizationLocal) Trim() error
func (AuthorizationLocal) Types ¶ added in v0.2.0
func (this AuthorizationLocal) Types() []string
func (*AuthorizationLocal) UnmarshalYAML ¶
func (this *AuthorizationLocal) UnmarshalYAML(node *yaml.Node) error
func (*AuthorizationLocal) Validate ¶
func (this *AuthorizationLocal) Validate() error
type AuthorizationNone ¶ added in v0.4.0
type AuthorizationNone struct{}
func (AuthorizationNone) FeatureFlags ¶ added in v0.4.0
func (this AuthorizationNone) FeatureFlags() []string
func (AuthorizationNone) IsEqualTo ¶ added in v0.4.0
func (this AuthorizationNone) IsEqualTo(other any) bool
func (*AuthorizationNone) SetDefaults ¶ added in v0.4.0
func (this *AuthorizationNone) SetDefaults() error
func (*AuthorizationNone) Trim ¶ added in v0.4.0
func (this *AuthorizationNone) Trim() error
func (AuthorizationNone) Types ¶ added in v0.4.0
func (this AuthorizationNone) Types() []string
func (*AuthorizationNone) UnmarshalYAML ¶ added in v0.4.0
func (this *AuthorizationNone) UnmarshalYAML(node *yaml.Node) error
func (*AuthorizationNone) Validate ¶ added in v0.4.0
func (this *AuthorizationNone) Validate() error
type AuthorizationOidcDeviceAuth ¶
type AuthorizationOidcDeviceAuth struct {
Issuer template.Url `yaml:"issuer"`
ClientId template.String `yaml:"clientId"`
ClientSecret template.String `yaml:"clientSecret"`
Scopes template.Strings `yaml:"scopes"`
RetrieveIdToken bool `yaml:"retrieveIdToken,omitempty"`
RetrieveUserInfo bool `yaml:"retrieveUserInfo,omitempty"`
ForceDisposeSessionOn string `yaml:"forceDisposeSessionOn,omitempty"`
RefreshToken AuthorizationOidcRefreshToken `yaml:"refreshToken,omitempty"`
}
func (AuthorizationOidcDeviceAuth) FeatureFlags ¶ added in v0.2.0
func (this AuthorizationOidcDeviceAuth) FeatureFlags() []string
func (AuthorizationOidcDeviceAuth) IsEqualTo ¶
func (this AuthorizationOidcDeviceAuth) IsEqualTo(other any) bool
func (AuthorizationOidcDeviceAuth) RefreshEnabled ¶
func (this AuthorizationOidcDeviceAuth) RefreshEnabled() bool
func (*AuthorizationOidcDeviceAuth) SetDefaults ¶
func (this *AuthorizationOidcDeviceAuth) SetDefaults() error
func (*AuthorizationOidcDeviceAuth) Trim ¶
func (this *AuthorizationOidcDeviceAuth) Trim() error
func (AuthorizationOidcDeviceAuth) Types ¶ added in v0.2.0
func (this AuthorizationOidcDeviceAuth) Types() []string
func (*AuthorizationOidcDeviceAuth) UnmarshalYAML ¶
func (this *AuthorizationOidcDeviceAuth) UnmarshalYAML(node *yaml.Node) error
func (*AuthorizationOidcDeviceAuth) Validate ¶
func (this *AuthorizationOidcDeviceAuth) Validate() error
type AuthorizationOidcRefreshToken ¶
type AuthorizationOidcRefreshToken struct {
Mode string `yaml:"mode,omitempty"`
AtLifetimePercent uint8 `yaml:"atLifetimePercent,omitempty"`
FallbackEvery common.Duration `yaml:"fallbackEvery,omitempty"`
MaxUnverifiedFor common.Duration `yaml:"maxUnverifiedFor,omitempty"`
}
func (AuthorizationOidcRefreshToken) IsEqualTo ¶
func (this AuthorizationOidcRefreshToken) IsEqualTo(other any) bool
func (*AuthorizationOidcRefreshToken) SetDefaults ¶
func (this *AuthorizationOidcRefreshToken) SetDefaults() error
func (*AuthorizationOidcRefreshToken) Trim ¶
func (this *AuthorizationOidcRefreshToken) Trim() error
func (*AuthorizationOidcRefreshToken) UnmarshalYAML ¶
func (this *AuthorizationOidcRefreshToken) UnmarshalYAML(node *yaml.Node) error
func (*AuthorizationOidcRefreshToken) Validate ¶
func (this *AuthorizationOidcRefreshToken) Validate() error
type AuthorizationSimple ¶ added in v0.2.0
type AuthorizationSimple struct {
UserCertificateAuthorityProperties `yaml:",inline"`
Entries AuthorizationSimpleEntries `yaml:"entries,omitempty"`
}
func (AuthorizationSimple) FeatureFlags ¶ added in v0.2.0
func (this AuthorizationSimple) FeatureFlags() []string
func (AuthorizationSimple) IsEqualTo ¶ added in v0.2.0
func (this AuthorizationSimple) IsEqualTo(other any) bool
func (*AuthorizationSimple) SetDefaults ¶ added in v0.2.0
func (this *AuthorizationSimple) SetDefaults() error
func (*AuthorizationSimple) Trim ¶ added in v0.2.0
func (this *AuthorizationSimple) Trim() error
func (AuthorizationSimple) Types ¶ added in v0.2.0
func (this AuthorizationSimple) Types() []string
func (*AuthorizationSimple) UnmarshalYAML ¶ added in v0.2.0
func (this *AuthorizationSimple) UnmarshalYAML(node *yaml.Node) error
func (*AuthorizationSimple) Validate ¶ added in v0.2.0
func (this *AuthorizationSimple) Validate() error
type AuthorizationSimpleEntries ¶ added in v0.2.0
type AuthorizationSimpleEntries []AuthorizationSimpleEntry
func (AuthorizationSimpleEntries) IsEqualTo ¶ added in v0.2.0
func (this AuthorizationSimpleEntries) IsEqualTo(other any) bool
func (*AuthorizationSimpleEntries) SetDefaults ¶ added in v0.2.0
func (this *AuthorizationSimpleEntries) SetDefaults() error
func (*AuthorizationSimpleEntries) Trim ¶ added in v0.2.0
func (this *AuthorizationSimpleEntries) Trim() error
func (*AuthorizationSimpleEntries) UnmarshalYAML ¶ added in v0.4.0
func (this *AuthorizationSimpleEntries) UnmarshalYAML(node *yaml.Node) error
func (AuthorizationSimpleEntries) Validate ¶ added in v0.2.0
func (this AuthorizationSimpleEntries) Validate() error
type AuthorizationSimpleEntry ¶ added in v0.2.0
type AuthorizationSimpleEntry struct {
Name string `yaml:"name"`
AuthorizedKeys crypto.AuthorizedKeys `yaml:"authorizedKeys,omitempty"`
AuthorizedKeysFile crypto.AuthorizedKeysFile `yaml:"authorizedKeysFile,omitempty"`
Password crypto.Password `yaml:"password,omitempty"`
PasswordFile crypto.PasswordFile `yaml:"passwordFile,omitempty"`
CreatePasswordFileIfAbsentOfType *crypto.PasswordType `yaml:"createPasswordFileIfAbsentOfType,omitempty"`
}
func (*AuthorizationSimpleEntry) GetField ¶ added in v0.2.0
func (this *AuthorizationSimpleEntry) GetField(name string) (any, bool, error)
func (AuthorizationSimpleEntry) GetPassword ¶ added in v0.4.0
func (this AuthorizationSimpleEntry) GetPassword() (crypto.Password, error)
func (AuthorizationSimpleEntry) IsEqualTo ¶ added in v0.2.0
func (this AuthorizationSimpleEntry) IsEqualTo(other any) bool
func (*AuthorizationSimpleEntry) SetDefaults ¶ added in v0.2.0
func (this *AuthorizationSimpleEntry) SetDefaults() error
func (*AuthorizationSimpleEntry) Trim ¶ added in v0.2.0
func (this *AuthorizationSimpleEntry) Trim() error
func (*AuthorizationSimpleEntry) UnmarshalYAML ¶ added in v0.2.0
func (this *AuthorizationSimpleEntry) UnmarshalYAML(node *yaml.Node) error
func (*AuthorizationSimpleEntry) Validate ¶ added in v0.2.0
func (this *AuthorizationSimpleEntry) Validate() error
type AuthorizationV ¶
type AuthorizationVFactory ¶ added in v0.2.0
type AuthorizationVFactory func() AuthorizationV
func RegisterAuthorizationV ¶ added in v0.2.0
func RegisterAuthorizationV(factory AuthorizationVFactory) AuthorizationVFactory
type BifroestAudiences ¶
type BifroestAudiences []string
func (BifroestAudiences) IsEqualTo ¶
func (this BifroestAudiences) IsEqualTo(other any) bool
func (*BifroestAudiences) SetDefaults ¶
func (this *BifroestAudiences) SetDefaults() error
func (*BifroestAudiences) Trim ¶
func (this *BifroestAudiences) Trim() error
func (*BifroestAudiences) UnmarshalYAML ¶
func (this *BifroestAudiences) UnmarshalYAML(node *yaml.Node) error
func (BifroestAudiences) Validate ¶
func (this BifroestAudiences) Validate() error
type Configuration ¶
type Configuration struct {
Auditlogs Auditlogs `yaml:"auditlog,omitempty"`
Ssh Ssh `yaml:"ssh"`
// Session defines how new and existing sessions (a connection relates to) should be treated by the service.
// These session should not be mixed up with [ssh sessions].
//
// [ssh sessions]: https://datatracker.ietf.org/doc/html/rfc4254#section-6
Session Session `yaml:"session"`
Flows Flows `yaml:"flows"`
HouseKeeping HouseKeeping `yaml:"housekeeping"`
Alternatives Alternatives `yaml:"alternatives"`
StartMessage template.String `yaml:"startMessage,omitempty"`
}
func (Configuration) IsEqualTo ¶
func (this Configuration) IsEqualTo(other any) bool
func (*Configuration) LoadFromFile ¶
func (this *Configuration) LoadFromFile(fn string) error
func (*Configuration) LoadFromYaml ¶
func (this *Configuration) LoadFromYaml(reader io.Reader, fn string) error
func (*Configuration) SetDefaults ¶
func (this *Configuration) SetDefaults() error
func (*Configuration) Trim ¶
func (this *Configuration) Trim() error
func (*Configuration) UnmarshalYAML ¶
func (this *Configuration) UnmarshalYAML(node *yaml.Node) error
func (*Configuration) Validate ¶
func (this *Configuration) Validate() error
type Environment ¶
type Environment struct {
Variables EnvironmentVariables `yaml:"variables,omitempty"`
V EnvironmentV `yaml:"-"`
}
func (Environment) IsEqualTo ¶
func (this Environment) IsEqualTo(other any) bool
func (*Environment) MarshalYAML ¶
func (this *Environment) MarshalYAML() (any, error)
func (*Environment) SetDefaults ¶
func (this *Environment) SetDefaults() error
func (*Environment) Trim ¶
func (this *Environment) Trim() error
func (*Environment) UnmarshalYAML ¶
func (this *Environment) UnmarshalYAML(node *yaml.Node) error
func (*Environment) Validate ¶
func (this *Environment) Validate() error
type EnvironmentDocker ¶ added in v0.4.0
type EnvironmentDocker struct {
LoginAllowed template.Bool `yaml:"loginAllowed,omitempty"`
Host template.String `yaml:"host,omitempty"`
ApiVersion template.String `yaml:"apiVersion,omitempty"`
CertPath template.String `yaml:"certPath,omitempty"`
TlsVerify template.Bool `yaml:"tlsVerify,omitempty"`
Image template.String `yaml:"image"`
ImagePullPolicy PullPolicy `yaml:"imagePullPolicy,omitempty"`
ImagePullCredentials template.String `yaml:"imagePullCredentials,omitempty"`
Networks template.Strings `yaml:"networks"`
Volumes template.Strings `yaml:"volumes,omitempty"`
Mounts template.Strings `yaml:"mounts,omitempty"`
Capabilities template.Strings `yaml:"capabilities,omitempty"`
Privileged template.Bool `yaml:"privileged,omitempty"`
DnsServers template.Strings `yaml:"dnsServers,omitempty"`
DnsSearch template.Strings `yaml:"dnsSearch,omitempty"`
ShellCommand template.Strings `yaml:"shellCommand,omitempty"`
ExecCommand template.Strings `yaml:"execCommand,omitempty"`
SftpCommand template.Strings `yaml:"sftpCommand,omitempty"`
Directory template.String `yaml:"directory"`
User template.String `yaml:"user,omitempty"`
Banner template.String `yaml:"banner,omitempty"`
PortForwardingAllowed template.Bool `yaml:"portForwardingAllowed,omitempty"`
ImpPublishHost net.Host `yaml:"impPublishHost,omitempty"`
CleanOrphan template.Bool `yaml:"cleanOrphan,omitempty"`
}
func (EnvironmentDocker) FeatureFlags ¶ added in v0.4.0
func (this EnvironmentDocker) FeatureFlags() []string
func (EnvironmentDocker) IsEqualTo ¶ added in v0.4.0
func (this EnvironmentDocker) IsEqualTo(other any) bool
func (*EnvironmentDocker) SetDefaults ¶ added in v0.4.0
func (this *EnvironmentDocker) SetDefaults() error
func (EnvironmentDocker) SupportsEnvironmentVariables ¶
func (this EnvironmentDocker) SupportsEnvironmentVariables() bool
func (*EnvironmentDocker) Trim ¶ added in v0.4.0
func (this *EnvironmentDocker) Trim() error
func (EnvironmentDocker) Types ¶ added in v0.4.0
func (this EnvironmentDocker) Types() []string
func (*EnvironmentDocker) UnmarshalYAML ¶ added in v0.4.0
func (this *EnvironmentDocker) UnmarshalYAML(node *yaml.Node) error
func (*EnvironmentDocker) Validate ¶ added in v0.4.0
func (this *EnvironmentDocker) Validate() error
type EnvironmentDummy ¶ added in v0.4.0
type EnvironmentDummy struct {
ExitCode template.Int64 `yaml:"exitCode,omitempty"`
Banner template.String `yaml:"banner,omitempty"`
}
func (EnvironmentDummy) FeatureFlags ¶ added in v0.4.0
func (this EnvironmentDummy) FeatureFlags() []string
func (EnvironmentDummy) IsEqualTo ¶ added in v0.4.0
func (this EnvironmentDummy) IsEqualTo(other any) bool
func (*EnvironmentDummy) SetDefaults ¶ added in v0.4.0
func (this *EnvironmentDummy) SetDefaults() error
func (*EnvironmentDummy) Trim ¶ added in v0.4.0
func (this *EnvironmentDummy) Trim() error
func (EnvironmentDummy) Types ¶ added in v0.4.0
func (this EnvironmentDummy) Types() []string
func (*EnvironmentDummy) UnmarshalYAML ¶ added in v0.4.0
func (this *EnvironmentDummy) UnmarshalYAML(node *yaml.Node) error
func (*EnvironmentDummy) Validate ¶ added in v0.4.0
func (this *EnvironmentDummy) Validate() error
type EnvironmentKubernetes ¶ added in v0.5.0
type EnvironmentKubernetes struct {
LoginAllowed template.Bool `yaml:"loginAllowed,omitempty"`
Config template.TextMarshaller[kubernetes.Kubeconfig, *kubernetes.Kubeconfig] `yaml:"config,omitempty"`
Context template.String `yaml:"context,omitempty"`
Name template.String `yaml:"name"`
Namespace template.String `yaml:"namespace,omitempty"`
Os sys.Os `yaml:"os"`
Arch sys.Arch `yaml:"arch"`
ServiceAccountName template.String `yaml:"serviceAccountName,omitempty"`
Image template.String `yaml:"image"`
ImagePullPolicy PullPolicy `yaml:"imagePullPolicy,omitempty"`
ImagePullSecretName template.String `yaml:"imagePullSecretName,omitempty"`
ImagePullCredentials template.String `yaml:"imagePullCredentials,omitempty"`
ReadyTimeout template.Duration `yaml:"readyTimeout,omitempty"`
RemoveTimeout time.Duration `yaml:"removeTimeout,omitempty"`
Capabilities template.Strings `yaml:"capabilities,omitempty"`
Privileged template.Bool `yaml:"privileged,omitempty"`
DnsServers template.Strings `yaml:"dnsServers,omitempty"`
DnsSearch template.Strings `yaml:"dnsSearch,omitempty"`
ShellCommand template.Strings `yaml:"shellCommand,omitempty"`
ExecCommand template.Strings `yaml:"execCommand,omitempty"`
SftpCommand template.Strings `yaml:"sftpCommand,omitempty"`
Directory template.String `yaml:"directory"`
User template.String `yaml:"user,omitempty"`
Group template.String `yaml:"group,omitempty"`
Banner template.String `yaml:"banner,omitempty"`
PortForwardingAllowed template.Bool `yaml:"portForwardingAllowed,omitempty"`
CleanOrphan template.Bool `yaml:"cleanOrphan,omitempty"`
}
func (EnvironmentKubernetes) FeatureFlags ¶ added in v0.5.0
func (this EnvironmentKubernetes) FeatureFlags() []string
func (EnvironmentKubernetes) IsEqualTo ¶ added in v0.5.0
func (this EnvironmentKubernetes) IsEqualTo(other any) bool
func (*EnvironmentKubernetes) SetDefaults ¶ added in v0.5.0
func (this *EnvironmentKubernetes) SetDefaults() error
func (EnvironmentKubernetes) SupportsEnvironmentVariables ¶
func (this EnvironmentKubernetes) SupportsEnvironmentVariables() bool
func (*EnvironmentKubernetes) Trim ¶ added in v0.5.0
func (this *EnvironmentKubernetes) Trim() error
func (EnvironmentKubernetes) Types ¶ added in v0.5.0
func (this EnvironmentKubernetes) Types() []string
func (*EnvironmentKubernetes) UnmarshalYAML ¶ added in v0.5.0
func (this *EnvironmentKubernetes) UnmarshalYAML(node *yaml.Node) error
func (*EnvironmentKubernetes) Validate ¶ added in v0.5.0
func (this *EnvironmentKubernetes) Validate() error
type EnvironmentLocal ¶
type EnvironmentLocal struct {
User UserRequirementTemplate `yaml:",inline"`
EnvironmentLocalCommon `yaml:",inline"`
}
func (EnvironmentLocal) FeatureFlags ¶ added in v0.2.0
func (this EnvironmentLocal) FeatureFlags() []string
func (EnvironmentLocal) IsEqualTo ¶
func (this EnvironmentLocal) IsEqualTo(other any) bool
func (*EnvironmentLocal) SetDefaults ¶
func (this *EnvironmentLocal) SetDefaults() error
func (EnvironmentLocal) SupportsEnvironmentVariables ¶
func (this EnvironmentLocal) SupportsEnvironmentVariables() bool
func (*EnvironmentLocal) Trim ¶
func (this *EnvironmentLocal) Trim() error
func (EnvironmentLocal) Types ¶ added in v0.2.0
func (this EnvironmentLocal) Types() []string
func (*EnvironmentLocal) UnmarshalYAML ¶
func (this *EnvironmentLocal) UnmarshalYAML(node *yaml.Node) error
func (*EnvironmentLocal) Validate ¶
func (this *EnvironmentLocal) Validate() error
type EnvironmentLocalCommon ¶
type EnvironmentLocalCommon struct {
LoginAllowed template.Bool `yaml:"loginAllowed,omitempty"`
CreateIfAbsent template.Bool `yaml:"createIfAbsent,omitempty"`
UpdateIfDifferent template.Bool `yaml:"updateIfDifferent,omitempty"`
ManagedGroup string `yaml:"managedGroup,omitempty"`
ManageSystemUsers template.Bool `yaml:"manageSystemUsers,omitempty"`
DeleteOnDispose template.Bool `yaml:"deleteOnDispose,omitempty"`
DeleteHomeTogetherWithUser template.Bool `yaml:"deleteHomeTogetherWithUser,omitempty"`
KillProcessesOnDispose template.Bool `yaml:"killProcessesOnDispose,omitempty"`
Dispose EnvironmentLocalDispose `yaml:"dispose,omitempty"`
Banner template.String `yaml:"banner,omitempty"`
PortForwardingAllowed template.Bool `yaml:"portForwardingAllowed,omitempty"`
ShellCommand template.Strings `yaml:"shellCommand,omitempty"`
ExecCommandPrefix template.Strings `yaml:"execCommandPrefix,omitempty"`
Directory template.String `yaml:"directory,omitempty"`
}
func (EnvironmentLocalCommon) IsEqualTo ¶
func (this EnvironmentLocalCommon) IsEqualTo(other any) bool
func (*EnvironmentLocalCommon) SetDefaults ¶
func (this *EnvironmentLocalCommon) SetDefaults() error
func (*EnvironmentLocalCommon) Trim ¶
func (this *EnvironmentLocalCommon) Trim() error
func (*EnvironmentLocalCommon) Validate ¶
func (this *EnvironmentLocalCommon) Validate() error
type EnvironmentLocalDispose ¶
type EnvironmentLocalDispose struct {
DeleteOnDispose template.Bool `yaml:"deleteOnDispose,omitempty"`
DeleteManagedUser template.Bool `yaml:"deleteManagedUser,omitempty"`
DeleteManagedUserHomeDir template.Bool `yaml:"deleteManagedUserHomeDir,omitempty"`
KillManagedUserProcesses template.Bool `yaml:"killManagedUserProcesses,omitempty"`
}
func (EnvironmentLocalDispose) IsEqualTo ¶
func (this EnvironmentLocalDispose) IsEqualTo(other any) bool
func (*EnvironmentLocalDispose) SetDefaults ¶
func (this *EnvironmentLocalDispose) SetDefaults() error
func (*EnvironmentLocalDispose) Trim ¶
func (this *EnvironmentLocalDispose) Trim() error
func (*EnvironmentLocalDispose) UnmarshalYAML ¶
func (this *EnvironmentLocalDispose) UnmarshalYAML(node *yaml.Node) error
func (*EnvironmentLocalDispose) Validate ¶
func (this *EnvironmentLocalDispose) Validate() error
type EnvironmentSsh ¶
type EnvironmentSsh struct {
Address template.String `yaml:"address"`
User template.String `yaml:"user"`
Os sys.Os `yaml:"os,omitempty"`
KnownHosts crypto.KnownHosts `yaml:"knownHosts,omitempty"`
KnownHostsFile crypto.KnownHostsFile `yaml:"knownHostsFile,omitempty"`
AcceptAllHostKeys bool `yaml:"acceptAllHostKeys,omitempty"`
IdentityFiles template.Strings `yaml:"identityFiles,omitempty"`
Certificate *EnvironmentSshCertificate `yaml:"certificate,omitempty"`
ConnectTimeout template.Duration `yaml:"connectTimeout,omitempty"`
LoginAllowed template.Bool `yaml:"loginAllowed,omitempty"`
Banner template.String `yaml:"banner,omitempty"`
PortForwardingAllowed template.Bool `yaml:"portForwardingAllowed,omitempty"`
ReversePortForwardingAllowed template.Bool `yaml:"reversePortForwardingAllowed,omitempty"`
AllowedSubsystems common.Regexp `yaml:"allowedSubsystems"`
}
func (EnvironmentSsh) FeatureFlags ¶
func (this EnvironmentSsh) FeatureFlags() []string
func (EnvironmentSsh) IsEqualTo ¶
func (this EnvironmentSsh) IsEqualTo(other any) bool
func (*EnvironmentSsh) SetDefaults ¶
func (this *EnvironmentSsh) SetDefaults() error
func (EnvironmentSsh) SupportsEnvironmentVariables ¶
func (this EnvironmentSsh) SupportsEnvironmentVariables() bool
func (*EnvironmentSsh) Trim ¶
func (this *EnvironmentSsh) Trim() error
func (EnvironmentSsh) Types ¶
func (this EnvironmentSsh) Types() []string
func (*EnvironmentSsh) UnmarshalYAML ¶
func (this *EnvironmentSsh) UnmarshalYAML(node *yaml.Node) error
func (*EnvironmentSsh) Validate ¶
func (this *EnvironmentSsh) Validate() error
type EnvironmentSshCertificate ¶
type EnvironmentSshCertificate struct {
IdentityFile template.String `yaml:"identityFile,omitempty"`
AuthorityIdentityFile template.String `yaml:"authorityIdentityFile,omitempty"`
Validity template.Duration `yaml:"validity"`
ValidAfterSkew template.Duration `yaml:"validAfterSkew,omitempty"`
Audience template.String `yaml:"audience,omitempty"`
Principals template.Strings `yaml:"principals,omitempty"`
Extensions EnvironmentSshCertificateExtensions `yaml:"extensions,omitempty"`
}
func (EnvironmentSshCertificate) IsEqualTo ¶
func (this EnvironmentSshCertificate) IsEqualTo(other any) bool
func (*EnvironmentSshCertificate) SetDefaults ¶
func (this *EnvironmentSshCertificate) SetDefaults() error
func (*EnvironmentSshCertificate) Trim ¶
func (this *EnvironmentSshCertificate) Trim() error
func (*EnvironmentSshCertificate) UnmarshalYAML ¶
func (this *EnvironmentSshCertificate) UnmarshalYAML(node *yaml.Node) error
func (*EnvironmentSshCertificate) Validate ¶
func (this *EnvironmentSshCertificate) Validate() error
type EnvironmentSshCertificateExtensions ¶
func (EnvironmentSshCertificateExtensions) IsEqualTo ¶
func (this EnvironmentSshCertificateExtensions) IsEqualTo(other any) bool
func (EnvironmentSshCertificateExtensions) IsZero ¶
func (this EnvironmentSshCertificateExtensions) IsZero() bool
func (EnvironmentSshCertificateExtensions) Render ¶
func (this EnvironmentSshCertificateExtensions) Render(data any) (map[string]string, error)
func (*EnvironmentSshCertificateExtensions) SetDefaults ¶
func (this *EnvironmentSshCertificateExtensions) SetDefaults() error
func (*EnvironmentSshCertificateExtensions) Trim ¶
func (this *EnvironmentSshCertificateExtensions) Trim() error
func (EnvironmentSshCertificateExtensions) Validate ¶
func (this EnvironmentSshCertificateExtensions) Validate() error
type EnvironmentV ¶
type EnvironmentVFactory ¶ added in v0.2.0
type EnvironmentVFactory func() EnvironmentV
func RegisterEnvironmentV ¶ added in v0.2.0
func RegisterEnvironmentV(factory EnvironmentVFactory) EnvironmentVFactory
type EnvironmentVariableName ¶
type EnvironmentVariableName string
func (EnvironmentVariableName) Validate ¶
func (this EnvironmentVariableName) Validate() error
type EnvironmentVariables ¶
type EnvironmentVariables map[EnvironmentVariableName]template.String
func (EnvironmentVariables) IsEqualTo ¶
func (this EnvironmentVariables) IsEqualTo(other any) bool
func (EnvironmentVariables) IsZero ¶
func (this EnvironmentVariables) IsZero() bool
func (EnvironmentVariables) Render ¶
func (this EnvironmentVariables) Render(data any) (sys.EnvVars, error)
func (*EnvironmentVariables) SetDefaults ¶
func (this *EnvironmentVariables) SetDefaults() error
func (*EnvironmentVariables) Trim ¶
func (this *EnvironmentVariables) Trim() error
func (EnvironmentVariables) Validate ¶
func (this EnvironmentVariables) Validate() error
type EnvironmentVariablesAware ¶
type EnvironmentVariablesAware interface {
SupportsEnvironmentVariables() bool
}
type Flow ¶
type Flow struct {
// Name unique name within the while configuration which identifies the Flow.
Name FlowName `yaml:"name"`
// Auditlog references the audit log used by this flow.
Auditlog AuditlogName `yaml:"auditlog,omitempty"`
// Requirement represents all rules the connection has to meet to be able to be accepted by this flow.
Requirement Requirement `yaml:"requirement,omitempty"`
// Authorization defines how a connection can be authorized to get access to this flow.
Authorization Authorization `yaml:"authorization"`
// Environment defines to which Environment the connection will be connected ones every step before was successful.
Environment Environment `yaml:"environment"`
}
Flow represents a dedicated flow within the service.
Each flow has a unique Name where it can be identified with.
Steps ¶
It follows the follows steps:
- Check if the current connection meet the defined Requirement.
- Register a new session or use an existing one based on Session configuration (configured via root Configuration - because is used by every flow together).
- Try to authorize the current connection based on Authorization.
- If it was successfully authorized create and run a new Environment.
func (*Flow) SetDefaults ¶
type Flows ¶
type Flows []Flow
Flows defines a set of Flow instances.
func (*Flows) SetDefaults ¶
func (*Flows) UnmarshalYAML ¶ added in v0.4.0
type GroupRequirementTemplate ¶
type GroupRequirementTemplate struct {
Gid *template.TextMarshaller[user.GroupId, *user.GroupId] `yaml:"gid,omitempty"`
Name template.String `yaml:"name,omitempty"`
}
func (GroupRequirementTemplate) IsEqualTo ¶
func (this GroupRequirementTemplate) IsEqualTo(other any) bool
func (GroupRequirementTemplate) Render ¶
func (this GroupRequirementTemplate) Render(key common.StructuredKey, data any) (result user.GroupRequirement, err error)
func (*GroupRequirementTemplate) SetDefaults ¶
func (this *GroupRequirementTemplate) SetDefaults() error
func (*GroupRequirementTemplate) Trim ¶
func (this *GroupRequirementTemplate) Trim() error
func (*GroupRequirementTemplate) UnmarshalYAML ¶
func (this *GroupRequirementTemplate) UnmarshalYAML(node *yaml.Node) error
func (*GroupRequirementTemplate) Validate ¶
func (this *GroupRequirementTemplate) Validate() error
type GroupRequirementTemplates ¶
type GroupRequirementTemplates []GroupRequirementTemplate
func (GroupRequirementTemplates) IsEqualTo ¶
func (this GroupRequirementTemplates) IsEqualTo(other any) bool
func (GroupRequirementTemplates) Render ¶
func (this GroupRequirementTemplates) Render(key common.StructuredKey, data any) (result user.GroupRequirements, err error)
func (*GroupRequirementTemplates) SetDefaults ¶
func (this *GroupRequirementTemplates) SetDefaults() error
func (*GroupRequirementTemplates) Trim ¶
func (this *GroupRequirementTemplates) Trim() error
func (*GroupRequirementTemplates) UnmarshalYAML ¶ added in v0.4.0
func (this *GroupRequirementTemplates) UnmarshalYAML(node *yaml.Node) error
func (GroupRequirementTemplates) Validate ¶
func (this GroupRequirementTemplates) Validate() error
type HouseKeeping ¶
type HouseKeeping struct {
Every common.Duration `yaml:"every"`
InitialDelay common.Duration `yaml:"initialDelay"`
// AutoRepair tells the housekeeping service to repair/cleanup broken or
// unwanted stuff automatically, if possible. Defaults to DefaultHouseKeepingAutoRepair.
AutoRepair bool `yaml:"autoRepair"`
// KeepExpiredFor defines for how long a session should be kept before it will finally delete, although it
// is already expired. In case of 0 it will be deleted immediately.
// Defaults to DefaultHouseKeepingKeepExpiredFor
KeepExpiredFor common.Duration `yaml:"keepExpiredFor"`
}
func (HouseKeeping) IsEqualTo ¶
func (this HouseKeeping) IsEqualTo(other any) bool
func (*HouseKeeping) SetDefaults ¶
func (this *HouseKeeping) SetDefaults() error
func (*HouseKeeping) Trim ¶
func (this *HouseKeeping) Trim() error
func (*HouseKeeping) UnmarshalYAML ¶
func (this *HouseKeeping) UnmarshalYAML(node *yaml.Node) error
func (*HouseKeeping) Validate ¶
func (this *HouseKeeping) Validate() error
type Keys ¶
type Keys struct {
HostKeys template.Strings `yaml:"hostKeys"`
Exchanges ssh.KeyExchanges `yaml:"exchanges"`
RsaRestriction crypto.RsaRestriction `yaml:"rsaRestriction"`
DsaRestriction crypto.DsaRestriction `yaml:"dsaRestriction"`
EcdsaRestriction crypto.EcdsaRestriction `yaml:"ecdsaRestriction"`
Ed25519Restriction crypto.Ed25519Restriction `yaml:"ed25519Restriction"`
RememberMeNotification template.String `yaml:"rememberMeNotification"`
}
func (*Keys) SetDefaults ¶
type LocationError ¶
func (*LocationError) Error ¶
func (this *LocationError) Error() string
func (*LocationError) Unwrap ¶
func (this *LocationError) Unwrap() error
type Messages ¶ added in v0.6.0
type Messages struct {
Authentications ssh.MessageAuthentications `yaml:"authentications"`
Ciphers ssh.Ciphers `yaml:"ciphers"`
}
func (*Messages) SetDefaults ¶ added in v0.6.0
func (*Messages) UnmarshalYAML ¶ added in v0.6.0
type PasswordProperties ¶ added in v0.2.0
type PasswordProperties struct {
Allowed template.Bool `yaml:"allowed"`
InteractiveAllowed template.Bool `yaml:"interactiveAllowed"`
EmptyAllowed template.Bool `yaml:"emptyAllowed"`
}
func (PasswordProperties) IsEqualTo ¶ added in v0.2.0
func (this PasswordProperties) IsEqualTo(other any) bool
func (*PasswordProperties) SetDefaults ¶ added in v0.2.0
func (this *PasswordProperties) SetDefaults() error
func (*PasswordProperties) Trim ¶ added in v0.2.0
func (this *PasswordProperties) Trim() error
func (*PasswordProperties) UnmarshalYAML ¶ added in v0.2.0
func (this *PasswordProperties) UnmarshalYAML(node *yaml.Node) error
func (*PasswordProperties) Validate ¶ added in v0.2.0
func (this *PasswordProperties) Validate() error
type PreparationMessage ¶ added in v0.4.0
type PreparationMessage struct {
Id common.Regexp `yaml:"id,omitempty"`
Flow common.Regexp `yaml:"flow,omitempty"`
Start template.String `yaml:"start,omitempty"`
Update template.String `yaml:"update,omitempty"`
End template.String `yaml:"end,omitempty"`
Error template.String `yaml:"error,omitempty"`
}
func (PreparationMessage) IsEqualTo ¶ added in v0.4.0
func (this PreparationMessage) IsEqualTo(other any) bool
func (*PreparationMessage) SetDefaults ¶ added in v0.4.0
func (this *PreparationMessage) SetDefaults() error
func (*PreparationMessage) Trim ¶ added in v0.4.0
func (this *PreparationMessage) Trim() error
func (*PreparationMessage) UnmarshalYAML ¶ added in v0.4.0
func (this *PreparationMessage) UnmarshalYAML(node *yaml.Node) error
func (*PreparationMessage) Validate ¶ added in v0.4.0
func (this *PreparationMessage) Validate() error
type PreparationMessages ¶ added in v0.4.0
type PreparationMessages []PreparationMessage
PreparationMessages defines a set of PreparationMessage instances.
func (PreparationMessages) IsEqualTo ¶ added in v0.4.0
func (this PreparationMessages) IsEqualTo(other any) bool
func (*PreparationMessages) SetDefaults ¶ added in v0.4.0
func (this *PreparationMessages) SetDefaults() error
func (*PreparationMessages) Trim ¶ added in v0.4.0
func (this *PreparationMessages) Trim() error
func (*PreparationMessages) UnmarshalYAML ¶ added in v0.4.0
func (this *PreparationMessages) UnmarshalYAML(node *yaml.Node) error
func (PreparationMessages) Validate ¶ added in v0.4.0
func (this PreparationMessages) Validate() error
type PullPolicy ¶ added in v0.4.0
type PullPolicy uint8
const ( PullPolicyIfAbsent PullPolicy = iota PullPolicyAlways PullPolicyNever )
func (PullPolicy) Clone ¶ added in v0.4.0
func (this PullPolicy) Clone() PullPolicy
func (PullPolicy) IsEqualTo ¶ added in v0.4.0
func (this PullPolicy) IsEqualTo(other any) bool
func (PullPolicy) IsZero ¶ added in v0.4.0
func (this PullPolicy) IsZero() bool
func (PullPolicy) MarshalText ¶ added in v0.4.0
func (this PullPolicy) MarshalText() (text []byte, err error)
func (*PullPolicy) Set ¶ added in v0.4.0
func (this *PullPolicy) Set(text string) error
func (PullPolicy) String ¶ added in v0.4.0
func (this PullPolicy) String() string
func (*PullPolicy) UnmarshalText ¶ added in v0.4.0
func (this *PullPolicy) UnmarshalText(text []byte) error
func (PullPolicy) Validate ¶ added in v0.4.0
func (this PullPolicy) Validate() error
type Ref ¶ added in v0.5.0
type Ref struct {
// contains filtered or unexported fields
}
func (*Ref) Get ¶ added in v0.5.0
func (this *Ref) Get() *Configuration
func (*Ref) GetFilename ¶ added in v0.5.0
func (*Ref) MakeAbsolute ¶ added in v0.5.0
func (Ref) MarshalText ¶ added in v0.5.0
func (*Ref) UnmarshalText ¶ added in v0.5.0
type Requirement ¶
type Requirement struct {
IncludedRequestingName common.Regexp `yaml:"includedRequestingName,omitempty"`
ExcludedRequestingName common.Regexp `yaml:"excludedRequestingName,omitempty"`
}
func (Requirement) IsEqualTo ¶
func (this Requirement) IsEqualTo(other any) bool
func (*Requirement) SetDefaults ¶
func (this *Requirement) SetDefaults() error
func (*Requirement) Trim ¶
func (this *Requirement) Trim() error
func (*Requirement) UnmarshalYAML ¶
func (this *Requirement) UnmarshalYAML(node *yaml.Node) error
func (*Requirement) Validate ¶
func (this *Requirement) Validate() error
type Session ¶
type Session struct {
V SessionV
}
func (*Session) MarshalYAML ¶
func (*Session) SetDefaults ¶
type SessionFs ¶
type SessionFs struct {
// IdleTimeout represents the duration a session can be idle until it will be forcibly closed,
// cleaned up and no new access is possible. 0 means no limitation at all.
// Defaults to DefaultSessionIdleTimeout
IdleTimeout common.Duration `yaml:"idleTimeout"`
// MaxTimeout represents the maximum duration a whole session can last, regardless if it is idle
// or active until it will be forcibly closed, cleaned up and no new access is possible. 0 means
// no limitation at all. Defaults to DefaultSessionMaxTimeout
MaxTimeout common.Duration `yaml:"maxTimeout"`
// MaxConnections represents the maximum amount of connections that are related to one session. More than
// this amount means that all new connections will be forcibly closed while connection process.
// 0 means no limitation at all. Defaults to DefaultSessionMaxConnections
MaxConnections uint16 `yaml:"maxConnections"`
// Storage defines where are session.Fs are stored. Defaults to DefaultSessionFsStorage
Storage string `yaml:"storage"`
// FileMode defines with which permissions the files should be stored. Defaults to DefaultSessionFsFileMode.
FileMode sys.FileMode `yaml:"fileMode"`
}
SessionFs defines an implementation of Session on file system base.
func (SessionFs) FeatureFlags ¶ added in v0.2.0
func (*SessionFs) SetDefaults ¶
type SessionVFactory ¶ added in v0.2.0
type SessionVFactory func() SessionV
func RegisterSessionV ¶ added in v0.2.0
func RegisterSessionV(factory SessionVFactory) SessionVFactory
type Ssh ¶
type Ssh struct {
// Addresses which the service will bind to. This can be more than one but at least one.
// Defaults to DefaultSshAddresses.
Addresses net.NetAddresses `yaml:"addresses"`
// Keys represents all key related settings of the service.
Keys Keys `yaml:"keys"`
// Messages represents all message related settings of the service.
Messages Messages `yaml:"messages"`
// IdleTimeout represents the duration a connection can be idle until it will be forcibly closed.
// 0 means no limitation at all. Defaults to DefaultSshIdleTimeout.
IdleTimeout common.Duration `yaml:"idleTimeout"`
// MaxTimeout represents the maximum duration a whole connection can last, regardless if it is idle or active
// until it will be forcibly closed. 0 means no limitation at all. Defaults to DefaultSshMaxTimeout.
MaxTimeout common.Duration `yaml:"maxTimeout"`
// GracefulShutdownTimeout represents how long active connections may finish during a graceful shutdown before
// they are forcibly closed. 0 disables graceful shutdown. Defaults to DefaultSshGracefulShutdownTimeout.
GracefulShutdownTimeout common.Duration `yaml:"gracefulShutdownTimeout"`
// HandshakeTimeout represents the maximum duration until a connection has authenticated successfully.
// 0 means no limitation at all. Defaults to DefaultSshHandshakeTimeout.
HandshakeTimeout common.Duration `yaml:"handshakeTimeout"`
// SessionRequestTimeout represents how long an accepted session channel may wait for its initial shell, exec or
// subsystem request. 0 means no limitation at all. Defaults to DefaultSshSessionRequestTimeout.
SessionRequestTimeout common.Duration `yaml:"sessionRequestTimeout"`
// MaxAuthTries represents the maximum amount of tries a client can do while a connection with different
// authorizations before the connection will be forcibly closed. 0 means no limitation at all.
// Defaults to DefaultSshMaxAuthTries.
MaxAuthTries uint8 `yaml:"maxAuthTries"`
// MaxConnections defines how many connection can be connected to this service in parallel. If there is a new
// connection created which exceeds this number, this will be closed immediately.
// Defaults to DefaultSshMaxConnections.
MaxConnections uint32 `yaml:"maxConnections"`
// MaxStartupsStart defines how many unauthenticated connections per listener are accepted before random early drop starts.
// Defaults to DefaultSshMaxStartupsStart.
MaxStartupsStart uint16 `yaml:"maxStartupsStart"`
// MaxStartupsRate defines the initial drop probability in percent once MaxStartupsStart is reached.
// Defaults to DefaultSshMaxStartupsRate.
MaxStartupsRate uint8 `yaml:"maxStartupsRate"`
// MaxStartupsFull defines the maximum amount of unauthenticated connections. 0 disables the complete
// pre-authentication connection limit. Defaults to DefaultSshMaxStartupsFull.
MaxStartupsFull uint16 `yaml:"maxStartupsFull"`
// MaxSessionsPerConnection defines the maximum amount of active session channels per connection.
// 0 means no limitation at all. Defaults to DefaultSshMaxSessionsPerConnection.
MaxSessionsPerConnection uint16 `yaml:"maxSessionsPerConnection"`
// MaxChannelsPerConnection defines the maximum amount of active channels per connection.
// 0 means no limitation at all. Defaults to DefaultSshMaxChannelsPerConnection.
MaxChannelsPerConnection uint16 `yaml:"maxChannelsPerConnection"`
// MaxReverseForwardsPerConnection defines the maximum amount of active reverse forwards per connection.
// 0 means no limitation at all. Defaults to DefaultSshMaxReverseForwardsPerConnection.
MaxReverseForwardsPerConnection uint16 `yaml:"maxReverseForwardsPerConnection"`
// MaxChannels defines the maximum amount of active channels per SSH listener.
// 0 means no limitation at all. Defaults to DefaultSshMaxChannels.
MaxChannels uint16 `yaml:"maxChannels"`
// MaxReverseForwards defines the maximum amount of active reverse forwards per SSH listener.
// 0 means no limitation at all. Defaults to DefaultSshMaxReverseForwards.
MaxReverseForwards uint16 `yaml:"maxReverseForwards"`
// UnauthenticatedAudit limits detailed audit records produced before authentication has been proven.
UnauthenticatedAudit SshUnauthenticatedAudit `yaml:"unauthenticatedAudit,omitempty"`
// ProxyProtocol defines if the proxy protocol should be respected.
ProxyProtocol bool `yaml:"proxyProtocol,omitempty"`
// Banner will be displayed if the clients connects to the server before any other action takes place.
Banner template.String `yaml:"banner,omitempty"`
// PreparationMessages will be displayed if any kind of preparation is required before the ssh session can
// finally be used.
PreparationMessages PreparationMessages `yaml:"preparationMessages,omitempty"`
}
Ssh defines how the ssh part of the service should be defined.
func (*Ssh) SetDefaults ¶
type SshUnauthenticatedAudit ¶
type SshUnauthenticatedAudit struct {
Interval common.Duration `yaml:"interval"`
PerSourceLimit uint16 `yaml:"perSourceLimit"`
GlobalLimit uint16 `yaml:"globalLimit"`
}
SshUnauthenticatedAudit bounds detailed audit writes before a client has proven authentication. Each limit is both the token bucket capacity and the number of tokens refilled over Interval.
func (SshUnauthenticatedAudit) IsEqualTo ¶
func (this SshUnauthenticatedAudit) IsEqualTo(other any) bool
func (*SshUnauthenticatedAudit) SetDefaults ¶
func (this *SshUnauthenticatedAudit) SetDefaults() error
func (*SshUnauthenticatedAudit) Trim ¶
func (this *SshUnauthenticatedAudit) Trim() error
func (*SshUnauthenticatedAudit) UnmarshalYAML ¶
func (this *SshUnauthenticatedAudit) UnmarshalYAML(node *yaml.Node) error
func (*SshUnauthenticatedAudit) Validate ¶
func (this *SshUnauthenticatedAudit) Validate() error
type UserCertificateAuthorityProperties ¶
type UserCertificateAuthorityProperties struct {
TrustedUserCAs crypto.PublicKeys `yaml:"trustedUserCAs,omitempty"`
TrustedUserCAsFile crypto.PublicKeysFile `yaml:"trustedUserCAsFile,omitempty"`
}
func (UserCertificateAuthorityProperties) IsEqualTo ¶
func (this UserCertificateAuthorityProperties) IsEqualTo(other any) bool
func (*UserCertificateAuthorityProperties) SetDefaults ¶
func (this *UserCertificateAuthorityProperties) SetDefaults() error
func (*UserCertificateAuthorityProperties) Trim ¶
func (this *UserCertificateAuthorityProperties) Trim() error
func (*UserCertificateAuthorityProperties) Validate ¶
func (this *UserCertificateAuthorityProperties) Validate() error
type UserRequirementTemplate ¶
type UserRequirementTemplate struct {
Name template.String `yaml:"name,omitempty"`
DisplayName template.String `yaml:"displayName,omitempty"`
Uid *template.TextMarshaller[user.Id, *user.Id] `yaml:"uid,omitempty"`
Group GroupRequirementTemplate `yaml:"group,omitempty"`
Groups GroupRequirementTemplates `yaml:"groups,omitempty"`
Shell template.String `yaml:"shell,omitempty"`
HomeDir template.String `yaml:"homeDir,omitempty"`
Skel template.String `yaml:"skel,omitempty"`
}
func (UserRequirementTemplate) IsEqualTo ¶
func (this UserRequirementTemplate) IsEqualTo(other any) bool
func (UserRequirementTemplate) Render ¶
func (this UserRequirementTemplate) Render(key common.StructuredKey, data any) (_ *user.Requirement, err error)
func (*UserRequirementTemplate) SetDefaults ¶
func (this *UserRequirementTemplate) SetDefaults() error
func (*UserRequirementTemplate) Trim ¶
func (this *UserRequirementTemplate) Trim() error
func (*UserRequirementTemplate) UnmarshalYAML ¶
func (this *UserRequirementTemplate) UnmarshalYAML(node *yaml.Node) error
func (*UserRequirementTemplate) Validate ¶
func (this *UserRequirementTemplate) Validate() error
Source Files
¶
- alternatives.go
- alternatives_unix.go
- auditlog-failure-policy.go
- auditlog-name.go
- auditlog-recording.go
- auditlog-recording_unix.go
- auditlog-target-name.go
- auditlog-target-s3.go
- auditlog-target-sftp.go
- auditlog-target-webdav.go
- auditlog-target.go
- auditlog.go
- auditlog_unix.go
- authorization-bifroest.go
- authorization-htpasswd.go
- authorization-htpasswd_unix.go
- authorization-local.go
- authorization-local_pam_unix.go
- authorization-local_with_pam.go
- authorization-none.go
- authorization-oidc-auth.go
- authorization-simple-entry.go
- authorization-simple.go
- authorization.go
- configuration.go
- environment-docker.go
- environment-dummy.go
- environment-kubernetes.go
- environment-local-dispose.go
- environment-local.go
- environment-local_unix.go
- environment-ssh-certificate.go
- environment-ssh.go
- environment-variables.go
- environment.go
- flow-key.go
- flow.go
- group-requirement-template.go
- housekeeping.go
- keys.go
- keys_unix.go
- messages.go
- password-properties.go
- preparation-message.go
- pull-policy.go
- ref.go
- requirement.go
- session-fs.go
- session-fs_unix.go
- session.go
- ssh.go
- support.go
- user-certificate-authority-properties.go
- user-requirement-template.go