Module: Kitchen::Driver

Defined in:
lib/kitchen/driver/scalr.rb,
lib/kitchen/driver/scalr_cred.rb,
lib/kitchen/driver/scalr_version.rb,
lib/kitchen/driver/scalr_farm_role.rb,
lib/kitchen/driver/scalr_ps_script_template.rb,
lib/kitchen/driver/scalr_ssh_script_template.rb

Defined Under Namespace

Modules: CredentialsManager, FarmRoleObjectBuilder Classes: Scalr

Constant Summary collapse

SCALR_VERSION =

Version string for Scalr Kitchen driver

"0.2.7"
SCALR_PS_SCRIPT =
'#!powershell
$Username = "%{username}"
$Password = "%{password}"

$group = "Administrators"

$adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
$existing = $adsi.Children | where {$_.SchemaClassName -eq \'user\' -and $_.Name -eq $Username }

if ($existing -eq $null) {

    Write-Host "Creating new local user $Username."
    & NET USER $Username $Password /add /y /expires:never
    
    Write-Host "Adding local user $Username to $group."
    & NET LOCALGROUP $group $Username /add

}
else {
    Write-Host "Setting password for existing local user $Username."
    $existing.SetPassword($Password)
}

Write-Host "Ensuring password for $Username never expires."
& WMIC USERACCOUNT WHERE "Name=\'$Username\'" SET PasswordExpires=FALSE'
SCALR_SSH_SCRIPT =
'#!/bin/bash
cat >> /root/.ssh/authorized_keys << EOF
%{ssh_pub_key}
EOF
'
SCALR_SSH_ROOT_PERMIT_SCRIPT =
'
sed -i \'s/^\(PermitRootLogin\)\s*no/\1 yes/g\' /etc/ssh/sshd_config

if command -v systemctl >/dev/null 2>&1; then
    systemctl restart sshd
elif [ -f /etc/init.d/ssh ]; then
    /etc/init.d/ssh restart
elif [ -f /etc/init.d/sshd ]; then
    /etc/init.d/sshd restart
fi
'