Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Strix Configuration
# Copy this file to .env and fill in your values

# LLM Provider Configuration
# Format: provider/model (e.g., openai/gpt-4o, anthropic/claude-3-5-sonnet, zhipu/glm-4)
STRIX_LLM=zhipu/glm-4

# Your API key from the LLM provider
LLM_API_KEY=your-api-key-here

# Optional: Custom API base URL (for local models or proxies)
# LLM_API_BASE=http://localhost:8000/v1

# Optional: Request timeout in seconds (default: 600)
# LLM_TIMEOUT=600
41 changes: 41 additions & 0 deletions Dockerfile.dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
FROM python:3.12-slim

LABEL description="Strix Development Environment"

# Install system dependencies and Docker CLI
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
curl \
build-essential \
ca-certificates \
gnupg \
&& install -m 0755 -d /etc/apt/keyrings \
&& curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
&& chmod a+r /etc/apt/keyrings/docker.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" > /etc/apt/sources.list.d/docker.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends docker-ce-cli \
&& rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN curl -sSL https://install.python-poetry.org | python3 - && \
ln -s /root/.local/bin/poetry /usr/local/bin/poetry

# Set working directory
WORKDIR /app

# Copy dependency files first for layer caching
COPY pyproject.toml poetry.lock ./

# Install dependencies (no dev deps for running, add --with=dev if needed)
RUN poetry config virtualenvs.create false && \
poetry install --no-root --no-interaction

# Copy the rest of the application
COPY . .

# Install the package itself
RUN poetry install --no-interaction

# Default command
ENTRYPOINT ["strix"]
38 changes: 38 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,44 @@ jobs:
run: strix -n -t ./
```

### 📋 Scope Configuration

For complex assessments with multiple targets, networks, and credentials, use a scope configuration file:

```bash
# Run with a scope file
strix --scope scope.yaml

# Validate scope file before running
strix --scope scope.yaml --validate

# Filter to specific targets
strix --scope scope.yaml --filter "tags:critical"
strix --scope scope.yaml --filter "network:Management"
```

**Scope templates** are available in `templates/scope/` for common scenarios:

```bash
# Proxmox cluster assessment
strix --scope templates/scope/proxmox-cluster.yaml

# Filter to management network only
strix --scope templates/scope/proxmox-cluster.yaml --filter "network:Proxmox Management"
```

Technology modules provide specialized testing guidance. Enable them per-target in your scope file:

```yaml
targets:
- host: "10.0.101.2"
name: "pve-node"
type: "infrastructure"
modules: ["proxmox_ve"] # Loads Proxmox VE testing guidance
```

See [Scope Configuration Guide](docs/SCOPE_CONFIGURATION.md) for full documentation.

### ⚙️ Configuration

```bash
Expand Down
Loading