Documentation ¶
Index ¶
- Variables
- func AddItem(itemType string, item Item) error
- func CollecDepsCheck(v *Item) error
- func DisplaySummary()
- func DownloadDataIfNeeded(hub *csconfig.Hub, target Item, force bool) error
- func DownloadHubIdx(hub *csconfig.Hub) ([]byte, error)
- func GetHubIdx(hub *csconfig.Hub) error
- func GetItemMap(itemType string) map[string]Item
- func GetUpstreamInstalledScenariosAsString() ([]string, error)
- func GetVersionStatus(v *Item) int
- func HubStatus(itemType string, name string, all bool) []map[string]string
- func ItemStatus(v Item) (string, bool, bool, bool)
- func LoadPkgIndex(buff []byte) (map[string]map[string]Item, error)
- func LocalSync(hub *csconfig.Hub) (error, []string)
- func SyncDir(hub *csconfig.Hub, dir string) (error, []string)
- func UpdateHubIdx(hub *csconfig.Hub) error
- type Item
- func DisableItem(hub *csconfig.Hub, target Item, purge bool, force bool) (Item, error)
- func DownloadItem(hub *csconfig.Hub, target Item, overwrite bool) (Item, error)
- func DownloadLatest(hub *csconfig.Hub, target Item, overwrite bool) (Item, error)
- func EnableItem(hub *csconfig.Hub, target Item) (Item, error)
- func GetItem(itemType string, itemName string) *Item
- func GetItemByPath(itemType string, itemPath string) (*Item, error)
- func GetUpstreamInstalledScenarios() ([]Item, error)
- type ItemVersion
Constants ¶
This section is empty.
Variables ¶
var COLLECTIONS = "collections"
var HubBranch = "master"
var HubIndexFile = ".index.json"
var ItemTypes = []string{PARSERS, PARSERS_OVFLW, SCENARIOS, COLLECTIONS}
var MissingHubIndex = errors.New("hub index can't be found")
var PARSERS = "parsers"
managed configuration types
var PARSERS_OVFLW = "postoverflows"
var RawFileURLTemplate = "https://hub-cdn.crowdsec.net/%s/%s"
var ReferenceMissingError = errors.New("Reference(s) missing in collection")
To be used when reference(s) (is/are) missing in a collection
var SCENARIOS = "scenarios"
Functions ¶
func CollecDepsCheck ¶
func DisplaySummary ¶
func DisplaySummary()
func DownloadDataIfNeeded ¶ added in v1.2.0
func GetItemMap ¶ added in v1.0.0
func GetUpstreamInstalledScenariosAsString ¶ added in v1.0.0
func GetVersionStatus ¶ added in v1.0.10
GetVersionStatus : semver requires 'v' prefix
func HubStatus ¶
Returns a list of entries for packages : name, status, local_path, local_version, utf8_status (fancy)
func ItemStatus ¶
returns: human-text, Enabled, Warning, Unmanaged
func LoadPkgIndex ¶
LoadPkgIndex loads a local .index.json file and returns the map of parsers/scenarios/collections associated
func UpdateHubIdx ¶
Types ¶
type Item ¶
type Item struct { /*descriptive info*/ Type string `yaml:"type,omitempty"` //parser|postoverflows|scenario|collection(|enrich) Stage string `json:"stage" yaml:"stage,omitempty,omitempty"` //Stage for parser|postoverflow : s00-raw/s01-... Name string //as seen in .config.json, usually "author/name" FileName string //the filename, ie. apache2-logs.yaml Description string `yaml:"description,omitempty"` //as seen in .config.json Author string `json:"author"` //as seen in .config.json References []string `yaml:"references,omitempty"` //as seen in .config.json BelongsToCollections []string `yaml:"belongs_to_collections,omitempty"` /*if it's part of collections, track name here*/ /*remote (hub) infos*/ RemoteURL string `yaml:"remoteURL,omitempty"` //the full remote uri of file in http RemotePath string `json:"path" yaml:"remote_path,omitempty"` //the path relative to git ie. /parsers/stage/author/file.yaml RemoteHash string `yaml:"hash,omitempty"` //the meow Version string `json:"version"` //the last version Versions map[string]ItemVersion `json:"versions" yaml:"-"` //the list of existing versions /*local (deployed) infos*/ LocalPath string `yaml:"local_path,omitempty"` //the local path relative to ${CFG_DIR} //LocalHubPath string LocalVersion string LocalHash string //the local meow Installed bool Downloaded bool UpToDate bool Tainted bool //has it been locally modified Local bool //if it's a non versioned control one /*if it's a collection, it not a single file*/ Parsers []string `yaml:"parsers,omitempty"` PostOverflows []string `yaml:"postoverflows,omitempty"` Scenarios []string `yaml:"scenarios,omitempty"` Collections []string `yaml:"collections,omitempty"` }
Item can be : parsed, scenario, collection
func DisableItem ¶
DisableItem to disable an item managed by the hub, removes the symlink if purge is true
func DownloadLatest ¶
DownloadLatest will download the latest version of Item to the tdir directory
func GetItemByPath ¶ added in v1.0.0
GetItemByPath retrieves the item from hubIdx based on the path. To achieve this it will resolve symlink to find associated hub item.