github.com/coreos/rocket@v1.30.1-0.20200224141603-171c416fac02/rkt/app_exec.go (about) 1 // Copyright 2016 The rkt Authors 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 package main 16 17 import "github.com/spf13/cobra" 18 19 var ( 20 // Not using alias because we want 'rkt app exec' appears as 21 // a subcommand of 'rkt app'. 22 cmdAppExec = &cobra.Command{ 23 Use: "exec [--app=APP_NAME] UUID [CMD [ARGS ...]]", 24 Short: "Execute commands in the given app's namespace.", 25 Long: "This executes the commands in the given app's namespace. The UUID is the UUID of a running pod. the app name is specified by --app. If CMD and ARGS are empty, then it will execute '/bin/bash' by default.", 26 Run: ensureSuperuser(runWrapper(runEnter)), 27 } 28 ) 29 30 func init() { 31 cmdApp.AddCommand(cmdAppExec) 32 cmdAppExec.Flags().StringVar(&flagAppName, "app", "", "name of the app to exec within the specified pod, can be empty if there is only one app in the pod.") 33 // Disable interspersed flags to stop parsing after the first non flag 34 // argument. This is need to permit to correctly handle 35 // ARGS for the CMD. 36 cmdAppExec.Flags().SetInterspersed(false) 37 }