mirror of
https://github.com/rancher/os.git
synced 2025-09-01 23:04:41 +00:00
Merge pull request #1172 from ibuildthecloud/add-console-stuff
Make respawn slightly extensible
This commit is contained in:
@@ -65,22 +65,15 @@ func Main() {
|
|||||||
log.Error(err)
|
log.Error(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
cmdline, err := ioutil.ReadFile("/proc/cmdline")
|
if err := writeRespawn(); err != nil {
|
||||||
if err != nil {
|
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
respawnConf := generateRespawnConf(string(cmdline))
|
if err := modifySshdConfig(); err != nil {
|
||||||
|
|
||||||
if err = ioutil.WriteFile("/etc/respawn.conf", respawnConf, 0644); err != nil {
|
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = modifySshdConfig(); err != nil {
|
if err := writeOsRelease(); err != nil {
|
||||||
log.Error(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if err = writeOsRelease(); err != nil {
|
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,18 +86,18 @@ func Main() {
|
|||||||
{"/var/lib/rancher/engine/docker-runc", "/usr/bin/docker-runc"},
|
{"/var/lib/rancher/engine/docker-runc", "/usr/bin/docker-runc"},
|
||||||
} {
|
} {
|
||||||
syscall.Unlink(link.newname)
|
syscall.Unlink(link.newname)
|
||||||
if err = os.Symlink(link.oldname, link.newname); err != nil {
|
if err := os.Symlink(link.oldname, link.newname); err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd = exec.Command("bash", "-c", `echo 'RancherOS \n \l' > /etc/issue`)
|
cmd = exec.Command("bash", "-c", `echo 'RancherOS \n \l' > /etc/issue`)
|
||||||
if err = cmd.Run(); err != nil {
|
if err := cmd.Run(); err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd = exec.Command("bash", "-c", `echo $(/sbin/ifconfig | grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3}') >> /etc/issue`)
|
cmd = exec.Command("bash", "-c", `echo $(/sbin/ifconfig | grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3}') >> /etc/issue`)
|
||||||
if err = cmd.Run(); err != nil {
|
if err := cmd.Run(); err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -112,21 +105,21 @@ func Main() {
|
|||||||
|
|
||||||
if util.ExistsAndExecutable(config.CloudConfigScriptFile) {
|
if util.ExistsAndExecutable(config.CloudConfigScriptFile) {
|
||||||
cmd := exec.Command(config.CloudConfigScriptFile)
|
cmd := exec.Command(config.CloudConfigScriptFile)
|
||||||
if err = cmd.Run(); err != nil {
|
if err := cmd.Run(); err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if util.ExistsAndExecutable(startScript) {
|
if util.ExistsAndExecutable(startScript) {
|
||||||
cmd := exec.Command(startScript)
|
cmd := exec.Command(startScript)
|
||||||
if err = cmd.Run(); err != nil {
|
if err := cmd.Run(); err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if util.ExistsAndExecutable("/etc/rc.local") {
|
if util.ExistsAndExecutable("/etc/rc.local") {
|
||||||
cmd := exec.Command("/etc/rc.local")
|
cmd := exec.Command("/etc/rc.local")
|
||||||
if err = cmd.Run(); err != nil {
|
if err := cmd.Run(); err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -145,7 +138,7 @@ func Main() {
|
|||||||
log.Fatal(syscall.Exec(respawnBinPath, []string{"respawn", "-f", "/etc/respawn.conf"}, os.Environ()))
|
log.Fatal(syscall.Exec(respawnBinPath, []string{"respawn", "-f", "/etc/respawn.conf"}, os.Environ()))
|
||||||
}
|
}
|
||||||
|
|
||||||
func generateRespawnConf(cmdline string) []byte {
|
func generateRespawnConf(cmdline string) string {
|
||||||
var respawnConf bytes.Buffer
|
var respawnConf bytes.Buffer
|
||||||
|
|
||||||
for i := 1; i < 7; i++ {
|
for i := 1; i < 7; i++ {
|
||||||
@@ -172,7 +165,31 @@ func generateRespawnConf(cmdline string) []byte {
|
|||||||
|
|
||||||
respawnConf.WriteString("/usr/sbin/sshd -D")
|
respawnConf.WriteString("/usr/sbin/sshd -D")
|
||||||
|
|
||||||
return respawnConf.Bytes()
|
return respawnConf.String()
|
||||||
|
}
|
||||||
|
|
||||||
|
func writeRespawn() error {
|
||||||
|
cmdline, err := ioutil.ReadFile("/proc/cmdline")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
respawn := generateRespawnConf(string(cmdline))
|
||||||
|
|
||||||
|
files, err := ioutil.ReadDir("/etc/respawn.conf.d")
|
||||||
|
if err == nil {
|
||||||
|
for _, f := range files {
|
||||||
|
content, err := ioutil.ReadFile(f.Name())
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
respawn += fmt.Sprintf("\n%s", string(content))
|
||||||
|
}
|
||||||
|
} else if !os.IsNotExist(err) {
|
||||||
|
log.Error(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return ioutil.WriteFile("/etc/respawn.conf", []byte(respawn), 0644)
|
||||||
}
|
}
|
||||||
|
|
||||||
func modifySshdConfig() error {
|
func modifySshdConfig() error {
|
||||||
|
Reference in New Issue
Block a user