Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Cmd = &cobra.Command{ Use: "apidump", Short: "Capture requests/responses from network traffic.", Long: "Capture and store a sequence of requests/responses to a service by observing network traffic.", SilenceUsage: true, Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, _ []string) error { traceTags, err := util.ParseTagsAndWarn(tagsFlag) if err != nil { return err } plugins, err := pluginloader.Load(pluginsFlag) if err != nil { return errors.Wrap(err, "failed to load plugins") } if outFlag.IsSet() == (serviceFlag != "") { return errors.New("exactly one of --out or --service must be specified") } if serviceFlag != "" { uri, err := akiuri.Parse(akiuri.Scheme + serviceFlag) if err != nil { return errors.Wrap(err, "bad service name") } outFlag.AkitaURI = &uri } if appendByTagFlag { if outFlag.AkitaURI == nil { return errors.New("\"append-by-tag\" can only be used with a cloud-based trace") } if outFlag.AkitaURI.ObjectName != "" { return errors.New("Cannot specify a trace name together with \"append-by-tag\"") } destURI, err := util.GetTraceURIByTags(akiflag.Domain, akiflag.GetClientID(), outFlag.AkitaURI.ServiceName, traceTags, "append-by-tag", ) if err != nil { return err } if destURI.ObjectName != "" { outFlag.AkitaURI = &destURI } } args := apidump.Args{ ClientID: akiflag.GetClientID(), Domain: akiflag.Domain, Out: outFlag, Tags: traceTags, SampleRate: sampleRateFlag, WitnessesPerMinute: rateLimitFlag, Interfaces: interfacesFlag, Filter: filterFlag, PathExclusions: pathExclusionsFlag, HostExclusions: hostExclusionsFlag, PathAllowlist: pathAllowlistFlag, HostAllowlist: hostAllowlistFlag, ExecCommand: execCommandFlag, ExecCommandUser: execCommandUserFlag, Plugins: plugins, } if err := apidump.Run(args); err != nil { return cmderr.AkitaErr{Err: err} } return nil }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.