Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitAgentCmdFlags ¶ added in v1.0.0
func InitAgentCmdFlags(c *cobra.Command, cfg *AgentCmdFlags)
Types ¶
type AgentCmdFlags ¶ added in v1.0.0
type AgentCmdFlags struct {
// ConfigFilePath (--config-file, -c) is the path to the agent configuration
// YAML file.
ConfigFilePath string
// Period (--period, -p) is the time waited between scans.
Period time.Duration
// OneShot (--one-shot) flag causes agent to run once.
OneShot bool
// VenafiCloudMode (--venafi-cloud) determines which format to load for
// config and credential type.
VenafiCloudMode bool
// ClientID (--client-id) is the clientID in case of Venafi Cloud mode.
ClientID string
// PrivateKeyPath (--private-key-path) is the path for the service account
// private key in case of Venafi Cloud mode.
PrivateKeyPath string
// CredentialsPath (--credentials-file, -k) is the path to the credentials )
// is where the agent will try to loads the credentials (Experimental).
CredentialsPath string
// OutputPath (--output-path) is where the agent will write data to instead
// of uploading to server.
OutputPath string
// InputPath (--input-path) is where the agent will read data from instead
// of gathering data from clusters.
InputPath string
// BackoffMaxTime (--backoff-max-time) is the maximum time for which data
// gatherers will retry after a failure.
BackoffMaxTime time.Duration
// StrictMode (--strict) causes the agent to fail at the first attempt.
StrictMode bool
// APIToken (--api-token) is an authentication token used for the backend
// API as an alternative to OAuth flows.
APIToken string
// VenConnName (--venafi-connection) is the name of the VenafiConnection
// resource to use. Using this flag will enable Venafi Connection mode.
VenConnName string
// VenConnNS (--venafi-connection-namespace) is the namespace of the
// VenafiConnection resource to use. It is only useful when the
// VenafiConnection isn't in the same namespace as the agent.
//
// May be left empty to use the same namespace as the agent.
VenConnNS string
// InstallNS (--install-namespace) is the namespace in which the agent is
// running in. Only needed when running the agent outside of Kubernetes.
//
// May be left empty when running in Kubernetes. In this case, the namespace
// is read from the file
// /var/run/secrets/kubernetes.io/serviceaccount/namespace.
InstallNS string
// Profiling (--enable-pprof) enables the pprof server.
Profiling bool
// Prometheus (--enable-metrics) enables the Prometheus metrics server.
Prometheus bool
}
var Flags AgentCmdFlags
type Config ¶
type Config struct {
Schedule string `yaml:"schedule"`
Period time.Duration `yaml:"period"`
// Deprecated: Endpoint is being replaced with Server.
Endpoint Endpoint `yaml:"endpoint"`
// Server is the base url for the Preflight server.
// It defaults to https://preflight.jetstack.io.
Server string `yaml:"server"`
// OrganizationID within Preflight that will receive the data.
OrganizationID string `yaml:"organization_id"`
// ClusterID is the cluster that the agent is scanning.
ClusterID string `yaml:"cluster_id"`
ClusterDescription string `yaml:"cluster_description"`
DataGatherers []DataGatherer `yaml:"data-gatherers"`
// InputPath replaces DataGatherers with input data file
InputPath string `yaml:"input-path"`
// OutputPath replaces Server with output data file
OutputPath string `yaml:"output-path"`
VenafiCloud *VenafiCloudConfig `yaml:"venafi-cloud,omitempty"`
}
Config wraps the options for a run of the agent.
func ParseConfig ¶
ParseConfig reads config into a struct used to configure running agents
type DataGatherer ¶ added in v0.1.32
type DataGatherer struct {
Kind string `yaml:"kind"`
Name string `yaml:"name"`
DataPath string `yaml:"data_path"`
Config datagatherer.Config
}
func (*DataGatherer) UnmarshalYAML ¶ added in v0.1.32
func (dg *DataGatherer) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML unmarshals a dataGatherer resolving the type according to Kind.
type VenafiCloudConfig ¶ added in v0.1.40
Click to show internal directories.
Click to hide internal directories.