iridium-db 0.3.0

A high-performance vector-graph hybrid storage and indexing engine
# service install guide

Install and package guide for the Iridium single-node service candidate.

This document follows the shared Sprint 5 packaging model from Alloy:

- deployment profile id
- maturity tier
- support band
- install inputs
- release outputs

The current guide is for the verified single-node candidate path only.

## package identity

- product: `iridium-service-candidate`
- deployment profile id: `single-node-service-v0-1`
- maturity tier: `single-node-production-candidate`
- support band: `candidate`
- artifact class: `package`

## install inputs

- config schema id: `iridium.service.v0_1`
- listen address: `127.0.0.1:7001`
- telemetry endpoint: `stdout`
- tls mode: `operator-optional`
- admin token: `local-dev`
- data directory: `<service-root>/data`

## build and install surface

Build the CLI:

```sh
cargo build --bin ir
```

Prepare the single-node service root:

```sh
rm -rf /tmp/iridium-service-root
mkdir -p /tmp/iridium-service-root/data
```

Seed a deterministic local fixture:

```sh
cargo run --quiet --bin ir -- \
  --data /tmp/iridium-service-root/data \
  ingest-node 1 1 2,3

cargo run --quiet --bin ir -- \
  --data /tmp/iridium-service-root/data \
  ingest-vector 1 2 1.0,0.0
```

Validate the service candidate config:

```sh
cargo run --quiet --bin ir -- \
  --data /tmp/iridium-service-root/data \
  service-validate \
  --listen 127.0.0.1:7001 \
  --telemetry-endpoint stdout \
  --tls operator-optional \
  --admin-token local-dev \
  --max-requests 16
```

Inspect the service contract:

```sh
cargo run --quiet --bin ir -- service-report --listen 127.0.0.1:7001
```

Start the service:

```sh
cargo run --quiet --bin ir -- \
  --data /tmp/iridium-service-root/data \
  service-serve \
  --listen 127.0.0.1:7001 \
  --telemetry-endpoint stdout \
  --tls operator-optional \
  --admin-token local-dev \
  --max-requests 16
```

## release outputs

Generate the product-owned packaging and evidence artifacts:

```sh
python3 scripts/service_candidate_report.py --report-dir artifacts
python3 scripts/service_lifecycle_report.py --report-dir artifacts
python3 scripts/service_compatibility_report.py --report-dir artifacts
python3 scripts/service_install_report.py --report-dir artifacts
```

This writes:

- `artifacts/service_candidate_report.json`
- `artifacts/service_candidate_report.md`
- `artifacts/service_lifecycle_report.json`
- `artifacts/service_lifecycle_report.md`
- `artifacts/service_compatibility_report.json`
- `artifacts/service_compatibility_report.md`
- `artifacts/service_install_report.json`
- `artifacts/service_install_report.md`
- `artifacts/retrieval_quality_service_report.json`
- `artifacts/retrieval_quality_service_report.md`

## operator references

- single-node operator runbook: `docs/service_single_node.md`
- service API and artifact surface: `docs/api/service.md`

## shared packaging references

- support-band guidance: `../alloy/docs/support-band-guidance.md`
- install/release conventions: `../alloy/docs/install-release-conventions.md`
- operator runbook template: `../alloy/docs/operator-runbook-template.md`
- compatibility matrix: `../alloy/docs/compatibility-matrix.md`
- incident taxonomy: `../alloy/docs/incident-taxonomy.md`

## limits

- The current package is a single-node candidate service only.
- TLS remains config-shaped only.
- Auth remains limited to optional bearer-token admin protection.
- Deployment automation and hardened production rollout are still out of scope.