Documentation ¶
Index ¶
- Constants
- type AWSProperties
- type AgentProperties
- type BlobstoreJobProperties
- type BlobstoreProperties
- type CloudProvider
- type CloudProviderManifestBuilder
- type CloudProviderProperties
- type Credentials
- type DefaultSSHOptions
- type DirectorJobProperties
- type DiskPool
- type DiskPoolsCloudProperties
- type DiskPoolsManifestBuilder
- type EphemeralDisk
- type GoogleProperties
- type HMJobProperties
- type HTTPProperties
- type InternalCredentials
- type Job
- type JobNetwork
- type JobProperties
- type JobPropertiesManifestBuilder
- func (j JobPropertiesManifestBuilder) Agent() AgentProperties
- func (j JobPropertiesManifestBuilder) Blobstore() BlobstoreJobProperties
- func (j JobPropertiesManifestBuilder) Director(iaas string, manifestProperties ManifestProperties) DirectorJobProperties
- func (j JobPropertiesManifestBuilder) HM() HMJobProperties
- func (j JobPropertiesManifestBuilder) NATS() NATSJobProperties
- func (j JobPropertiesManifestBuilder) Postgres() PostgresProperties
- func (j JobPropertiesManifestBuilder) Registry() RegistryJobProperties
- type JobsManifestBuilder
- type LocalProperties
- type Manifest
- type ManifestBuilder
- type ManifestBuilderInput
- type ManifestProperties
- type ManifestPropertiesAWS
- type ManifestPropertiesGCP
- type NATSJobProperties
- type Network
- type NetworksCloudProperties
- type NetworksManifestBuilder
- type PostgresProperties
- type RegistryJobProperties
- type RegistryPostgresProperties
- type Release
- type ReleaseManifestBuilder
- type ResourcePool
- type ResourcePoolCloudProperties
- type ResourcePoolsManifestBuilder
- type SSHTunnel
- type SSLProperties
- type SharedPropertiesManifestBuilder
- type Stemcell
- type Subnet
- type Template
- type UserManagementProperties
- type UserProperties
Constants ¶
View Source
const MBUS_PASSWORD_PREFIX = "mbus-"
View Source
const MBUS_USERNAME_PREFIX = "mbus-user-"
View Source
const PASSWORD_LENGTH = 15
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSProperties ¶
type AgentProperties ¶
type AgentProperties struct {
MBus string `yaml:"mbus"`
}
type BlobstoreJobProperties ¶
type BlobstoreJobProperties struct { Address string `yaml:"address"` Director Credentials `yaml:"director"` Agent Credentials `yaml:"agent"` }
type BlobstoreProperties ¶
type CloudProvider ¶
type CloudProvider struct { Template Template `yaml:"template"` SSHTunnel SSHTunnel `yaml:"ssh_tunnel"` MBus string `yaml:"mbus"` Properties CloudProviderProperties `yaml:"properties"` }
type CloudProviderManifestBuilder ¶
type CloudProviderManifestBuilder struct {
// contains filtered or unexported fields
}
func NewCloudProviderManifestBuilder ¶
func NewCloudProviderManifestBuilder(stringGenerator stringGenerator) CloudProviderManifestBuilder
func (CloudProviderManifestBuilder) Build ¶
func (c CloudProviderManifestBuilder) Build(iaas string, manifestProperties ManifestProperties) (CloudProvider, ManifestProperties, error)
type CloudProviderProperties ¶
type CloudProviderProperties struct { AWS AWSProperties `yaml:"aws,omitempty"` Google GoogleProperties `yaml:"google,omitempty"` Agent AgentProperties `yaml:"agent"` Blobstore BlobstoreProperties `yaml:"blobstore"` }
type Credentials ¶
type DefaultSSHOptions ¶ added in v1.2.0
type DefaultSSHOptions struct {
GatewayHost string `yaml:"gateway_host"`
}
type DirectorJobProperties ¶
type DirectorJobProperties struct { Address string `yaml:"address"` Name string `yaml:"name"` CPIJob string `yaml:"cpi_job"` Workers int `yaml:"workers"` EnableDedicatedStatusWorker bool `yaml:"enable_dedicated_status_worker"` EnablePostDeploy bool `yaml:"enable_post_deploy"` DB PostgresProperties `yaml:"db"` UserManagement UserManagementProperties `yaml:"user_management"` SSL SSLProperties `yaml:"ssl"` DefaultSSHOptions DefaultSSHOptions `yaml:"default_ssh_options"` }
type DiskPool ¶
type DiskPool struct { Name string `yaml:"name"` DiskSize int `yaml:"disk_size"` CloudProperties DiskPoolsCloudProperties `yaml:"cloud_properties"` }
type DiskPoolsManifestBuilder ¶
type DiskPoolsManifestBuilder struct{}
func NewDiskPoolsManifestBuilder ¶
func NewDiskPoolsManifestBuilder() DiskPoolsManifestBuilder
func (DiskPoolsManifestBuilder) Build ¶
func (r DiskPoolsManifestBuilder) Build(iaas string) []DiskPool
type EphemeralDisk ¶
type GoogleProperties ¶
type HMJobProperties ¶
type HMJobProperties struct { DirectorAccount Credentials `yaml:"director_account"` ResurrectorEnabled bool `yaml:"resurrector_enabled"` }
type HTTPProperties ¶
type InternalCredentials ¶
type InternalCredentials struct { MBusUsername string `json:"mbusUsername"` NatsUsername string `json:"natsUsername"` PostgresUsername string `json:"postgresUsername"` RegistryUsername string `json:"registryUsername"` BlobstoreDirectorUsername string `json:"blobstoreDirectorUsername"` BlobstoreAgentUsername string `json:"blobstoreAgentUsername"` HMUsername string `json:"hmUsername"` MBusPassword string `json:"mbusPassword"` NatsPassword string `json:"natsPassword"` PostgresPassword string `json:"postgresPassword"` RegistryPassword string `json:"registryPassword"` BlobstoreDirectorPassword string `json:"blobstoreDirectorPassword"` BlobstoreAgentPassword string `json:"blobstoreAgentPassword"` HMPassword string `json:"hmPassword"` }
func NewInternalCredentials ¶
func NewInternalCredentials(credentials map[string]string) InternalCredentials
func (InternalCredentials) ToMap ¶
func (c InternalCredentials) ToMap() map[string]string
type Job ¶
type Job struct { Name string `yaml:"name"` Instances int `yaml:"instances"` ResourcePool string `yaml:"resource_pool"` PersistentDiskPool string `yaml:"persistent_disk_pool"` Templates []Template `yaml:"templates"` Networks []JobNetwork `yaml:"networks"` Properties JobProperties `yaml:"properties"` }
type JobNetwork ¶
type JobProperties ¶
type JobProperties struct { NATS NATSJobProperties `yaml:"nats"` Postgres PostgresProperties `yaml:"postgres"` Registry RegistryJobProperties `yaml:"registry"` Blobstore BlobstoreJobProperties `yaml:"blobstore"` Director DirectorJobProperties `yaml:"director"` HM HMJobProperties `yaml:"hm"` AWS AWSProperties `yaml:"aws,omitempty"` Agent AgentProperties `yaml:"agent"` Google GoogleProperties `yaml:"google,omitempty"` }
type JobPropertiesManifestBuilder ¶
type JobPropertiesManifestBuilder struct {
// contains filtered or unexported fields
}
func NewJobPropertiesManifestBuilder ¶
func NewJobPropertiesManifestBuilder(natsUsername, postgresUsername, registryUsername, blobstoreDirectorUsername, blobstoreAgentUsername, hmUsername, natsPassword, postgresPassword, registryPassword, blobstoreDirectorPassword, blobstoreAgentPassword, hmPassword string) JobPropertiesManifestBuilder
func (JobPropertiesManifestBuilder) Agent ¶
func (j JobPropertiesManifestBuilder) Agent() AgentProperties
func (JobPropertiesManifestBuilder) Blobstore ¶
func (j JobPropertiesManifestBuilder) Blobstore() BlobstoreJobProperties
func (JobPropertiesManifestBuilder) Director ¶
func (j JobPropertiesManifestBuilder) Director(iaas string, manifestProperties ManifestProperties) DirectorJobProperties
func (JobPropertiesManifestBuilder) HM ¶
func (j JobPropertiesManifestBuilder) HM() HMJobProperties
func (JobPropertiesManifestBuilder) NATS ¶
func (j JobPropertiesManifestBuilder) NATS() NATSJobProperties
func (JobPropertiesManifestBuilder) Postgres ¶
func (j JobPropertiesManifestBuilder) Postgres() PostgresProperties
func (JobPropertiesManifestBuilder) Registry ¶
func (j JobPropertiesManifestBuilder) Registry() RegistryJobProperties
type JobsManifestBuilder ¶
type JobsManifestBuilder struct {
// contains filtered or unexported fields
}
func NewJobsManifestBuilder ¶
func NewJobsManifestBuilder(stringGenerator stringGenerator) JobsManifestBuilder
func (JobsManifestBuilder) Build ¶
func (j JobsManifestBuilder) Build(iaas string, manifestProperties ManifestProperties) ([]Job, ManifestProperties, error)
type LocalProperties ¶
type LocalProperties struct {
Users []UserProperties `yaml:"users"`
}
type Manifest ¶
type Manifest struct { Name string `yaml:"name"` Releases []Release `yaml:"releases"` ResourcePools []ResourcePool `yaml:"resource_pools"` DiskPools []DiskPool `yaml:"disk_pools"` Networks []Network `yaml:"networks"` Jobs []Job `yaml:"jobs"` CloudProvider CloudProvider `yaml:"cloud_provider"` }
func (Manifest) DirectorSSLKeyPair ¶
type ManifestBuilder ¶
type ManifestBuilder struct {
// contains filtered or unexported fields
}
func NewManifestBuilder ¶
func NewManifestBuilder(input ManifestBuilderInput, logger logger, sslKeyPairGenerator sslKeyPairGenerator, stringGenerator stringGenerator, cloudProviderManifestBuilder cloudProviderManifestBuilder, jobsManifestBuilder jobsManifestBuilder) ManifestBuilder
func (ManifestBuilder) Build ¶
func (m ManifestBuilder) Build(iaas string, manifestProperties ManifestProperties) (Manifest, ManifestProperties, error)
type ManifestBuilderInput ¶ added in v1.1.0
type ManifestProperties ¶
type ManifestProperties struct { DirectorName string DirectorUsername string DirectorPassword string CACommonName string ExternalIP string SSLKeyPair ssl.KeyPair Credentials InternalCredentials AWS ManifestPropertiesAWS GCP ManifestPropertiesGCP }
type ManifestPropertiesAWS ¶
type ManifestPropertiesGCP ¶
type NATSJobProperties ¶
type NetworksCloudProperties ¶
type NetworksManifestBuilder ¶
type NetworksManifestBuilder struct{}
func NewNetworksManifestBuilder ¶
func NewNetworksManifestBuilder() NetworksManifestBuilder
func (NetworksManifestBuilder) Build ¶
func (r NetworksManifestBuilder) Build(manifestProperties ManifestProperties) []Network
type PostgresProperties ¶
type RegistryJobProperties ¶
type RegistryJobProperties struct { Host string `yaml:"host"` Address string `yaml:"address"` Username string `yaml:"username"` Password string `yaml:"password"` DB RegistryPostgresProperties `yaml:"db"` HTTP HTTPProperties `yaml:"http"` }
type ReleaseManifestBuilder ¶
type ReleaseManifestBuilder struct{}
func NewReleaseManifestBuilder ¶
func NewReleaseManifestBuilder() ReleaseManifestBuilder
func (ReleaseManifestBuilder) Build ¶
func (r ReleaseManifestBuilder) Build(boshURL, boshSHA1, boshCPIName, boshCPIURL, boshCPISHA1 string) []Release
type ResourcePool ¶
type ResourcePool struct { Name string `yaml:"name"` Network string `yaml:"network"` Stemcell Stemcell `yaml:"stemcell"` CloudProperties ResourcePoolCloudProperties `yaml:"cloud_properties"` }
type ResourcePoolCloudProperties ¶
type ResourcePoolCloudProperties struct { InstanceType string `yaml:"instance_type,omitempty"` EphemeralDisk EphemeralDisk `yaml:"ephemeral_disk,omitempty"` AvailabilityZone string `yaml:"availability_zone,omitempty"` Zone string `yaml:"zone,omitempty"` MachineType string `yaml:"machine_type,omitempty"` RootDiskSizeGB int `yaml:"root_disk_size_gb,omitempty"` RootDiskType string `yaml:"root_disk_type,omitempty"` ServiceScopes []string `yaml:"service_scopes,omitempty"` }
type ResourcePoolsManifestBuilder ¶
type ResourcePoolsManifestBuilder struct{}
func NewResourcePoolsManifestBuilder ¶
func NewResourcePoolsManifestBuilder() ResourcePoolsManifestBuilder
func (ResourcePoolsManifestBuilder) Build ¶
func (r ResourcePoolsManifestBuilder) Build(iaas string, manifestProperties ManifestProperties, stemcellURL string, stemcellSHA1 string) []ResourcePool
type SSLProperties ¶
type SharedPropertiesManifestBuilder ¶
type SharedPropertiesManifestBuilder struct { }
func NewSharedPropertiesManifestBuilder ¶
func NewSharedPropertiesManifestBuilder() *SharedPropertiesManifestBuilder
func (SharedPropertiesManifestBuilder) AWS ¶
func (SharedPropertiesManifestBuilder) AWS(manifestProperties ManifestProperties) AWSProperties
func (SharedPropertiesManifestBuilder) Google ¶
func (SharedPropertiesManifestBuilder) Google(manifestProperties ManifestProperties) GoogleProperties
type Subnet ¶
type Subnet struct { Range string `yaml:"range"` Gateway string `yaml:"gateway"` DNS []string `yaml:"dns"` CloudProperties NetworksCloudProperties `yaml:"cloud_properties"` }
type UserManagementProperties ¶
type UserManagementProperties struct {
Local LocalProperties `yaml:"local"`
}
type UserProperties ¶
Source Files ¶
- cloud_provider_manifest_builder.go
- disk_pools_manifest_builder.go
- internal_credentials.go
- job_properties.go
- job_properties_manifest_builder.go
- jobs_manifest_builder.go
- manifest.go
- manifest_builder.go
- networks_manifest_builder.go
- release_manifest_builder.go
- resource_pools_manifest_builder.go
- shared_properties_manifest_builder.go
Click to show internal directories.
Click to hide internal directories.