cmd

package
v0.2.23 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 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"

	// HomebrewInstall is an environment variable that denotes the
	// install method was via homebrew package manager
	HomebrewInstall = "LW_HOMEBREW_INSTALL"
)

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 yum 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"`
	InstallMethod string      `json:"install_method,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

func (*Honeyvent) AddFeatureField added in v0.2.13

func (e *Honeyvent) AddFeatureField(key string, value interface{})

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