mirror of
https://github.com/rancher/os.git
synced 2025-08-13 20:36:36 +00:00
Add docker Bash completion for other consoles
This commit is contained in:
parent
8cdf21d03a
commit
4d834140d0
@ -144,6 +144,12 @@ func consoleInitFunc() error {
|
|||||||
{"/usr/share/ros/os-release", "/etc/os-release"},
|
{"/usr/share/ros/os-release", "/etc/os-release"},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if _, err := os.Stat(dockerCompletionFile); err == nil {
|
||||||
|
baseSymlink = append(baseSymlink, symlink{
|
||||||
|
dockerCompletionFile, dockerCompletionLinkFile,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
if cfg.Rancher.Console == "default" {
|
if cfg.Rancher.Console == "default" {
|
||||||
// add iptables symlinks for default console
|
// add iptables symlinks for default console
|
||||||
baseSymlink = append(baseSymlink, []symlink{
|
baseSymlink = append(baseSymlink, []symlink{
|
||||||
|
@ -16,9 +16,11 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
dockerConf = "/var/lib/rancher/conf/docker"
|
dockerConf = "/var/lib/rancher/conf/docker"
|
||||||
dockerDone = "/run/docker-done"
|
dockerDone = "/run/docker-done"
|
||||||
dockerLog = "/var/log/docker.log"
|
dockerLog = "/var/log/docker.log"
|
||||||
|
dockerCompletionLinkFile = "/usr/share/bash-completion/completions/docker"
|
||||||
|
dockerCompletionFile = "/var/lib/rancher/engine/completion"
|
||||||
)
|
)
|
||||||
|
|
||||||
func dockerInitAction(c *cli.Context) error {
|
func dockerInitAction(c *cli.Context) error {
|
||||||
@ -30,6 +32,12 @@ func dockerInitAction(c *cli.Context) error {
|
|||||||
time.Sleep(200 * time.Millisecond)
|
time.Sleep(200 * time.Millisecond)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if _, err := os.Stat(dockerCompletionFile); err != nil {
|
||||||
|
if _, err := os.Readlink(dockerCompletionLinkFile); err == nil {
|
||||||
|
syscall.Unlink(dockerCompletionLinkFile)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dockerBin := ""
|
dockerBin := ""
|
||||||
dockerPaths := []string{
|
dockerPaths := []string{
|
||||||
"/usr/bin",
|
"/usr/bin",
|
||||||
|
@ -26,6 +26,7 @@ const (
|
|||||||
dockerPidFile = "/var/run/docker.pid"
|
dockerPidFile = "/var/run/docker.pid"
|
||||||
sourceDirectory = "/engine"
|
sourceDirectory = "/engine"
|
||||||
destDirectory = "/var/lib/rancher/engine"
|
destDirectory = "/var/lib/rancher/engine"
|
||||||
|
dockerCompletionFName = "completion"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -94,8 +95,14 @@ func copyBinaries(source, dest string) error {
|
|||||||
if err = out.Close(); err != nil {
|
if err = out.Close(); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := os.Chmod(destFile, 0751); err != nil {
|
if file.Name() == dockerCompletionFName {
|
||||||
return err
|
if err := os.Chmod(destFile, 0644); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if err := os.Chmod(destFile, 0751); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user