Skip to content

Commit fb4216d

Browse files
committed
API documentation and partial update to 0.3.7
1 parent 9f5ae06 commit fb4216d

File tree

137 files changed

+3356
-23576
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

137 files changed

+3356
-23576
lines changed

config.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ unsafe= true
1313
home = [ "HTML", "RSS", "JSON"]
1414

1515
[params]
16-
author = "Javier Marcos de Prado, JMPSec"
16+
author = "Javier Marcos, JMP Sec"
1717
description = "Documentation for osctrl: Fast and efficient osquery management"
1818
themeVariant = "osctrl"
1919
editURL = "https://github.com/jmpsec/osctrl-docs/edit/master/content/"

content/components/osctrl-api/_index.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,4 @@ pre = ""
1515

1616
The osctrl-api component of **osctrl** provides an API interface to interact with its enrolled nodes and with **osctrl** itself.
1717

18-
The API is documented with Swagger:
19-
20-
[https://app.swaggerhub.com/apis-docs/jmpsec/osctrl-api/](https://app.swaggerhub.com/apis-docs/jmpsec/osctrl-api/)
18+
You can find the updated [API documentation](/openapi/doc.html) for **osctrl**, generated using [stoplight.io](https://docs.stoplight.io/).

content/deployment/docker/_index.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ date = 2019-08-09T19:23:53+02:00
44
weight = 2
55
+++
66

7-
You can use docker to run **osctrl**. Each component has a separate `Dockerfile` to run independently. There is also a [docker-compose.yml](https://github.com/jmpsec/osctrl/blob/master/docker/docker-compose.yml) that ties all the components together to serve a functional deployment.
7+
You can use docker to run **osctrl** and all the components are defined in the `docker-compose-dev.yml` that ties all the components together, to serve a functional deployment.
88

9-
In the [Makefile](https://github.com/jmpsec/osctrl/blob/master/Makefile) there are docker specific commands to deploy **osctrl**, which are utilizing the [dockerize.sh](/usage/dockerize.sh/) command
9+
Ultimately you can just execute `make docker_dev` and it will automagically build and run **osctrl** locally in docker, for development purposes.

content/deployment/natively/_index.md

+7-3
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,14 @@ date = 2019-08-09T19:24:35+02:00
44
weight = 3
55
+++
66

7-
If you want to deploy **osctrl** in your own environment, you can use the [provision.sh](https://github.com/jmpsec/osctrl/blob/master/deploy/provision.sh) to install all necessary dependencies and to configure all components.
7+
If you want to deploy **osctrl** in your own environment, you can use the [provision.sh](https://github.com/jmpsec/osctrl/blob/master/deploy/provision.sh) script to install all necessary dependencies and to configure all components.
88

9-
It is a good idea to take a look at the [usage](/usage/provision.sh/) of the provisioning script to understand all the options and all the parameters. Check out also how the same script is used with [vagrant](/deployment/vagrant/) to deploy **osctrl** in a local virtual machine, with all components installed and configured.
9+
It is a good idea to take a look at the [usage](/usage/provision.sh/) of the provisioning script to understand all the options and all the parameters.
1010

1111
### Examples
1212

13-
The most common use case for provisioning **osctrl** is very similar to how it gets provisioned for [vagrant](/deployment/vagrant/), which means in dev mode and using self-signed certificates.
13+
A very common use case for provisioning **osctrl** , would run in dev mode and using self-signed certificates. This is would be the preferred choice for development purposes:
14+
15+
```properties
16+
./deploy/provision.sh -m dev -s /path/to/code --nginx --postgres --redis -p all --all-hostname "dev.osctrl.net" -E
17+
```

content/deployment/vagrant/_index.md

-35
This file was deleted.

content/usage/dockerize.sh/_index.md

-39
This file was deleted.

content/usage/osctrl-admin/_index.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ USAGE:
1818
osctrl-admin [global options] command [command options] [arguments...]
1919

2020
VERSION:
21-
0.3.4
21+
0.3.7
2222

2323
DESCRIPTION:
2424
Admin service for osctrl, a fast and efficient osquery management
@@ -65,9 +65,10 @@ GLOBAL OPTIONS:
6565
--jwt-file FILE Load JWT configuration from FILE (default: "config/jwt.json") [$JWT_CONFIG_FILE]
6666
--jwt-secret value Password to be used for the backend [$JWT_SECRET]
6767
--jwt-expire value Maximum amount of hours for the tokens to expire (default: 3) [$JWT_EXPIRE]
68-
--osquery-version value Set osquery version as default to be used (default: "5.10.2") [$OSQUERY_VERSION]
69-
--osquery-tables FILE Load osquery tables schema from FILE (default: "data/5.10.2.json") [$OSQUERY_TABLES]
68+
--osquery-version value Set osquery version as default to be used (default: "5.12.1") [$OSQUERY_VERSION]
69+
--osquery-tables FILE Load osquery tables schema from FILE (default: "data/5.12.1.json") [$OSQUERY_TABLES]
7070
--logger-file value, -F value Logger configuration to handle status/results logs from nodes (default: "config/logger.json") [$LOGGER_FILE]
71+
--logger-db-same Use the same DB configuration for the logger (default: false) [$LOGGER_DB_SAME]
7172
--static value, -s value Directory with all the static files needed for the osctrl-admin UI (default: "./static") [$STATIC_FILES]
7273
--static-offline, -S Use offline static files (js and css). Default is online files. (default: false) [$STATIC_ONLINE]
7374
--templates value Directory with all the templates needed for the osctrl-admin UI (default: "./tmpl_admin") [$STATIC_FILES]

content/usage/osctrl-api/_index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ USAGE:
1818
osctrl-api [global options] command [command options] [arguments...]
1919

2020
VERSION:
21-
0.3.4
21+
0.3.7
2222

2323
DESCRIPTION:
2424
API service for osctrl, a fast and efficient osquery management

content/usage/osctrl-cli/_index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ USAGE:
1818
osctrl-cli [global options] command [command options] [arguments...]
1919

2020
VERSION:
21-
0.3.4
21+
0.3.7
2222

2323
DESCRIPTION:
2424
CLI for osctrl, a fast and efficient osquery management

content/usage/osctrl-tls/_index.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ USAGE:
1818
osctrl-tls [global options] command [command options] [arguments...]
1919

2020
VERSION:
21-
0.3.4
21+
0.3.7
2222

2323
DESCRIPTION:
2424
TLS service for osctrl, a fast and efficient osquery management
@@ -60,6 +60,7 @@ GLOBAL OPTIONS:
6060
--cert FILE, -T FILE TLS termination certificate from FILE (default: "config/tls.crt") [$TLS_CERTIFICATE]
6161
--key FILE, -K FILE TLS termination private key from FILE (default: "config/tls.key") [$TLS_KEY]
6262
--logger-file value, -F value Logger configuration to handle status/results logs from nodes (default: "config/logger.json") [$LOGGER_FILE]
63+
--logger-db-same Use the same DB configuration for the logger (default: false) [$LOGGER_DB_SAME]
6364
--always-log, -a, --always Always log status and on-demand query logs from nodes in database (default: false) [$ALWAYS_LOG]
6465
--carver-type value Carver to be used to receive files extracted from nodes (default: "db") [$CARVER_TYPE]
6566
--carver-file value Carver configuration file to receive files extracted from nodes (default: "config/carver.json") [$CARVER_FILE]

content/usage/provision.sh/_index.md

+39-41
Original file line numberDiff line numberDiff line change
@@ -17,57 +17,55 @@ $ ./deploy/provision.sh -h
1717
Usage: ./deploy/provision.sh [-h|--help] [PARAMETER [ARGUMENT]] [PARAMETER [ARGUMENT]] ...
1818

1919
Parameters:
20-
-h, --help Shows this help message and exit.
21-
-m MODE, --mode MODE Mode of operation. Default value is dev
22-
-t TYPE, --type TYPE Type of certificate to use. Default value is self
23-
-p PART, --part PART Part of the service. Default is all
20+
-h, --help Shows this help message and exit.
21+
-m MODE, --mode MODE Mode of operation. Default value is dev
22+
-t TYPE, --type TYPE Type of certificate to use. Default value is self
23+
-p PART, --part PART Part of the service. Default is all
2424

2525
Arguments for MODE:
26-
dev Provision will run in development mode. Certificate will be self-signed.
27-
prod Provision will run in production mode.
26+
dev Provision will run in development mode. Certificate will be self-signed.
27+
prod Provision will run in production mode.
2828

2929
Arguments for TYPE:
30-
self Provision will use a self-signed TLS certificate that will be generated.
31-
own Provision will use the TLS certificate provided by the user.
32-
certbot Provision will generate a TLS certificate using letsencrypt/certbot. More info here: https://certbot.eff.org/
30+
self Provision will use a self-signed TLS certificate that will be generated.
31+
own Provision will use the TLS certificate provided by the user.
32+
certbot Provision will generate a TLS certificate using letsencrypt/certbot. More info here: https://certbot.eff.org/
3333

3434
Arguments for PART:
35-
admin Provision will deploy only the admin interface.
36-
tls Provision will deploy only the TLS endpoint.
37-
api Provision will deploy only the API endpoint.
38-
all Provision will deploy both the admin and the TLS endpoint.
35+
admin Provision will deploy only the admin interface.
36+
tls Provision will deploy only the TLS endpoint.
37+
api Provision will deploy only the API endpoint.
38+
all Provision will deploy both the admin and the TLS endpoint.
3939

4040
Optional Parameters:
41-
--public-tls-port PORT Port for the TLS endpoint service. Default is 443
42-
--public-admin-port PORT Port for the admin service. Default is 8443
43-
--public-api-port PORT Port for the API service. Default is 8444
44-
--private-tls-port PORT Port for the TLS endpoint service. Default is 9000
45-
--private-admin-port PORT Port for the admin service. Default is 9001
46-
--private-api-port PORT Port for the API service. Default is 9002
47-
--all-hostname HOSTNAME Hostname for all the services. Default is 127.0.0.1
48-
--tls-hostname HOSTNAME Hostname for the TLS endpoint service. Default is 127.0.0.1
49-
--admin-hostname HOSTNAME Hostname for the admin service. Default is 127.0.0.1
50-
--api-hostname HOSTNAME Hostname for the API service. Default is 127.0.0.1
51-
-X PASS --password Force the admin password for the admin interface. Default is random
52-
-c PATH --certfile PATH Path to supplied TLS server PEM certificate(s) bundle
53-
-d DOMAIN --domain DOMAIN Domain for the TLS certificate to be generated using letsencrypt
54-
-e EMAIL --email EMAIL Domain for the TLS certificate to be generated using letsencrypt
55-
-s PATH --source PATH Path to code. Default is /vagrant
56-
-S PATH --dest PATH Path to binaries. Default is /opt/osctrl
57-
-n --nginx Install and configure nginx as TLS termination
58-
-P --postgres Install and configure PostgreSQL as backend
59-
-M --metrics Install and configure all services for metrics (InfluxDB + Telegraf + Grafana)
60-
-R --redis Install and configure Redis as cache
61-
-E --enroll Enroll the serve into itself using osquery. Default is disabled
62-
-N NAME --env NAME Initial environment name to be created. Default is the mode (dev or prod)
63-
-U --upgrade Keep osctrl upgraded with the latest code from Github
41+
--public-tls-port PORT Port for the TLS endpoint service. Default is 443
42+
--public-admin-port PORT Port for the admin service. Default is 8443
43+
--public-api-port PORT Port for the API service. Default is 8444
44+
--private-tls-port PORT Port for the TLS endpoint service. Default is 9000
45+
--private-admin-port PORT Port for the admin service. Default is 9001
46+
--private-api-port PORT Port for the API service. Default is 9002
47+
--all-hostname HOSTNAME Hostname for all the services. Default is 127.0.0.1
48+
--tls-hostname HOSTNAME Hostname for the TLS endpoint service. Default is 127.0.0.1
49+
--admin-hostname HOSTNAME Hostname for the admin service. Default is 127.0.0.1
50+
--api-hostname HOSTNAME Hostname for the API service. Default is 127.0.0.1
51+
-X PASS --password Force the admin password for the admin interface. Default is random
52+
-c PATH --certfile PATH Path to supplied TLS server PEM certificate(s) bundle
53+
-d DOMAIN --domain DOMAIN Domain for the TLS certificate to be generated using letsencrypt
54+
-e EMAIL --email EMAIL Domain for the TLS certificate to be generated using letsencrypt
55+
-s PATH --source PATH Path to code. Default is ~/osctrl
56+
-S PATH --dest PATH Path to binaries. Default is /opt/osctrl
57+
-n --nginx Install and configure nginx as TLS termination
58+
-P --postgres Install and configure PostgreSQL as backend
59+
-R --redis Install and configure Redis as cache
60+
-E --enroll Enroll the serve into itself using osquery. Default is disabled
61+
-N NAME --env NAME Initial environment name to be created. Default is the mode (dev or prod)
62+
-U --upgrade Keep osctrl upgraded with the latest code from Github
6463

6564
Examples:
66-
Provision service in development mode, code is in /vagrant and all components (admin, tls, api):
67-
./deploy/provision.sh -m dev -s /vagrant -p all
65+
Provision service in development mode, code is in /code/osctrl and all components (admin, tls, api):
66+
./deploy/provision.sh -m dev -s /code/osctrl -p all
6867
Provision service in production mode using my own certificate and only with TLS endpoint:
69-
./deploy/provision.sh -m prod -t own -k /etc/certs/my.key -c /etc/certs/cert.crt -p tls
68+
./deploy/provision.sh -m prod -t own -k /etc/certs/my.key -c /etc/certs/cert.crt -p tls
7069
Upgrade service with the latest code from Github. Does not create services nor certificates:
71-
./deploy/provision.sh -U -s /code/osctrl -S /srv/osctrl
72-
70+
./deploy/provision.sh -U -s /code/osctrl -S /srv/osctrl
7371
```

docs/404.html

+9-9
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@
33

44
<head>
55
<meta charset="utf-8"> <meta name="description" content="Documentation for osctrl: Fast and efficient osquery management">
6-
<meta name="author" content="Javier Marcos de Prado, JMPSec">
6+
<meta name="author" content="Javier Marcos, JMP Sec">
77
<link rel="icon" href="/favicon.png" type="image/png">
88

99
<title>404 Page not found</title>
1010

1111

12-
<link href="/css/nucleus.css?1705261124" rel="stylesheet">
13-
<link href="/css/fontawesome-all.min.css?1705261124" rel="stylesheet">
14-
<link href="/css/hybrid.css?1705261124" rel="stylesheet">
15-
<link href="/css/featherlight.min.css?1705261124" rel="stylesheet">
16-
<link href="/css/perfect-scrollbar.min.css?1705261124" rel="stylesheet">
17-
<link href="/css/theme.css?1705261124" rel="stylesheet">
18-
<link href="/css/hugo-theme.css?1705261124" rel="stylesheet">
12+
<link href="/css/nucleus.css?1723239180" rel="stylesheet">
13+
<link href="/css/fontawesome-all.min.css?1723239180" rel="stylesheet">
14+
<link href="/css/hybrid.css?1723239180" rel="stylesheet">
15+
<link href="/css/featherlight.min.css?1723239180" rel="stylesheet">
16+
<link href="/css/perfect-scrollbar.min.css?1723239180" rel="stylesheet">
17+
<link href="/css/theme.css?1723239180" rel="stylesheet">
18+
<link href="/css/hugo-theme.css?1723239180" rel="stylesheet">
1919

20-
<link href="/css/theme-osctrl.css?1705261124" rel="stylesheet">
20+
<link href="/css/theme-osctrl.css?1723239180" rel="stylesheet">
2121

2222
<style>
2323
:root #header + #content > #left > #rlblock_left {

0 commit comments

Comments
 (0)