Documentation
¶
Index ¶
- Constants
- Variables
- func DownloadFile(filepath string, url string) (err error)
- func ItemExists(slice interface{}, item interface{}) bool
- func SetConfigPath(configPath string)
- func Unzip(src string, dest string) ([]string, error)
- type CbCredentials
- type Config
- type DockerCredentials
- type HydraCredentials
- type OsCredentials
- type SecretStorage
- type VaultCommunicator
Constants ¶
View Source
const ( //list of supported services types ServiceTypeSpark string = "spark" ServiceTypeIgnite string = "ignite" ServiceTypeCassandra string = "cassandra" ServiceTypeJupyter string = "jupyter" ServiceTypeJupyterhub string = "jupyterhub" ServiceTypeElastic string = "elastic" ServiceTypeNFS string = "nfs-server" ServiceTypeNextCloud string = "nextcloud" //supported spark configurations SparkUseYarn string = "use-yarn" SparkHadoopVersion string = "hadoop-version" SparkWorkerMemMb string = "worker-mem-mb" SparkYarnMasterMemMb string = "yarn-master-mem-mb" //supported jupyter configurations JupyterToreeVersion string = "toree-version" //supported ignite configurations IgniteMemory string = "ignite-memory" //supported elastic configurations ElasticHeapSize string = "es-heap-size" //supported cassandra configurations CassandraDefaultVersion string = "3.11.4" //statuses for ansible runner AnsibleOk string = "OK" AnsibleFail string = "FAIL" //supported actions for ansible AnsibleLaunch = "launch" AnsibleDestroy = "destroy" //ansible-playbook command AnsiblePlaybookCmd = "ansible-playbook" //path for ansible.cfg AnsibleConfigVar = "ANSIBLE_CONFIG" AnsibleConfigPath = "ansible/ansible.cfg" //base path BasePath = "michman" //ansible main role path AnsibleMainRole = "ansible/main.yml" //ansible get master ip role path AnsibleMasterIpRole = "ansible/get_master.yml" //ansible get ip of any instance with role AnsibleIpRole = "ansible/get_ip.yml" //openstack secrets keys OsAuthUrl = "OS_AUTH_URL" OsPassword = "OS_PASSWORD" OsProjectName = "OS_PROJECT_NAME" OsProjectID = "OS_PROJECT_ID" OsProjectDomainID = "OS_PROJECT_DOMAIN_ID" OsInterface = "OS_INTERFACE" OsRegionName = "OS_REGION_NAME" OsTenantId = "OS_TENANT_ID" OsTenantName = "OS_TENANT_NAME" OsUsername = "OS_USERNAME" OsSwiftUsername = "OS_SWIFT_USERNAME" OsSwiftPassword = "OS_SWIFT_PASSWORD" OsComputeApiVersion = "COMPUTE_API_VERSION" OsNovaVersion = "NOVA_VERSION" OsAuthType = "OS_AUTH_TYPE" OsCloudname = "OS_CLOUDNAME" OsIdentityApiVersion = "OS_IDENTITY_API_VERSION" OsImageApiVersion = "OS_IMAGE_API_VERSION" OsNoCache = "OS_NO_CACHE" OsProjectDomainName = "OS_PROJECT_DOMAIN_NAME" OsUserDomainName = "OS_USER_DOMAIN_NAME" OsVolumeApiVersion = "OS_VOLUME_API_VERSION" OsPythonwarnings = "PYTHONWARNINGS" OsNoProxy = "no_proxy" // Docker login secrets keys DockerLoginUlr = "url" DockerLoginUser = "user" DockerLoginPassword = "password" //Couchbase secret keys CouchbasePath = "path" CouchbaseUsername = "username" CouchbasePassword = "password" //Hydra secret keys HydraRedirectUri = "redirect_uri" HydraClientId = "client_id" HydraClientSecret = "client_secret" //ssh secrets keys VaultSshKey = "key_bgt" //Entity statuses StatusInited = "INITED" StatusActive = "ACTIVE" StatusFailed = "FAILED" StatusStopping = "STOPPING" StatusMissing = "MISSING" //default IDs CommonProjectID string = "None" //Openstack stein version OsSteinVersion string = "stein" OsLibertyVersion string = "liberty" OsUssuriVersion string = "ussuri" //Supported classes for service types ClassStorage string = "storage" ClassMasterSlave string = "master-slave" ClassStandAlone string = "stand-alone" //Authorization models OAuth2Mode = "oauth2" NoneAuthMode = "none" KeystoneMode = "keystone" //sessions keys GroupKey = "groups" AccessTokenKey = "AccessToken" //cluster logs outputs LogsFileOutput = "file" LogsLogstashOutput = "logstash" //ansible actions ActionCreate = "create" ActionUpdate = "update" ActionDelete = "delete" )
Variables ¶
View Source
var ( SshKeyPath = os.Getenv("PWD") + "/ansible/files/ssh_key" ConfigPath = "configs/config.yaml" UseBasePath = true )
Functions ¶
func DownloadFile ¶
func ItemExists ¶
func ItemExists(slice interface{}, item interface{}) bool
func SetConfigPath ¶
func SetConfigPath(configPath string)
Types ¶
type CbCredentials ¶
type Config ¶
type Config struct {
// Openstack
Key string `yaml:"os_key_name"`
VirtualNetwork string `yaml:"virtual_network"`
OsImage string `yaml:"os_image"`
FloatingIP string `yaml:"floating_ip_pool"`
MasterFlavor string `yaml:"master_flavor"`
SlavesFlavor string `yaml:"slaves_flavor"`
StorageFlavor string `yaml:"storage_flavor"`
OsVersion string `yaml:"os_version"` //Now are supported only 'stein', 'ussuri' and 'liberty' versions
// Vault
Token string `yaml:"token"`
VaultAddr string `yaml:"vault_addr"`
OsKey string `yaml:"os_key"`
SshKey string `yaml:"ssh_key"`
CbKey string `yaml:"cb_key"`
RegistryKey string `yaml:"registry_key"`
HydraKey string `yaml:"hydra_key"`
// Mirror
UsePackageMirror string `yaml:"use_package_mirror,omitempty"`
UsePipMirror string `yaml:"use_pip_mirror,omitempty"`
YumMirrorAddress string `yaml:"yum_mirror_address,omitempty"`
AptMirrorAddress string `yaml:"apt_mirror_address,omitempty"`
PipMirrorAddress string `yaml:"pip_mirror_address,omitempty"`
PipTrustedHost string `yaml:"pip_trusted_host,omitempty"`
// Registry
SelfignedRegistry bool `yaml:"docker_selfsigned_registry,omitempty"`
InsecureRegistry bool `yaml:"docker_insecure_registry,omitempty"`
GitlabRegistry bool `yaml:"gitlab_registry,omitempty"`
SelfsignedRegistryIp string `yaml:"docker_selfsigned_registry_ip,omitempty"`
InsecureRegistryIp string `yaml:"docker_insecure_registry_ip,omitempty"`
SelfignedRegistryUrl string `yaml:"docker_selfsigned_registry_url,omitempty"`
SelfignedRegistryCert string `yaml:"docker_cert_path,omitempty"`
//Authentication
UseAuth bool `yaml:"use_auth"`
AuthorizationModel string `yaml:"authorization_model,omitempty"` //Now are supported only 'oauth2', 'none' or 'keystone' values
AdminGroup string `yaml:"admin_group,omitempty"` //name of the Admin user group
SessionIdleTimeout int `yaml:"session_idle_timeout,omitempty"'` //time in minutes, controls the maximum length of time a session can be inactive before it expires
SessionLifetime int `yaml:"session_lifetime,omitempty"` //time in minutes, controls the maximum length of time that a session is valid for before it expires
HydraAdmin string `yaml:"hydra_admin,omitempty"` //hydra admin address
HydraClient string `yaml:"hydra_client,omitempty"` //hydra client address
KeystoneAddr string `yaml:"keystone_addr,omitempty"` //keystone service address
//Cluster logs
LogsOutput string `yaml:"logs_output"` //file or logstash
LogsFilePath string `yaml:"logs_file_path,omitempty"` //path to directory with cluster logs if file output is used
LogstashAddr string `yaml:"logstash_addr,omitempty"` //logstash address if logstash output is used
ElasticAddr string `yaml:"elastic_addr,omitempty"` //elastic address if logstash output is used
}
type DockerCredentials ¶
type HydraCredentials ¶
type OsCredentials ¶
type OsCredentials struct {
OsAuthUrl string
OsPassword string
OsProjectID string
OsProjectName string
OsProjectDomainID string
OsInterface string
OsRegionName string
OsTenantId string
OsTenantName string
OsUserName string
OsSwiftUserName string
OsSwiftPassword string
OsComputeApiVersion string
OsNovaVersion string
OsAuthType string
OsCloudname string
OsIdentityApiVersion string
OsImageApiVersion string
OsNoCache string
OsProjectDomainName string
OsUserDomainName string
OsVolumeApiVersion string
OsPythonwarnings string
OsNoProxy string
}
type SecretStorage ¶
type VaultCommunicator ¶
type VaultCommunicator struct {
// contains filtered or unexported fields
}
func (*VaultCommunicator) ConnectVault ¶
func (vc *VaultCommunicator) ConnectVault() (*vaultapi.Client, *Config)
func (*VaultCommunicator) Init ¶
func (vc *VaultCommunicator) Init() error
Click to show internal directories.
Click to hide internal directories.