juju: github.com/juju/juju/environs/manual/sshprovisioner Index | Files

package sshprovisioner

import "github.com/juju/juju/environs/manual/sshprovisioner"

Index

Package Files

provisioner.go sshprovisioner.go

Variables

var CheckProvisioned = checkProvisioned

CheckProvisioned checks if any juju init service already exist on the host machine.

var DetectSeriesAndHardwareCharacteristics = detectSeriesAndHardwareCharacteristics

DetectSeriesAndHardwareCharacteristics detects the OS series and hardware characteristics of the remote machine by connecting to the machine and executing a bash script.

func InitUbuntuUser Uses

func InitUbuntuUser(host, login, authorizedKeys string, read io.Reader, write io.Writer) error

InitUbuntuUser adds the ubuntu user if it doesn't already exist, updates its ~/.ssh/authorized_keys, and enables passwordless sudo for it.

InitUbuntuUser will initially attempt to login as the ubuntu user, and verify that passwordless sudo is enabled; only if this is false will there be an attempt with the specified login.

authorizedKeys may be empty, in which case the file will be created and left empty.

func ProvisionMachine Uses

func ProvisionMachine(args manual.ProvisionMachineArgs) (machineId string, err error)

Provision returns a new machineId and nil if the provision process is done successfully The func will manual provision a linux machine using as it's default protocol SSH

func ProvisioningScript Uses

func ProvisioningScript(icfg *instancecfg.InstanceConfig) (string, error)

ProvisioningScript generates a bash script that can be executed on a remote host to carry out the cloud-init configuration.

Package sshprovisioner imports 20 packages (graph) and is imported by 19 packages. Updated 2019-12-11. Refresh now. Tools for package owners.