boshinit

package
v0.0.9 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2016 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BoshFlags added in v0.0.6

func BoshFlags(defaults BoshDefaults) []cli.Flag

func NewAWSBosh

func NewAWSBosh(cfg BoshInitConfig, boshbase *BoshBase) *enaml.DeploymentManifest

func NewAzureBosh

func NewAzureBosh(cfg BoshInitConfig, boshbase *BoshBase) *enaml.DeploymentManifest

func NewAzureCloudProvider

func NewAzureCloudProvider(myazure cpi.Azure, cpiTemplate enaml.Template, pubip, keypath string, ntpProperty []string) enaml.CloudProvider

func NewAzureProperty

func NewAzureProperty(azureenv, subid, tenantid, clientid, clientsecret, resourcegroup, storageaccount, securitygroup, sshuser, sshkey string) cpi.Azure

func NewHealthMonitor

func NewHealthMonitor(resurrectorEnabled bool) health_monitor.Hm

func NewNTP

func NewNTP(ntp ...string) []string

func NewNats

func NewNats(user, pass string) *director.Nats

func NewVSphereBosh

func NewVSphereBosh(cfg BoshInitConfig, boshbase *BoshBase) *enaml.DeploymentManifest

NewVSphereBosh creates a new enaml deployment manifest for vSphere

func NewVSphereCloudProvider

func NewVSphereCloudProvider(directorIP string, vcenterProperty vsphere_cpi.Vcenter, ntpProperty []string) enaml.CloudProvider

NewVSphereCloudProvider creates a new cloud_provider instance for a vSphere bosh deployment

Types

type AWSBosh added in v0.0.6

type AWSBosh struct {
	// contains filtered or unexported fields
}

func (*AWSBosh) CreateCPIJobProperty added in v0.0.6

func (s *AWSBosh) CreateCPIJobProperty() (property interface{})

func (*AWSBosh) CreateCPIRelease added in v0.0.6

func (s *AWSBosh) CreateCPIRelease() enaml.Release

func (*AWSBosh) CreateCPITemplate added in v0.0.6

func (s *AWSBosh) CreateCPITemplate() (template enaml.Template)

func (*AWSBosh) CreateCloudProvider added in v0.0.6

func (s *AWSBosh) CreateCloudProvider() (provider enaml.CloudProvider)

func (*AWSBosh) CreateDeploymentManifest added in v0.0.6

func (s *AWSBosh) CreateDeploymentManifest() *enaml.DeploymentManifest

func (*AWSBosh) CreateDiskPool added in v0.0.6

func (s *AWSBosh) CreateDiskPool() enaml.DiskPool

func (*AWSBosh) CreateJobNetwork added in v0.0.6

func (s *AWSBosh) CreateJobNetwork() (net enaml.Network)

func (*AWSBosh) CreateManualNetwork added in v0.0.6

func (s *AWSBosh) CreateManualNetwork() (net enaml.ManualNetwork)

func (*AWSBosh) CreateResourcePool added in v0.0.6

func (s *AWSBosh) CreateResourcePool() (resourcePool enaml.ResourcePool)

func (*AWSBosh) CreateVIPNetwork added in v0.0.6

func (s *AWSBosh) CreateVIPNetwork() (net enaml.VIPNetwork)

type Ar

type Ar aws_cpi.Registry

type BoshBase added in v0.0.6

type BoshBase struct {
	Mode                string
	NetworkCIDR         string
	NetworkGateway      string
	NetworkDNS          []string
	DirectorName        string
	DirectorPassword    string
	DBPassword          string
	CPIName             string
	NtpServers          []string
	NatsPassword        string
	MBusPassword        string
	PrivateIP           string
	PublicIP            string
	SSLCert             string
	SSLKey              string
	PrivateKey          string
	PublicKey           string
	HealthMonitorSecret string
	LoginSecret         string
	RegistryPassword    string
	CACert              string
	BoshReleaseSHA      string
	BoshReleaseVersion  string
	CPIReleaseSHA       string
	CPIReleaseVersion   string
	GOAgentVersion      string
	GOAgentSHA          string
	UAAReleaseSHA       string
	UAAReleaseVersion   string
}

func NewBoshBase added in v0.0.6

func NewBoshBase(c *cli.Context) (base *BoshBase, err error)

func (*BoshBase) CreateDeploymentManifest added in v0.0.6

func (s *BoshBase) CreateDeploymentManifest() *enaml.DeploymentManifest

func (*BoshBase) CreateJob added in v0.0.6

func (s *BoshBase) CreateJob() enaml.Job

func (*BoshBase) InitializeCerts added in v0.0.9

func (s *BoshBase) InitializeCerts() (err error)

InitializeCerts - initializes certs needed for UAA and health monitor

func (*BoshBase) InitializeKeys added in v0.0.9

func (s *BoshBase) InitializeKeys() (err error)

InitializeKeys - initializes public/private keys

func (*BoshBase) InitializePasswords added in v0.0.9

func (s *BoshBase) InitializePasswords()

func (*BoshBase) IsBasic added in v0.0.9

func (s *BoshBase) IsBasic() bool

IsBasic - is this a basic Bosh director

func (*BoshBase) IsUAA added in v0.0.9

func (s *BoshBase) IsUAA() bool

IsUAA - is this a UAA enabled bosh director

type BoshDefaults added in v0.0.6

type BoshDefaults struct {
	CIDR               string
	Gateway            string
	DNS                *cli.StringSlice
	BoshReleaseVersion string
	BoshReleaseSHA     string
	PrivateIP          string
	CPIReleaseVersion  string
	CPIReleaseSHA      string
	CPIName            string
	GOAgentVersion     string
	GOAgentSHA         string
	NtpServers         *cli.StringSlice
}

type BoshInitConfig

type BoshInitConfig struct {
	BoshAvailabilityZone              string
	BoshInstanceSize                  string
	AWSSubnet                         string
	AWSPEMFilePath                    string
	AWSAccessKeyID                    string
	AWSSecretKey                      string
	AWSRegion                         string
	AWSSecurityGroups                 []string
	AWSKeyName                        string
	AzureVnet                         string
	AzureSubnet                       string
	AzureSubscriptionID               string
	AzureTenantID                     string
	AzureClientID                     string
	AzureClientSecret                 string
	AzureResourceGroup                string
	AzureStorageAccount               string
	AzureDefaultSecurityGroup         string
	AzureSSHPubKey                    string
	AzureSSHUser                      string
	AzureEnvironment                  string
	AzurePrivateKeyPath               string
	VSphereAddress                    string
	VSphereUser                       string
	VSpherePassword                   string
	VSphereDatacenterName             string
	VSphereVMFolder                   string
	VSphereTemplateFolder             string
	VSphereDatastorePattern           string
	VSpherePersistentDatastorePattern string
	VSphereDiskPath                   string
	VSphereClusters                   []string
	VSphereNetworks                   []Network
}

type DirectorProperty

type DirectorProperty struct {
	director.Director `yaml:",inline"`
	Address           string
}

type IAASManifestProvider added in v0.0.6

type IAASManifestProvider interface {
	CreateCPIRelease() enaml.Release
	CreateCPITemplate() enaml.Template
	CreateDiskPool() enaml.DiskPool
	CreateResourcePool() enaml.ResourcePool
	CreateManualNetwork() enaml.ManualNetwork
	CreateVIPNetwork() enaml.VIPNetwork
	CreateJobNetwork() enaml.Network
	CreateCloudProvider() enaml.CloudProvider
	CreateCPIJobProperty() interface{}
	CreateDeploymentManifest() *enaml.DeploymentManifest
}

func NewAWSIaaSProvider added in v0.0.6

func NewAWSIaaSProvider(cfg BoshInitConfig, boshBase *BoshBase) IAASManifestProvider

type Network

type Network struct {
	Name    string
	Range   string
	Gateway string
	DNS     []string
}

type PgSql

type PgSql struct {
	User     string
	Host     string
	Password string
	Database string
	Adapter  string
}

type Postgres

type Postgres interface {
	GetDirectorDB() *director.DirectorDb
	GetRegistryDB() *registry.Db
	GetPostgresDB() postgres.Postgres
}

type RegistryProperty

type RegistryProperty struct {
	Rr      `yaml:",inline"`
	Ar      `yaml:",inline"`
	Address string `yaml:"address"`
}

type Rr

type Rr registry.Registry

type UAAClient added in v0.0.6

type UAAClient struct {
	ID                   string      `yaml:"id,omitempty"`
	Secret               string      `yaml:"secret,omitempty"`
	Scope                string      `yaml:"scope,omitempty"`
	AuthorizedGrantTypes string      `yaml:"authorized-grant-types,omitempty"`
	Authorities          string      `yaml:"authorities,omitempty"`
	AutoApprove          interface{} `yaml:"autoapprove,omitempty"`
	Override             bool        `yaml:"override,omitempty"`
	RedirectURI          string      `yaml:"redirect-uri,omitempty"`
	AccessTokenValidity  int         `yaml:"access-token-validity,omitempty"`
	RefreshTokenValidity int         `yaml:"refresh-token-validity,omitempty"`
	ResourceIDs          string      `yaml:"resource_ids,omitempty"`
	Name                 string      `yaml:"name,omitempty"`
	AppLaunchURL         string      `yaml:"app-launch-url,omitempty"`
	ShowOnHomepage       bool        `yaml:"show-on-homepage,omitempty"`
	AppIcon              string      `yaml:"app-icon,omitempty"`
}

UAAClient - Structure to represent map of client priviledges

type VSphereDatacenter

type VSphereDatacenter struct {
	Name                       string   `yaml:"name"`                         // [String, required]: vSphere datacenter name.
	VMFolder                   string   `yaml:"vm_folder"`                    // [String, required]: The folder to create PCF VMs in.
	TemplateFolder             string   `yaml:"template_folder"`              // [String, required]: The folder to store stemcells in.
	DatastorePattern           string   `yaml:"datastore_pattern"`            // [String, required]: The pattern to the vSphere datastore.
	PersistentDatastorePattern string   `yaml:"persistent_datastore_pattern"` // [String, required]: The pattern to the vSphere datastore for persistent disks.
	DiskPath                   string   `yaml:"disk_path"`                    // [String, required]: The disk path.
	Clusters                   []string `yaml:"clusters"`                     // [[]String], required]: The vSphere cluster(s).
}

type VSphereDatacenters

type VSphereDatacenters []VSphereDatacenter

type VSpherecloudpropertiesNetwork

type VSpherecloudpropertiesNetwork struct {
	Name string `yaml:"name,omitempty"` // [String, required]: vSphere network name.
}

type VSpherecloudpropertiesResourcePool

type VSpherecloudpropertiesResourcePool struct {
	CPU  int `yaml:"cpu,omitempty"`  // [Integer, required]: Number of CPUs.
	RAM  int `yaml:"ram,omitempty"`  // [Integer, required]: Specified the amount of RAM in megabytes.
	Disk int `yaml:"disk,omitempty"` // [Integer, required]: Specifies the disk size in megabytes.
}

Directories

Path Synopsis
enaml-gen
cpi
uaa

Jump to

Keyboard shortcuts

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