cmd

package
v0.2.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2021 License: Apache-2.0 Imports: 42 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DisableTelemetry is an environment variable that can be used to
	// disable telemetry sent to Honeycomb
	DisableTelemetry = "LW_TELEMETRY_DISABLE"
)

Variables

View Source
var (
	// HoneyApiKey is a variable that is injected at build time via
	// the cross-platform directive inside the Makefile, this key is
	// used to send events to Honeycomb so that we can understand how
	// our customers use the Lacework CLI
	HoneyApiKey = "unknown"

	// HoneyDataset is the dataset in Honeycomb that we send tracing
	// data this variable will be set depending on the environment we
	// are running on. During development, we send all events and
	// tracing data to a default dataset.
	HoneyDataset = "lacework-cli-dev"
)
View Source
var (
	// All the following "unknown" variables are being injected at
	// build time via the cross-platform directive inside the Makefile
	//
	// Version is the semver coming from the VERSION file
	Version = "unknown"

	// GitSHA is the git ref that the cli was built from
	GitSHA = "unknown"

	// BuildTime is a human-readable time when the cli was built at
	BuildTime = "unknown"

	// The name of the version cache file needed for daily version checks
	VersionCacheFile = "version_cache"
)
View Source
var SupportedPackageManagers = []string{"dpkg-query", "rpm"} // @afiune can we support ym and apk?

Functions

func Execute

func Execute() error

Execute adds all child commands to the root command and sets flags appropriately. This is called by main.main(). It only needs to happen once to the rootCmd.

func GenerateMarkdownDocs added in v0.2.4

func GenerateMarkdownDocs()

func NewDefaultState added in v0.1.3

func NewDefaultState() *cliState

NewDefaultState creates a new cliState with some defaults

Types

type AgentHost added in v0.2.10

type AgentHost struct {
	MachineHostname string `json:"MACHINE_HOSTNAME"`
	Name            string `json:"NAME"`
	MachineIP       string `json:"MACHINE_IP_ADDR"`
	Status          string `json:"STATUS"`
	//CreatedTime     int64       `json:"CREATED_TIME"`
	AgentVersion string      `json:"AGENT_VERSION"`
	Mode         string      `json:"MODE"`
	Tags         machineTags `json:"TAGS"`
}

type AgentsResponse added in v0.2.10

type AgentsResponse struct {
	Data []AgentHost `json:"data"`
	Ok   bool        `json:"ok"`
}

type Honeyvent added in v0.2.12

type Honeyvent struct {
	Version     string      `json:"version"`
	Os          string      `json:"os"`
	Arch        string      `json:"arch"`
	Command     string      `json:"command,omitempty"`
	Args        []string    `json:"args,omitempty"`
	Account     string      `json:"account,omitempty"`
	Profile     string      `json:"profile,omitempty"`
	ApiKey      string      `json:"api_key,omitempty"`
	Feature     string      `json:"feature,omitempty"`
	FeatureData interface{} `json:"feature.data,omitempty"`
	DurationMs  int64       `json:"duration_ms,omitempty"`
	Error       string      `json:"error,omitempty"`

	// tracing data for multiple events, this is useful for specific features
	// within the Lacework CLI such as daily version check, polling mechanism, etc.
	TraceID  string `json:"trace.trace_id,omitempty"`
	SpanID   string `json:"trace.span_id,omitempty"`
	ParentID string `json:"trace.parent_id,omitempty"`
}

Honeyvent defines what a Honeycomb event looks like for the Lacework CLI

type OS added in v0.2.3

type OS struct {
	Name    string
	Version string
}

type Profiles added in v0.1.3

type Profiles map[string]credsDetails

Profiles is the representation of the ~/.lacework.toml

Example:

[default] account = "example" api_key = "EXAMPLE_0123456789" api_secret = "_0123456789"

[dev] account = "dev" api_key = "DEV_0123456789" api_secret = "_0123456789"

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL