ACT workers
Project description
ACT Workers
Introduction
This repository contains workers for the ACT platform.
The source code the workers are available on github.
Setup
To use the workers, install from PyPi:
sudo pip3 install act-workers
This will install scripts for all workers:
- act-attack
- act-country-regions
- act-misp-feeds
- act-mnemonic-pdns
- act-scio
- act-shadowserver-asn
- act-vt
- act-uploader
Usage
To print facts to stdout:
$ act-country-regions
{"type": "memberOf", "value": "", "accessMode": "Public", "sourceObject": {"type": "country", "value": "Afghanistan"}, "destinationObject": {"type": "subRegion", "value": "Southern Asia"}, "bidirectionalBinding": false}
{"type": "memberOf", "value": "", "accessMode": "Public", "sourceObject": {"type": "subRegion", "value": "Southern Asia"}, "destinationObject": {"type": "region", "value": "Asia"}, "bidirectionalBinding": false}
(...)
Or print facts as text representation:
$ act-country-regions --output-format str
(country/Afghanistan) -[memberOf]-> (subRegion/Southern Asia)
(subRegion/Southern Asia) -[memberOf]-> (region/Asia)
(...)
To add facts directly to the platform, include the act-baseurl and user-id options:
$ act-country-regions --act-baseurl http://localhost:8888 --user-id 1
Configuration
All workers support options specified as command line arguments, environment variables and in a configuration file.
A utility to show and start with a default ini file is also included:
act-worker-config --help
usage: ACT worker config [-h] {show,user,system}
positional arguments:
{show,user,system}
optional arguments:
-h, --help show this help message and exit
show - Print default config
user - Copy default config to /home/fredrikb/.config/actworkers/actworkers.ini
system - Copy default config to /etc/actworkers.ini
You can see the default options in act/workers/etc/actworkers.ini.
The configuration presedence are (from lowest to highest):
- Defaults (shown in --help for each worker)
- INI file
- Environment variable
- Command line argument
INI-file
Arguments are parsed in two phases. First, it will look for the argument --config argument which can be used to specify an alternative location for the ini file. If not --config argument is given it will look for an ini file in the following locations:
/etc/<CONFIG_FILE_NAME>
~/.config/<CONFIG_ID>/<CONFIG_FILE_NAME> (or directory specified by $XDG_CONFIG_HOME)
The ini file contains a "[DEFAULT]" section that will be used for all workers. In addition there are separate sections for each worker which you can use to configure worker-specific options, and override default options.
Environment variables
The configuration step will also look for environment variables in uppercase and with "-" replaced with "_". For the example for the option "cert-file" it will look for the enviornment variable "$CERT_FILE".
Requirements
All workers requires python version >= 3.5 and the act-api library:
In addition some of the libraries might have additional requirements. See requirements.txt for a full list of all requirements.
Local development
Use pip to install in local development mode. act-workers (and act-api) uses namespacing, so it is not compatible with using setup.py install
or setup.py develop
.
In repository, run:
pip3 install --user -e .
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.