Documentation
¶
Index ¶
- func IsValidVisibility(visibility string) bool
- func IsValidVisibilityOrEmpty(visibility string) bool
- type Config
- type Credentials
- func (c Credentials) HasCloud(name string) bool
- func (o *Credentials) LoadCloudsYAML() (map[string]clientconfig.Cloud, error)
- func (o *Credentials) LoadPublicCloudsYAML() (map[string]clientconfig.Cloud, error)
- func (o *Credentials) LoadSecureCloudsYAML() (map[string]clientconfig.Cloud, error)
- func (c Credentials) Validate() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsValidVisibility ¶
Types ¶
type Config ¶
type Config struct {
// Cloud is the name of the cloud that should be used. The cloud
// must be defined in the supplied clouds.yaml file supplied in the
// credentials field.
//
// This option can NOT be overwritten using extra_specs.
Cloud string `toml:"cloud"`
// Credentials holds information needed to connect to a cloud.
//
// This option can NOT be overwritten using extra_specs.
Credentials Credentials `toml:"credentials"`
// DefaultStorageBackend holds the name of the default storage backend
// to use. If this is is empty, we will default to whatever is the default
// in the cloud.
//
// This option can be overwritten using extra_specs.
DefaultStorageBackend string `toml:"default_storage_backend"`
// DefaultSecurityGroups holds a list of security group IDs that will be
// added by default to runners.
//
// This option can be overwritten using extra_specs.
DefaultSecurityGroups []string `toml:"default_security_groups"`
// DefaultNetworkID is the default network ID to use when creating a new runner.
//
// This value is mandatory.
// This value can be overwritten by extra_specs.
DefaultNetworkID string `toml:"network_id"`
// BootFromVolume indicates whether or not to boot from a cinder volume.
//
// This value can be overwritten using extra_specs.
BootFromVolume bool `toml:"boot_from_volume"`
// BootDiskSize is used in when BootFromVolume is set to true. If not explicitly
// set, we use the root disk size defined in the flavor. If no root disk size is
// specified in the flavor, we default to 50 GB.
//
// This value can be overwritten using extra_specs.
// This option is ignored if BootFromVolume is set to false.
BootDiskSize *int64 `toml:"root_disk_size"`
// UseConfigDrive indicates whether to use config drive or not.
//
// This value can be overwritten using extra_specs.
UseConfigDrive bool `toml:"use_config_drive"`
// AllowedImageOwners is a list of image owners that are allowed to be used.
// If this is empty, all images are allowed.
// If not empty, only images owned by the specified owners are allowed.
//
// This value can be overwritten using extra_specs.
AllowedImageOwners []string `toml:"allowed_image_owners"`
// ImageVisibility is the image visibility to use when searching for images.
// If this is empty, we will use "public".
// Other possible values are "private", "community" and "shared".
//
// This value can be overwritten using extra_specs.
ImageVisibility string `toml:"image_visibility"`
// DisableUdatesOnBoot indicates whether to install or update packages on boot during cloud-init.
// If set to true `PackageUpgrade` is set to false and `Packages` is set to an empty list in the cloud-init config.
//
// This value can NOT be overwritten using extra_specs.
DisableUpdatesOnBoot bool `toml:"disable_updates_on_boot"`
// EnableBootDebug indicates whether to enable debug mode during boot / cloud-init.
// If set to true `set -x` is added to the cloud-init config.
// Attention: This will might expose sensitive data in the logs! Do not use in production!
//
// This value can be overwritten using extra_specs.
EnableBootDebug bool `toml:"enable_boot_debug"`
}
type Credentials ¶
type Credentials struct {
// Clouds holds the path to the clouds.yaml file. This field is mandatory
// and holds information on how to connect to one or more OpenStack clouds.
Clouds string `toml:"clouds"`
// PublicClouds is the path on disk to clouds-public.yaml. See:
// https://docs.openstack.org/python-openstackclient/latest/configuration/index.html#clouds-public-yaml
PublicClouds string `toml:"public_clouds"`
// SecureClouds is the path on disk to secure.yaml. This file normally holds secrets
// for connecting to the cloud. The format is identical to clouds.yaml, with only
// sensitive fields fileld in. These fields are merged with the values in clouds.yaml.
// See: https://docs.openstack.org/os-client-config/latest/user/configuration.html#splitting-secrets
SecureClouds string `toml:"secure_clouds"`
}
Credentials holds the paths on disk to the following files:
- clouds.yaml
- clouds-public.yaml
- secure.yaml
Out of the 3, the only one that is mandatory is clouds.yaml.
func (Credentials) HasCloud ¶
func (c Credentials) HasCloud(name string) bool
func (*Credentials) LoadCloudsYAML ¶
func (o *Credentials) LoadCloudsYAML() (map[string]clientconfig.Cloud, error)
func (*Credentials) LoadPublicCloudsYAML ¶
func (o *Credentials) LoadPublicCloudsYAML() (map[string]clientconfig.Cloud, error)
func (*Credentials) LoadSecureCloudsYAML ¶
func (o *Credentials) LoadSecureCloudsYAML() (map[string]clientconfig.Cloud, error)
func (Credentials) Validate ¶
func (c Credentials) Validate() error
Click to show internal directories.
Click to hide internal directories.