Documentation ¶
Index ¶
Constants ¶
const ( // TimeLayout is the layout which must follow all time strings stored to and retrieved from database. // It can be used with time.ParseInLocation() and time.Format(). Such time strings are perfectly comparable. // As they don't contain any time zone information, it should be always parsed with time.Local. // So, each time value inside gafaspot are interpreted in the local time zone of the running server. TimeLayout = "2006-01-02 15:04" // SecEngTypeAD is the type for Active Directory Secrets Engine. SecEngTypeAD = "ad" // SecEngTypeDB is the type for Database Secrets Engine. SecEngTypeDB = "database" // SecEngTypeOntap is the type for Ontap Secrets Engine. SecEngTypeOntap = "ontap" // SecEngTypeSSHPubkey is the type for SSH-Pubkey Secrets Engine. SecEngTypeSSHPubkey = "ssh-pubkey" // SecEngTypeSSH is the type for SSH Secrets Engine. SecEngTypeSSH = "ssh" )
Variables ¶
This section is empty.
Functions ¶
func CreatePlainIdentifier ¶
CreatePlainIdentifier replaces all characters which are not ascii letters oder numbers through an underscore
Types ¶
type Environment ¶
Environment is a struct to store the information of one row from database table environments. The Description is of type template.HTML, as this type will not be escaped when served with a golang http.Template. This enables the gafaspot config writer to put some HTML code inside the descriptions for the environments.
type EnvironmentConfig ¶
type EnvironmentConfig struct { NiceName string `mapstructure:"show-name"` Description string //`yaml:"description"` SecretsEngines []SecretsEngineConfig `mapstructure:"secrets-engines"` }
EnvironmentConfig is a struct to load information about one environment from config file.
type GafaspotConfig ¶
type GafaspotConfig struct { WebserviceAddress string `mapstructure:"webservice-address"` DisableMlock bool `mapstructure:"disable_mlock"` Mailserver string `mapstructure:"mailserver"` GafaspotMailAddress string `mapstructure:"gafaspot-mailaddress"` ScanningInterval string `mapstructure:"scanning-interval"` MaxBookingDays int `mapstructure:"max-reservation-duration-days"` MaxQueuingMonths int `mapstructure:"max-queuing-time-months"` Database string `mapstructure:"db-path"` DBTTLmonths int `mapstructure:"database-ttl-months"` VaultAddress string `mapstructure:"vault-address"` ApproleID string `mapstructure:"approle-roleID"` ApproleSecret string `mapstructure:"approle-secretID"` UserPolicy string `mapstructure:"ldap-group-policy"` Environments map[string]EnvironmentConfig //`yaml:"environments"` }
GafaspotConfig is a struct to load every information from config file.
type Reservation ¶
type Reservation struct { ID int Status string User string EnvPlainName string Start time.Time End time.Time SendStartMail bool SendEndMail bool Subject string Labels string }
Reservation is a struct to store the information of one row from database table reservations. (only database column delete_on is not included).
type ReservationCreds ¶
type ReservationCreds struct { Res Reservation Env Environment Creds map[string]map[string]interface{} }
ReservationCreds is a struct to bundle up credentials for a reservation. ReservationCreds can hold the credentials itself, the Environment, they belong to, and the associated Reservation, for which the credentials were created. The Creds attribute is a map to store one map for each Secrets Engine, which contains some key-value pairs as they are retrieved by a KV Secrets Engines.
type SecretsEngineConfig ¶
type SecretsEngineConfig struct { NiceName string `mapstructure:"name"` EngineType string `mapstructure:"type"` Role string //`yaml:"role"` }
SecretsEngineConfig is a struct to load information about one Secret Engine from config file.