Dashboard endpoint and page aggregating inventory, vulnerabilities, cluster health, backups and recent jobs. Security headers (CSP, nosniff, DENY, referrer policy), 1 MB body limit, configurable login rate limit, audit steps in CI. Installer script, systemd unit, install/architecture docs. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
45 lines
1.5 KiB
YAML
45 lines
1.5 KiB
YAML
name: CI
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
backend:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with: { components: rustfmt, clippy }
|
|
- uses: Swatinem/rust-cache@v2
|
|
with: { workspaces: backend }
|
|
- run: cd backend && cargo fmt --check && cargo clippy --workspace --all-targets -- -D warnings
|
|
- run: cd backend && cargo test --workspace
|
|
- uses: rustsec/audit-check@v2
|
|
with: { token: ${{ secrets.GITHUB_TOKEN }} }
|
|
continue-on-error: true
|
|
|
|
frontend:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with: { node-version: 22, cache: npm, cache-dependency-path: frontend/package-lock.json }
|
|
- run: cd frontend && npm ci
|
|
- run: cd frontend && npm run lint && npm run typecheck && npm test
|
|
- run: cd frontend && npm audit --audit-level=high
|
|
continue-on-error: true
|
|
|
|
ui:
|
|
runs-on: ubuntu-latest
|
|
needs: [backend, frontend]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
- uses: Swatinem/rust-cache@v2
|
|
with: { workspaces: backend }
|
|
- uses: actions/setup-node@v4
|
|
with: { node-version: 22, cache: npm, cache-dependency-path: frontend/package-lock.json }
|
|
- run: cd frontend && npm ci && npx playwright install --with-deps chromium
|
|
- run: cd frontend && npm run test:ui
|