You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+17-8Lines changed: 17 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,8 +3,20 @@
3
3
<palign="center">
4
4
<imgsrc="docs/contentctl_logo_white.png"title="In case you're wondering, it's a capybara"alt="contentctl logo"width="250"height="250"></p>
5
5
6
-
7
-
6
+
# contentctl Quick Start Guide
7
+
If you are already familiar with contentctl, the following common commands may be very useful for basic operations
8
+
9
+
| Operation | Command |
10
+
|-----------|---------|
11
+
| Create a repository |`contentctl init`|
12
+
| Validate Your Content |`contentctl validate`|
13
+
| Validate Your Content, performing MITRE Enrichments |`contentctl validate –-enrichments`|
14
+
| Build Your App |`contentctl build`|
15
+
| Test All the content in your app, pausing so that you can debug a search if it fails |`contentctl test –-post-test-behavior pause_on_failure mode:all`|
16
+
| Test All the content in your app, pausing after every detection to allow debugging |`contentctl test –-post-test-behavior always_pause mode:all`|
17
+
| Test 1 or more specified detections. If you are testing more than one detection, the paths are space-separated. You may also use shell-expanded regexes |`contentctl test –-post-test-behavior always_pause mode:selected --mode.files detections/endpoint/7zip_commandline_to_smb_share_path.yml detections/cloud/aws_multi_factor_authentication_disabled.yml detections/application/okta*`|
18
+
| Diff your current branch with a target_branch and test detections that have been updated. Your current branch **must be DIFFERENT** than the target_branch |`contentctl test –-post-test-behavior always_pause mode:changes –-mode.target_branch develop`|
19
+
| Perform Integration Testing of all content. Note that Enterprise Security MUST be listed as an app in your contentctl.yml folder, otherwise all tests will subsequently fail |`contentctl test –-enable-integration-testing --post-test-behavior never_pause mode:all`|
8
20
9
21
# Introduction
10
22
#### Security Is Hard
@@ -65,10 +77,7 @@ Testing is run using [GitHub Hosted Runners](https://docs.github.com/en/actions/
| Python <3.9 | No | No support planned. contentctl tool uses modern language constructs not supported ion Python3.8 and below | N/A |
69
-
| Python 3.9 | Yes | contentctl tool is written in Python | Yes (locally + GitHub Actions) |
70
-
| Python 3.10 | Yes | contentctl tool is written in Python | Yes (locally + GitHub Actions) |
71
-
| Python 3.11 | Yes | contentctl tool is written in Python | Yes (locally + GitHub Actions) |
80
+
| Python 3.11+ | Yes | contentctl tool is written in Python | Yes (locally + GitHub Actions) |
72
81
| Docker (local) | Yes | A running Splunk Server is required for Dynamic Testing. contentctl can automatically create, configure, and destroy this server as a Splunk container during the lifetime of a test. | (locally + GitHub Actions) |
73
82
| Docker (remote) | Planned | A running Splunk Server is required for Dynamic Testing. contentctl can automatically create, configure, and destroy this server as a Splunk container during the lifetime of a test. | No |
74
83
@@ -80,7 +89,7 @@ It is typically recommended to install poetry to the Global Python Environment.*
input_dto.director_output_dto.addContentToDictMappings(Lookup.model_construct(description="A lookup file that will contain the data source objects for detections.",
print(f"[{len(updated_detections)}] Pieces of modifed and new content to test:\n - {modifiedAndNewContentString}")
155
+
print(f"[{len(updated_detections)}] Pieces of modifed and new content (this may include experimental/deprecated/manual_test content):\n - {modifiedAndNewContentString}")
0 commit comments