Documentation ¶
Index ¶
- Constants
- Variables
- func GetSupportedAuthorizationFeatureFlags() []string
- func GetSupportedEnvironmentFeatureFlags() []string
- func GetSupportedSessionFeatureFlags() []string
- type Alternatives
- 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 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) 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 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 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) 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) 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) Trim() error
- func (this EnvironmentLocal) Types() []string
- func (this *EnvironmentLocal) UnmarshalYAML(node *yaml.Node) error
- func (this *EnvironmentLocal) Validate() error
- type EnvironmentLocalDispose
- type EnvironmentV
- type EnvironmentVFactory
- 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 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 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 ¶
View Source
const (
DefaultHostKeyLocation = "/etc/engity/bifroest/key"
)
Variables ¶
View Source
var ( DefaultAlternativesDownloadUrl = template.MustNewUrl("https://github.com/engity-com/bifroest/releases/download/v{{.version}}/bifroest-{{.os}}-{{.arch}}-{{.edition}}{{.packageExt}}") DefaultAlternativesLocation = template.MustNewString(defaultAlternativesLocation) )
View Source
var ( DefaultAuthorizationLocalPamService = defaultAuthorizationLocalPamService DefaultAuthorizationLocalAuthorizedKeys = template.MustNewStrings("{{.user.homeDir}}/.ssh/authorized_keys") )
View Source
var ( DefaultAuthorizationOidcDefaultIssuer = template.MustNewUrl("") DefaultAuthorizationOidcDefaultClientId = template.MustNewString("") DefaultAuthorizationOidcDefaultClientSecret = template.MustNewString("") DefaultAuthorizationOidcScopes = template.MustNewStrings(oidc.ScopeOpenID, "profile", "email") DefaultAuthorizationOidcRetrieveIdToken = true DefaultAuthorizationOidcRetrieveUserInfo = false )
View Source
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) )
View Source
var ( DefaultEnvironmentDummyExitCode = template.Int64Of(0) DefaultEnvironmentDummyBanner = template.MustNewString("") )
View Source
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) )
View Source
var ( DefaultEnvironmentLocalDisposeDeleteManagedUser = template.BoolOf(true) DefaultEnvironmentLocalDisposeDeleteManagedUserHomeDir = template.BoolOf(true) DefaultEnvironmentLocalDisposeKillManagedUserProcesses = template.BoolOf(true) )
View Source
var ( DefaultEnvironmentLocalLoginAllowed = template.BoolOf(true) DefaultEnvironmentLocalBanner = template.MustNewString("") DefaultEnvironmentLocalPortForwardingAllowed = template.BoolOf(true) )
View Source
var ( DefaultEnvironmentLocalCreateIfAbsent = template.BoolOf(false) DefaultEnvironmentLocalUpdateIfDifferent = template.BoolOf(false) )
View Source
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) )
View Source
var ( DefaultHostKeyLocations = template.MustNewStrings(DefaultHostKeyLocation) 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") )
View Source
var ( DefaultPasswordAllowed = template.BoolOf(true) DefaultPasswordInteractiveAllowed = template.BoolOf(true) DefaultPasswordEmptyAllowed = template.BoolOf(false) )
View Source
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") )
View Source
var ( DefaultRequirementIncludedRequestingName = common.MustNewRegexp("") DefaultRequirementExcludedRequestingName = common.MustNewRegexp("") )
View Source
var ( // DefaultSessionFsStorage is the default setting for SessionFs.Storage. DefaultSessionFsStorage = defaultSessionFsStorage // DefaultSessionFsFileMode is the default setting for SessionFs.FileMode. DefaultSessionFsFileMode = sys.FileMode(0600) )
View Source
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 )
View Source
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) // DefaultSshMaxAuthTries is the default setting for Ssh.MaxAuthTries. DefaultSshMaxAuthTries = uint8(6) // DefaultSshMaxConnections is the default setting for Ssh.MaxConnections. DefaultSshMaxConnections = uint32(255) // 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` }}") )
View Source
var (
DefaultAuthorizationHtpasswdFile = defaultAuthorizationHtpasswdFile
)
View Source
var (
DefaultGroupRequirementName = template.MustNewString("managed")
)
View Source
var (
DefaultStartMessage = template.MustNewString("")
)
Functions ¶
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
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 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 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 { 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"` }
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) 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 AuthorizationSimple ¶ added in v0.2.0
type AuthorizationSimple struct {
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 Configuration ¶
type Configuration struct { 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 {
V EnvironmentV
}
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) 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) 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"` LoginAllowed template.Bool `yaml:"loginAllowed,omitempty"` CreateIfAbsent template.Bool `yaml:"createIfAbsent,omitempty"` UpdateIfDifferent template.Bool `yaml:"updateIfDifferent,omitempty"` Dispose EnvironmentLocalDispose `yaml:"dispose"` Banner template.String `yaml:"banner,omitempty"` PortForwardingAllowed template.Bool `yaml:"portForwardingAllowed,omitempty"` }
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) 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 EnvironmentLocalDispose ¶
type EnvironmentLocalDispose struct { 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 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 Flow ¶
type Flow struct { // Name unique name within the while configuration which identifies the Flow. Name FlowName `yaml:"name"` // 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 ¶
func (*Flow) UnmarshalYAML ¶
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"` 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 ¶
func (*Keys) UnmarshalYAML ¶
type LocationError ¶
func (*LocationError) Error ¶
func (this *LocationError) Error() string
func (*LocationError) Unwrap ¶
func (this *LocationError) Unwrap() error
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 ¶
func (*Session) UnmarshalYAML ¶
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 ¶
func (*SessionFs) UnmarshalYAML ¶
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"` // 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"` // 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"` // 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 ¶
func (*Ssh) UnmarshalYAML ¶
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
- authorization-htpasswd.go
- authorization-htpasswd_unix.go
- authorization-local.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.go
- flow-key.go
- flow.go
- group-requirement-template.go
- housekeeping.go
- keys.go
- keys_unix.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-requirement-template.go
Click to show internal directories.
Click to hide internal directories.