config

package
v0.0.0-...-dab6a98 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2026 License: GPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Admin

type Admin User

type Box

type Box struct {
	Name string
	IP   string

	// Internal use but not in config file
	Runners []checks.Runner `toml:"-" json:"-"`

	// Service check definitions
	Custom []*checks.Custom `toml:"Custom,omitempty" json:"custom,omitempty"`
	Dns    []*checks.Dns    `toml:"Dns,omitempty" json:"dns,omitempty"`
	Ftp    []*checks.Ftp    `toml:"Ftp,omitempty" json:"ftp,omitempty"`
	Imap   []*checks.Imap   `toml:"Imap,omitempty" json:"imap,omitempty"`
	Ldap   []*checks.Ldap   `toml:"Ldap,omitempty" json:"ldap,omitempty"`
	Ping   []*checks.Ping   `toml:"Ping,omitempty" json:"ping,omitempty"`
	Pop3   []*checks.Pop3   `toml:"Pop3,omitempty" json:"pop3,omitempty"`
	Rdp    []*checks.Rdp    `toml:"Rdp,omitempty" json:"rdp,omitempty"`
	Smb    []*checks.Smb    `toml:"Smb,omitempty" json:"smb,omitempty"`
	Smtp   []*checks.Smtp   `toml:"Smtp,omitempty" json:"smtp,omitempty"`
	Sql    []*checks.Sql    `toml:"Sql,omitempty" json:"sql,omitempty"`
	Ssh    []*checks.Ssh    `toml:"Ssh,omitempty" json:"ssh,omitempty"`
	Tcp    []*checks.Tcp    `toml:"Tcp,omitempty" json:"tcp,omitempty"`
	Vnc    []*checks.Vnc    `toml:"Vnc,omitempty" json:"vnc,omitempty"`
	Web    []*checks.Web    `toml:"Web,omitempty" json:"web,omitempty"`
	WinRM  []*checks.WinRM  `toml:"Winrm,omitempty" json:"winrm,omitempty"`
}

type ConfigSettings

type ConfigSettings struct {
	// General engine settings
	RequiredSettings RequiredConfig `toml:"RequiredSettings,omitempty" json:"RequiredSettings,omitempty"`

	// Credlists settings
	CredlistSettings CredlistConfig `toml:"CredlistSettings,omitempty" json:"CredlistSettings,omitempty"`

	// LDAP settings
	LdapSettings LdapAuthConfig `toml:"LdapSettings,omitempty" json:"LdapSettings,omitempty"`

	// OIDC settings
	OIDCSettings OIDCAuthConfig `toml:"OIDCSettings,omitempty" json:"OIDCSettings,omitempty"`

	// Optional settings
	SslSettings SslConfig `toml:"SslSettings,omitempty" json:"SslSettings,omitempty"`

	MiscSettings MiscConfig `toml:"MiscSettings,omitempty" json:"MiscSettings,omitempty"`

	// Restrict information
	UISettings UIConfig `toml:"UISettings,omitempty" json:"UISettings,omitempty"`

	// Inject schedule settings
	InjectSettings InjectConfig `toml:"InjectSettings,omitempty" json:"InjectSettings,omitempty"`

	Admin  []Admin
	Red    []Red
	Team   []Team
	Inject []Inject
	Box    []Box
}

func (*ConfigSettings) AllChecks

func (conf *ConfigSettings) AllChecks() []checks.Runner

Returns a flat list of all checks across all boxes.

func (*ConfigSettings) CompetitionStart

func (conf *ConfigSettings) CompetitionStart() (time.Time, error)

func (*ConfigSettings) SetConfig

func (conf *ConfigSettings) SetConfig(path string) error

Load in a config

func (*ConfigSettings) WatchConfig

func (conf *ConfigSettings) WatchConfig(path string) error

WatchConfig watches for changes to the config file

type Credlist

type Credlist struct {
	CredlistName        string
	CredlistPath        string
	CredlistExplainText string
}

type CredlistConfig

type CredlistConfig struct {
	Credlist []Credlist `toml:"Credlist,omitempty" json:"Credlist,omitempty"`
}

type Inject

type Inject User

type InjectConfig

type InjectConfig struct {
	CompetitionStartTime string
	CompetitionTimezone  string
}

type LdapAuthConfig

type LdapAuthConfig struct {
	LdapConnectUrl    string
	LdapBindDn        string
	LdapBindPassword  string
	LdapSearchBaseDn  string
	LdapAdminGroupDn  string
	LdapRedGroupDn    string
	LdapTeamGroupDn   string
	LdapInjectGroupDn string
}

type MiscConfig

type MiscConfig struct {
	EasyPCR             bool
	ShowDebugToBlueTeam bool
	Port                int
	LogoImage           string
	LogFile             string

	StartPaused bool

	// Round settings
	Delay  int
	Jitter int

	// Defaults for checks
	Points       int
	Timeout      int
	SlaThreshold int
	SlaPenalty   int
}

type OIDCAuthConfig

type OIDCAuthConfig struct {
	// Provider Configuration
	OIDCEnabled      bool
	OIDCIssuerURL    string
	OIDCClientID     string
	OIDCClientSecret string
	OIDCRedirectURL  string

	// Security Settings
	OIDCScopes []string

	// Group Mapping
	OIDCGroupClaim   string
	OIDCAdminGroups  []string
	OIDCRedGroups    []string
	OIDCTeamGroups   []string
	OIDCInjectGroups []string

	// Token Expiration Settings (in seconds)
	OIDCRefreshTokenExpiryTeam   int
	OIDCRefreshTokenExpiryAdmin  int
	OIDCRefreshTokenExpiryRed    int
	OIDCRefreshTokenExpiryInject int

	// UI Settings
	OIDCDisableLocalLogin bool
}

type Red

type Red User

type RequiredConfig

type RequiredConfig struct {
	EventName    string
	EventType    string
	DBConnectURL string
	BindAddress  string
}

type SslConfig

type SslConfig struct {
	HttpsCert string `toml:"httpscert,omitempty" json:"httpscert,omitempty"`
	HttpsKey  string `toml:"httpskey,omitempty" json:"httpskey,omitempty"`
}

type Team

type Team User

type UIConfig

type UIConfig struct {
	EnablePublicGraphs                  bool
	DisableGraphsForBlueTeam            bool
	AllowNonAnonymizedGraphsForBlueTeam bool
	ShowAnnouncementsForRedTeam         bool
}

type User

type User struct {
	Name string
	Pw   string
}

Jump to

Keyboard shortcuts

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