#2897: How to guide on dev mode
This commit is contained in:
479
src/primaite/notebooks/How-To-Use-Primaite-Dev-Mode.ipynb
Normal file
479
src/primaite/notebooks/How-To-Use-Primaite-Dev-Mode.ipynb
Normal file
@@ -0,0 +1,479 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# PrimAITE Developer mode\n",
|
||||
"\n",
|
||||
"PrimAITE has built in developer tools.\n",
|
||||
"\n",
|
||||
"The dev-mode is designed to help make the development of PrimAITE easier.\n",
|
||||
"\n",
|
||||
"`NOTE: For the purposes of the notebook, the commands are preceeded by \"!\". When running the commands, run it without the \"!\".`\n",
|
||||
"\n",
|
||||
"To display the available dev-mode options, run the command below:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode --help"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Save the current PRIMAITE_CONFIG to restore after the notebook runs\n",
|
||||
"\n",
|
||||
"from primaite import PRIMAITE_CONFIG\n",
|
||||
"\n",
|
||||
"temp_config = PRIMAITE_CONFIG.copy()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Dev mode options"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### enable\n",
|
||||
"\n",
|
||||
"Enables the dev mode for PrimAITE.\n",
|
||||
"\n",
|
||||
"This will enable the developer mode for PrimAITE.\n",
|
||||
"\n",
|
||||
"By default, when developer mode is enabled, session logs will be generated in the PRIMAITE_ROOT/sessions folder unless configured to be generated in another location."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode enable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### disable\n",
|
||||
"\n",
|
||||
"Disables the dev mode for PrimAITE.\n",
|
||||
"\n",
|
||||
"This will disable the developer mode for PrimAITE."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode disable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### show\n",
|
||||
"\n",
|
||||
"Shows if PrimAITE is running in dev mode or production mode.\n",
|
||||
"\n",
|
||||
"The command will also show the developer mode configuration."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode show"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### config\n",
|
||||
"\n",
|
||||
"Configure the PrimAITE developer mode"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode config --help"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### path\n",
|
||||
"\n",
|
||||
"Set the path where generated session files will be output.\n",
|
||||
"\n",
|
||||
"By default, this value will be in PRIMAITE_ROOT/sessions.\n",
|
||||
"\n",
|
||||
"To reset the path to default, run:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode config path -root\n",
|
||||
"\n",
|
||||
"# or\n",
|
||||
"\n",
|
||||
"!primaite dev-mode config path --default"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### --sys-log-level or -slevel\n",
|
||||
"\n",
|
||||
"Set the system log level.\n",
|
||||
"\n",
|
||||
"This will override the system log level in configurations and will make PrimAITE include the set log level and above.\n",
|
||||
"\n",
|
||||
"Available options are:\n",
|
||||
"- `DEBUG`\n",
|
||||
"- `INFO`\n",
|
||||
"- `WARNING`\n",
|
||||
"- `ERROR`\n",
|
||||
"- `CRITICAL`\n",
|
||||
"\n",
|
||||
"Default value is `DEBUG`\n",
|
||||
"\n",
|
||||
"Example:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode config --sys-log-level DEBUG\n",
|
||||
"\n",
|
||||
"# or\n",
|
||||
"\n",
|
||||
"!primaite dev-mode config -slevel DEBUG"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### --agent-log-level or -alevel\n",
|
||||
"\n",
|
||||
"Set the agent log level.\n",
|
||||
"\n",
|
||||
"This will override the agent log level in configurations and will make PrimAITE include the set log level and above.\n",
|
||||
"\n",
|
||||
"Available options are:\n",
|
||||
"- `DEBUG`\n",
|
||||
"- `INFO`\n",
|
||||
"- `WARNING`\n",
|
||||
"- `ERROR`\n",
|
||||
"- `CRITICAL`\n",
|
||||
"\n",
|
||||
"Default value is `DEBUG`\n",
|
||||
"\n",
|
||||
"Example:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode config --agent-log-level DEBUG\n",
|
||||
"\n",
|
||||
"# or\n",
|
||||
"\n",
|
||||
"!primaite dev-mode config -alevel DEBUG"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### --output-sys-logs or -sys\n",
|
||||
"\n",
|
||||
"If enabled, developer mode will output system logs.\n",
|
||||
"\n",
|
||||
"Example:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode config --output-sys-logs\n",
|
||||
"\n",
|
||||
"# or\n",
|
||||
"\n",
|
||||
"!primaite dev-mode config -sys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"To disable outputting sys logs:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode config --no-sys-logs\n",
|
||||
"\n",
|
||||
"# or\n",
|
||||
"\n",
|
||||
"!primaite dev-mode config -nsys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### --output-agent-logs or -agent\n",
|
||||
"\n",
|
||||
"If enabled, developer mode will output agent action logs.\n",
|
||||
"\n",
|
||||
"Example:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode config --output-agent-logs\n",
|
||||
"\n",
|
||||
"# or\n",
|
||||
"\n",
|
||||
"!primaite dev-mode config -agent"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"To disable outputting agent action logs:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode config --no-agent-logs\n",
|
||||
"\n",
|
||||
"# or\n",
|
||||
"\n",
|
||||
"!primaite dev-mode config -nagent"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### --output-pcap-logs or -pcap\n",
|
||||
"\n",
|
||||
"If enabled, developer mode will output PCAP logs.\n",
|
||||
"\n",
|
||||
"Example:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode config --output-pcap-logs\n",
|
||||
"\n",
|
||||
"# or\n",
|
||||
"\n",
|
||||
"!primaite dev-mode config -pcap"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"To disable outputting PCAP logs:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode config --no-pcap-logs\n",
|
||||
"\n",
|
||||
"# or\n",
|
||||
"\n",
|
||||
"!primaite dev-mode config -npcap"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### --output-to-terminal or -t\n",
|
||||
"\n",
|
||||
"If enabled, developer mode will output logs to the terminal.\n",
|
||||
"\n",
|
||||
"Example:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode config --output-to-terminal\n",
|
||||
"\n",
|
||||
"# or\n",
|
||||
"\n",
|
||||
"!primaite dev-mode config -t"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"To disable terminal outputs:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode config --no-terminal\n",
|
||||
"\n",
|
||||
"# or\n",
|
||||
"\n",
|
||||
"!primaite dev-mode config -nt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Combining commands\n",
|
||||
"\n",
|
||||
"It is possible to combine commands to set the configuration.\n",
|
||||
"\n",
|
||||
"This saves having to enter multiple commands and allows for a much more efficient setting of PrimAITE developer mode configurations."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Example of setting system log level and enabling the system logging:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode config -slevel WARNING -sys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Another example where the system log and agent action log levels are set and enabled and should be printed to terminal:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!primaite dev-mode config -slevel ERROR -sys -alevel ERROR -agent -t"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Restore PRIMAITE_CONFIG\n",
|
||||
"from primaite.utils.cli.primaite_config_utils import update_primaite_application_config\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"global PRIMAITE_CONFIG\n",
|
||||
"PRIMAITE_CONFIG[\"developer_mode\"] = temp_config[\"developer_mode\"]\n",
|
||||
"update_primaite_application_config(config=PRIMAITE_CONFIG)"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "venv",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.11"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
||||
Reference in New Issue
Block a user