Skip to content

Commit 79a5574

Browse files
committed
[docs] chore(feature flag): introduce feature flag
1 parent a4404ef commit 79a5574

5 files changed

Lines changed: 45 additions & 2 deletions

File tree

README.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55

66
## Introduction
77

8-
This is the main repository of the OpenAEV Documentation space. The online version is available directly on [docs.openaev.io](https://docs.openaev.io).
8+
This is the main repository of the OpenAEV Documentation space. The online version is available directly
9+
on [docs.openaev.io](https://docs.openaev.io).
910

1011
## Development (local setup)
1112
### Prerequisites
@@ -86,3 +87,36 @@ List known versions:
8687
```
8788
$ mike list
8889
```
90+
91+
## Feature Flags
92+
93+
The documentation supports **feature flags** to conditionally show or hide content, powered by the [
94+
`mkdocs-macros-plugin`](https://mkdocs-macros-plugin.readthedocs.io/).
95+
96+
This mechanism allows to prepare documentation for upcoming features without publishing it, similar to feature flags in
97+
the OpenAEV application codebase.
98+
99+
### How it works
100+
101+
1. Feature flags are declared in `mkdocs.yml` under `extra.feature_flags`.
102+
2. Content is wrapped in Jinja2 conditions in `.md` or `.html` files.
103+
3. At build time (`mkdocs build` / `mkdocs serve`), flagged sections are included or excluded.
104+
105+
### 1. Declare a flag
106+
107+
In `mkdocs.yml`:
108+
109+
```yaml
110+
extra:
111+
feature_flags:
112+
palo_alto_cortex: true # visible in the documentation
113+
my_new_feature: false # hidden from the documentation
114+
```
115+
116+
### 2. Use the flag in Markdown
117+
118+
```markdown
119+
{%- if config.extra.feature_flags.palo_alto_cortex %}
120+
This entire section is only rendered when the flag is enabled.
121+
{%- endif %}
122+
```

docs/administration/enterprise.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,13 @@ according to the [OpenAEV architecture](../deployment/platform/overview.md#archi
5454

5555
The SentinelOne Agent can be leveraged to execute implants as detached processes that will then execute payloads
5656
according to the [OpenAEV architecture](../deployment/platform/overview.md#architecture)
57+
{%- if config.extra.feature_flags.palo_alto_cortex %}
5758

5859
### Palo Alto Cortex Agent
5960

6061
The Palo Alto Cortex Agent can be leveraged to execute implants as detached processes that will then execute payloads
6162
according to the [OpenAEV architecture](../deployment/platform/overview.md#architecture)
63+
{%- endif %}
6264

6365
## Remediations in CVES
6466

docs/deployment/ecosystem/executors.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ architectures. This table below summarizes the information about each agent.
1414
| **Tanium Agent** | Under license | As a system service | Executable | An admin background process | As a system admin | No, always the same agent |
1515
| **Crowdstrike Falcon Agent** | Under license | As a system service | Executable | An admin background process | As a system admin | No, always the same agent |
1616
| **SentinelOne Agent** | Under license | As a system service | Executable | An admin background process | As a system admin | No, always the same agent |
17+
{%- if config.extra.feature_flags.palo_alto_cortex %}
1718
| **Palo Alto Cortex Agent** | Under license | As a system service | Executable | An admin background process | As a system admin | No, always the same agent |
19+
{%- endif %}
1820
| **Caldera Agent** | Open source | As a user session | Script | An admin background process | As a user admin | Yes, depending on the user |
1921

2022
## OpenAEV Agent
@@ -293,6 +295,7 @@ Endpoint on the OpenAEV endpoint page.
293295
You are now ready to leverage your CrowdStrike platform to run OpenAEV payloads!
294296

295297
---
298+
{%- if config.extra.feature_flags.palo_alto_cortex %}
296299
<a id="paloaltocortex-agent"></a>
297300
## Palo Alto Cortex Agent
298301

@@ -378,6 +381,7 @@ Endpoint on the OpenAEV endpoint page.
378381
!!! success "Installation done"
379382

380383
You are now ready to leverage your Palo Alto Cortex platform to run OpenAEV payloads!
384+
{%- endif %}
381385

382386
---
383387
<a id="sentinelone-agent"></a>

docs/usage/assets.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ To register new endpoints, you will need to install an agent. You can find detai
6969
| Attribute | Meaning |
7070
|-----------------|-------------------------------------------------------------------------------------|
7171
| **Name** | Local user account on the endpoint that executes the agent process |
72-
| **Executor** | Agent type (OpenAEV, Crowdstrike, Tanium, SentinelOne, Palo Alto Cortex or Caldera) |
72+
| **Executor** | Agent type (OpenAEV, Crowdstrike, Tanium, SentinelOne{% if config.extra.feature_flags.palo_alto_cortex %}, Palo Alto Cortex{% endif %} or Caldera) |
7373
| **Privilege** | Local account's privileges on the endpoint (admin, or standard user) |
7474
| **Deployment** | Installation type (Service or Session) |
7575
| **Status** | Active or Inactive (threshold: 1 hour) |

mkdocs.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ extra_css:
3434

3535
# Extra
3636
extra:
37+
feature_flags:
38+
palo_alto_cortex: true
3739
version:
3840
provider: mike
3941
analytics:
@@ -60,6 +62,7 @@ plugins:
6062
alias_type: symlink
6163
canonical_version: latest
6264
- search
65+
- macros
6366
- git-committers:
6467
repository: OpenAEV-Platform/docs
6568
branch: main

0 commit comments

Comments
 (0)