Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( BuildInfo *debug.BuildInfo Version string VersionLink string UserAgent = userAgentPrefix Hostname = "no-hostname" )
Functions ¶
Types ¶
type Config ¶
type Config struct {
Database string
HTTPBind string `default:":8080"`
BaseURL string
SessionKey string
Keycloak Keycloak
FreeIPA FreeIPA `env:"FREEIPA"`
UserGroups UserGroups
SupportContact string
Stripe Stripe
Matrix Matrix
Pictrs Pictrs
InviteCodeLength int `default:"10"`
DirectoryImplementation string `default:"freeipa"`
}
var C Config
type Keycloak ¶
type Keycloak struct {
ClientID string `env:"CLIENT_ID"`
ClientSecret string
URL string `env:"URL"`
Realm string
Scopes []string
// contains filtered or unexported fields
}
func (Keycloak) GetLogoutURL ¶
type Matrix ¶
type Matrix struct {
BotUser string
BotPassword string // TODO: find a better way to do machine auth
BotHomeserver string // TODO: find better names for BotHomeserver/HumanHomeserver to make it clear that BotHomeserver wants a URL (https://) and HumanHomeserver wants the sender part of an MXID
HumanHomeserver string
Rooms MatrixRooms
LobbyMaxLurkDays int `default:"21"`
LobbyTrustReactionEmoji string `default:"👾"`
}
type MatrixNewsFeedRooms ¶
type MatrixRooms ¶
type UserGroups ¶
type UserGroups struct {
Members string `default:"members"`
Admins string `default:"admins"`
ApprovedForMembership string `default:"approved-for-membership"`
// ManagableGroups defines Which groups people can be added to via this service, and who can manage who's in those groups.
// Admins can manage all groups
ManagableGroups map[string][]string
// TODO: fetch this from Keycloak
Descriptions map[string]string
}
make sure to add any new entires here to the allGroups slice of `initializeGroups()` in keycloakx/groups.go
Click to show internal directories.
Click to hide internal directories.