Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Cmd = &cobra.Command{ Use: "kdev", Short: "Run sikalabs/dev in Kubernetes", Args: cobra.MaximumNArgs(1), Run: func(c *cobra.Command, args []string) { if FlagRestricted { FlagNoRoot = true } podName := "dev-" + strconv.Itoa(time_utils.Unix()) kubectlRunArgs := []string{ podName, "--image", FlagImage, } if !FlagDetached { kubectlRunArgs = append(kubectlRunArgs, "--rm", "-ti") } if FlagNode != "" || FlagNoRoot { overrides := kdevOverrides{ Spec: kdevPodSpec{ NodeName: FlagNode, }, } if FlagNoRoot { uid := int64(1000) gid := int64(1000) runAsNonRoot := true overrides.Spec.SecurityContext = &kdevSecurityContext{ RunAsUser: &uid, RunAsGroup: &gid, RunAsNonRoot: &runAsNonRoot, } } if FlagRestricted { allowPrivilegeEscalation := false overrides.Spec.SecurityContext.SeccompProfile = &kdevSeccompProfile{ Type: "RuntimeDefault", } overrides.Spec.Containers = []kdevContainer{ { Name: podName, SecurityContext: &kdevContainerSecurityContext{ AllowPrivilegeEscalation: &allowPrivilegeEscalation, Capabilities: &kdevCapabilities{ Drop: []string{"ALL"}, }, }, }, } } overridesJson, _ := json.Marshal(overrides) kubectlRunArgs = append( kubectlRunArgs, "--overrides", string(overridesJson), ) if FlagRestricted { kubectlRunArgs = append(kubectlRunArgs, "--override-type", "strategic") } } if FlagNamespace != "" { kubectlRunArgs = append(kubectlRunArgs, "--namespace", FlagNamespace) } kubectlArgs := append([]string{"run"}, kubectlRunArgs...) if !FlagDetached { kubectlArgs = append(kubectlArgs, "--", FlagShell) } else { kubectlArgs = append(kubectlArgs, "--", "sleep", "infinity") } if FlagDryRun { fmt.Printf( "kubectl %s\n", strings.Join(kubectlArgs, " "), ) } else { cmd := exec.Command( "kubectl", kubectlArgs..., ) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr cmd.Stdin = os.Stdin cmd.Run() } }, }
View Source
var FlagDetached bool
View Source
var FlagDryRun bool
View Source
var FlagImage string
View Source
var FlagNamespace string
View Source
var FlagNoRoot bool
View Source
var FlagNode string
View Source
var FlagRestricted bool
View Source
var FlagShell string
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.