diff --git a/.context/AGENT_PLAYBOOK.md b/.context/AGENT_PLAYBOOK.md new file mode 100644 index 00000000..ab3aab9a --- /dev/null +++ b/.context/AGENT_PLAYBOOK.md @@ -0,0 +1,418 @@ +# Agent Playbook + + + +## Mental Model + +Each session is a fresh execution in a shared workshop. Work +continuity comes from artifacts left on the bench. Follow the +cycle: **Work → Reflect → Persist**. After completing a task, +making a decision, learning something, or hitting a milestone: +persist before continuing. Don't wait for session end; it may +never come cleanly. + +## File Interaction Protocol + +When a task involves reading, modifying, or reasoning about a file: + +1. **Read before act** + - Read the file content directly before making any change + - Do not rely on memory, summaries, or prior reads +2. **No partial reads** + - Do not sample the beginning or end of a file and assume the rest +3. **Freshness requirement** + - A read must be recent relative to the action + - Do not reuse stale context from earlier in the session +4. **No implicit scope** + - "This change is small" is not a valid justification + - "This file is large" is not a valid justification +5. **Edit authority comes from visibility** + - If you haven't seen it, you don't get to modify it + +## Spec Requirement + +Do not begin implementation work without a spec. + +- Every implementation task must trace to a spec file +- **If no spec exists, STOP and create one first** +- Do not treat task text alone as a substitute for a spec + +## Independent Review + +Sub-agent review is not optional once implementation begins. + +A review must be invoked when ANY of the following occur: + +- Before the first modification to the codebase +- After completing one or more tasks in TASKS.md +- Before declaring the work complete + +Required review inputs: +- the governing spec +- TASKS.md +- the current implementation + +Review prompt: +- "Review , TASKS.md, and the current implementation for drift, + omissions, invalid assumptions, and incomplete requirements." + +Do not declare work complete until review findings are either resolved or +explicitly recorded. + +## Invoking ctx + +Always use `ctx` from PATH: +```bash +ctx status # ✓ correct +ctx agent # ✓ correct +./dist/ctx # ✗ avoid hardcoded paths +go run ./cmd/ctx # ✗ avoid unless developing ctx itself +``` +Check with `which ctx` if unsure whether it's installed. + +### When ctx Returns an Error + +Triage the error before reacting: + +- **Invocation error**: the message points at your call: unknown + flag, unknown command, wrong argument count, missing required + flag. Read `ctx --help`, fix the call, and retry. +- **Everything else**: missing context directory, config problem, + hook rejection, permission denied, unexpected failure. Relay the + output to the user **verbatim** and stop. Do not add flags, run + other commands, edit files to fix the cause, or retry. Wait for + the user's next instruction. + +When unsure which kind you're looking at, treat it as the second. + +## Context Readback + +Before starting any work, read the required context files and confirm to the +user: "I have read the required context files and I'm following project +conventions." Do not begin implementation until you have done so. + +## Supplementary Files + +These files live in `.context/` alongside the core context files. +Read them when the task at hand warrants it, not on every session. + +| File | Read when | +|--------------------|----------------------------------------------------------------| +| ARCHITECTURE.md | Working on structure, adding packages, or tracing flow | +| DETAILED_DESIGN.md | Deep-diving into internals (generated via `/ctx-architecture`) | +| GLOSSARY.md | Encountering unfamiliar project-specific terminology | + +## Context Directory Lives at the Project Root + +The project root is the parent of `.context/`, by contract — +specifically `filepath.Dir(ContextDir())`. That's where `ctx sync`, +`ctx drift`, and the memory-drift hook look for code, secrets, +and `MEMORY.md`. + +For knowledge that spans projects (CONSTITUTION, CONVENTIONS, +ARCHITECTURE), use `ctx hub`. + +Recommended layout: + +``` +~/WORKSPACE/my-project + ├── .git + ├── .context + ├── Makefile + ├── Makefile.ctx + └── specs + └── ... +``` + +## Reason Before Acting + +Before implementing any non-trivial change, think through it step-by-step: + +1. **Decompose**: break the problem into smaller parts +2. **Identify impact**: what files, tests, and behaviors does this touch? +3. **Anticipate failure**: what could go wrong? What are the edge cases? +4. **Sequence**: what order minimizes risk and maximizes checkpoints? + +This applies to debugging too: reason through the cause before reaching +for a fix. Rushing to code before reasoning is the most common source of +wasted work. + +### Chunk and Checkpoint Large Tasks + +For work spanning many files or steps, break it into independently +verifiable chunks. After each chunk: + +1. **Commit**: save progress to git so nothing is lost +2. **Persist**: record learnings or decisions discovered during the chunk +3. **Verify**: run tests or `make lint` before moving on + +Track progress via TASKS.md checkboxes. If context runs low mid-task, +persist a progress note (what's done, what's next, what assumptions +remain) before continuing in a new window. The `check-context-size` +hook nudges at 60% usage (checkpoint) and warns at 90% (urgent): +treat these as signals to persist progress, not to rush. + +## Session Lifecycle + +A session follows this arc: + +**Load → Orient → Pick → Work → Commit → Reflect** + +Not every session uses every step: a quick bugfix skips reflection, a +research session skips committing: but the full flow is: + + +| Step | What Happens | Skill / Command | +|-------------|----------------------------------------------------|------------------| +| **Load** | Recall context, present structured readback | `/ctx-remember` | +| **Orient** | Check context health, surface issues | `/ctx-status` | +| **Pick** | Choose what to work on | `/ctx-next` | +| **Work** | Write code, fix bugs, research | `/ctx-implement` | +| **Commit** | Commit with context capture | `/ctx-commit` | +| **Reflect** | Surface persist-worthy items from this session | `/ctx-reflect` | + +### Context Health at Session Start + +During **Load** and **Orient**, run `ctx status` and read the output. +Surface problems worth mentioning: + +- **High completion ratio in TASKS.md**: offer to archive +- **Stale context files** (not modified recently): mention before + stale context influences work +- **Bloated token count** (over 30k): offer `ctx compact` +- **Drift between files and code**: spot-check paths from + ARCHITECTURE.md against the actual file tree + +One sentence is enough: don't turn startup into a maintenance session. + +### Context Window Limits + +The `check-context-size` hook (`ctx system check-context-size`) monitors +context window usage. It nudges at 60% (one-shot checkpoint) and warns +at 90% (recurring urgent). When you see either signal or sense context +is running long: + +- **Persist progress**: write what's done and what's left to TASKS.md + or a progress note +- **Checkpoint state**: commit work-in-progress so a fresh session can + pick up cleanly +- **Summarize**: leave a breadcrumb for the next window: the current + task, open questions, and next step + +Context compaction happens automatically, but the next window loses +nuance. Explicit persistence is cheaper than re-discovery. + +### Conversational Triggers + +Users rarely invoke skills explicitly. Recognize natural language: + + +| User Says | Action | +|-------------------------------------------------|--------------------------------------------------------| +| "Do you remember?" / "What were we working on?" | `/ctx-remember` | +| "How's our context looking?" | `/ctx-status` | +| "What should we work on?" | `/ctx-next` | +| "Commit this" / "Ship it" | `/ctx-commit` | +| "The rate limiter is done" / "We finished that" | `ctx task complete` (match to TASKS.md) | +| "What did we learn?" | `/ctx-reflect` | +| "Save that as a decision" | `/ctx-decision-add` | +| "That's worth remembering" / "Any gotchas?" | `/ctx-learning-add` | +| "Record that convention" | `/ctx-convention-add` | +| "Add a task for that" | `/ctx-task-add` | +| "Sync memory" / "What's in auto memory?" | `ctx memory sync` / `ctx memory status` | +| "Import from memory" | `ctx memory import --dry-run` then `ctx memory import` | +| "Let's wrap up" | Reflect → persist outstanding items → present together | + +## Proactive Persistence + +**Don't wait to be asked.** Identify persist-worthy moments in real time: + +| Event | Action | +|--------------------------------------------|-------------------------------------------------------------------| +| Completed a task | Mark done in TASKS.md, offer to add learnings | +| Chose between design alternatives | Offer: *"Worth recording as a decision?"* | +| Hit a subtle bug or gotcha | Offer: *"Want me to add this as a learning?"* | +| Finished a feature or fix | Identify follow-up work, offer to add as tasks | +| Resolved a tricky debugging session | Capture root cause before moving on | +| Multi-step task or feature complete | Suggest reflection: *"Want me to capture what we learned?"* | +| Session winding down | Offer: *"Want me to capture outstanding learnings or decisions?"* | +| Shipped a feature or closed batch of tasks | Offer blog post or journal site rebuild | + +**Self-check**: periodically ask yourself: *"If this session ended +right now, would the next session know what happened?"* If no, persist +something before continuing. + +Offer once and respect "no." Default to surfacing the opportunity +rather than letting it pass silently. + +### Task Lifecycle Timestamps + +Track task progress with timestamps for session correlation: + +```markdown +- [ ] Implement feature X #added:2026-01-25-220332 +- [ ] Fix bug Y #added:2026-01-25-220332 #started:2026-01-25-221500 +- [x] Refactor Z #added:2026-01-25-200000 #started:2026-01-25-210000 +``` + +| Tag | When to Add | Format | +|------------|------------------------------------------|----------------------| +| `#added` | Auto-added by `ctx task add` | `YYYY-MM-DD-HHMMSS` | +| `#started` | When you begin working on the task | `YYYY-MM-DD-HHMMSS` | + +## Collaboration Defaults + +Standing behavioral defaults for how the agent collaborates with the +user. These apply unless the user overrides them for the session +(e.g., "skip the alternatives, just build it"). + +- **At design decisions**: always present 2+ approaches with + trade-offs before committing: don't silently pick one +- **At completion claims**: map claims to evidence (e.g., "tests + pass" requires 0-failure output, "build succeeds" requires exit 0). + Run commands fresh: never reuse earlier output. At minimum, answer: + What did I assume? What didn't I check? Where am I least confident? + What would a reviewer question? +- **At ambiguous moments**: ask the user rather than inferring + intent: a quick question is cheaper than rework +- **When producing artifacts**: flag assumptions and uncertainty + areas inline, not buried in a footnote + +These follow the same pattern as proactive persistence: offer once +and respect "no." + +### Tool Preferences + +- **Web search**: always use the `gemini-search` MCP server for web + searches. It returns synthesized answers with citations and is faster + and more accurate than built-in web search. Only fall back to built-in + search if `gemini-search` is not connected. + +## Own the Whole Branch + +When working on a branch, you own every issue on it: lint failures, test +failures, build errors: regardless of who introduced them. Never dismiss +a problem as "pre-existing" or "not related to my changes." + +- **If `make lint` fails, fix it.** The branch must be green when you're done. +- **If tests break, investigate.** Even if the failing test is in a file you + didn't touch, something you changed may have caused it: or it may have been + broken before and it's still your job to fix it on this branch. +- **Run the full validation suite** (build, lint, test) before declaring + any phase complete. + +## How to Avoid Hallucinating Memory + +Never assume. If you don't see it in files, you don't know it. + +- Don't claim "we discussed X" without file evidence +- Don't invent history: check context files and `ctx journal source` +- If uncertain, say "I don't see this documented" +- Trust files over intuition + +## Planning Work + +Every commit requires a `Spec:` trailer (CONSTITUTION rule). This means +every piece of work needs a spec; no exceptions, no "trivial" qualifier. +A one-liner bugfix gets a one-paragraph spec; a multi-package feature gets +a full design document. The spec exists for traceability, not ceremony. + +**1. Spec first**: Write a design document in `specs/`. Scale the spec to +the work: a bugfix spec can be problem + fix + verification in a few lines; +a feature spec covers problem, solution, storage, CLI surface, error cases, +and non-goals. The bar is: another session could implement from the spec +alone. + +**2. Task it out**: Break the work into individual tasks in TASKS.md under +a dedicated Phase section. Each task should be independently completable and +verifiable. + +**3. Cross-reference**: The Phase header in TASKS.md must reference the +spec: `Spec: \`specs/feature-name.md\``. The first task in the phase should +include: "Read `specs/feature-name.md` before starting any PX task." + +**4. Read before building**: When picking up a task that references a spec, +read the spec first. Don't rely on the task description alone: it's a +summary, not the full design. + +## When to Consolidate vs Add Features + +**Signs you should consolidate first:** +- Same string literal appears in 3+ files +- Hardcoded paths use string concatenation +- Test file is growing into a monolith (>500 lines) +- Package name doesn't match folder name + +When in doubt, ask: "Would a new contributor understand where this belongs?" + +## Pre-Flight Checklist: CLI Code + +Before writing or modifying CLI code: + +1. **Read CONVENTIONS.md**: load established patterns into context +2. **Check similar commands**: how do existing commands handle output? +3. **Use cmd methods for output**: `cmd.Printf`, `cmd.Println`, + not `fmt.Printf`, `fmt.Println` +4. **Follow docstring format**: see CONVENTIONS.md, Documentation section + +--- + +## Context Anti-Patterns + +Avoid these common context management mistakes: + +### Stale Context + +Context files become outdated and misleading when ARCHITECTURE.md +describes components that no longer exist, or CONVENTIONS.md patterns +contradict actual code. **Solution**: Update context as part of +completing work, not as a separate task. Run `ctx drift` periodically. + +### Context Sprawl + +Information scattered across multiple locations: same decision in +DECISIONS.md and a session file, conventions split between +CONVENTIONS.md and code comments. **Solution**: Single source of +truth for each type of information. Use the defined file structure. + +### Implicit Context + +Relying on knowledge not captured in artifacts: "everyone knows we +don't do X" but it's not in CONSTITUTION.md, patterns followed but +not in CONVENTIONS.md. **Solution**: If you reference something +repeatedly, add it to the appropriate file. + +### Over-Specification + +Context becomes so detailed it's impossible to maintain: 50+ rules +in CONVENTIONS.md, every minor choice gets a DECISIONS.md entry. +**Solution**: Keep artifacts focused on decisions that affect behavior +and alignment. Not everything needs documenting. + +### Context Avoidance + +Not using context because "it's faster to just code." Same mistakes +repeated across sessions, decisions re-debated because prior decisions +weren't found. **Solution**: Reading context is faster than +re-discovering it. 5 minutes reading saves 50 minutes of wasted work. + +--- + +## Context Validation Checklist + +### Quick Check (Every Session) +- [ ] TASKS.md reflects current priorities +- [ ] No obvious staleness in files you'll reference +- [ ] Recent history reviewed via `ctx journal source` + +### Deep Check (Weekly or Before Major Work) +- [ ] CONSTITUTION.md rules still apply +- [ ] ARCHITECTURE.md matches actual structure +- [ ] CONVENTIONS.md patterns match code +- [ ] DECISIONS.md has no superseded entries unmarked +- [ ] LEARNINGS.md gotchas still relevant +- [ ] Run `ctx drift` and address warnings diff --git a/.context/AGENT_PLAYBOOK_GATE.md b/.context/AGENT_PLAYBOOK_GATE.md new file mode 100644 index 00000000..865d50bb --- /dev/null +++ b/.context/AGENT_PLAYBOOK_GATE.md @@ -0,0 +1,96 @@ +# Agent Playbook (Gate) + +Distilled directives injected at session start. Full playbook: +read AGENT_PLAYBOOK.md when you need behavioral guidance, session +lifecycle details, or anti-patterns. + +## Invoke ctx from PATH + +```bash +ctx status # correct +./dist/ctx # wrong: never hardcode paths +go run ./cmd/ctx # wrong: unless developing ctx itself +``` + +## When `ctx` Errors + +If the error names your flag, argument, or command, read +`ctx --help` and fix the call. Otherwise, relay verbatim +and stop. When unsure, stop. + +## File Interaction Protocol + +When a task involves reading, modifying, or reasoning about a file: + +1. **Read before act**: Do not rely on memory, summaries, or prior reads +2. **No partial reads**: Do not sample and assume the rest +3. **Freshness requirement**: Do not reuse stale context from earlier in the + session +4. **Edit authority comes from visibility**: If you haven't seen it, you don't + get to modify it +5. **Coverage requirement**: Before editing, state what parts of the file were + read and why they are sufficient + +## Planning Work + +Do not begin implementation without a spec. + +Every commit requires a `Spec:` trailer. Every piece of work needs +a spec; no exceptions. Scale the spec to the work. + +The design-to-implementation chain is: + +```text +/ctx-brainstorm → /ctx-plan → /ctx-spec → /ctx-implement + (vague) (contested) (committed) (execution) +``` + +`/ctx-brainstorm` shapes a vague idea into a bet. `/ctx-plan` +attacks the bet and writes a debated brief to +`.context/briefs/-.md`. `/ctx-spec` (optionally +`--brief `) absorbs the brief into a committed spec under +`specs/`. Skip the predecessors only when the step's input is +already settled. + +## Proactive Persistence + +After completing a task, making a decision, or hitting a gotcha, +persist before continuing. Don't wait for session end. + +## Chunk and Checkpoint + +For multi-step work: commit after each chunk, persist learnings, +run tests before moving on. Track progress via TASKS.md checkboxes. + +## Independent Review + +A review must occur: + +* Before the first code change +* After completing tasks +* Before presenting results + +Review must consider: + +* Spec +* TASKS.md +* Current implementation + +## Tool Preferences + +Use the `gemini-search` MCP server for web searches. Fall back to +built-in search only if `gemini-search` is not connected. + +## Conversational Triggers + +| User Says | Action | +|-------------------------------------------------|----------------------| +| "Do you remember?" / "What were we working on?" | `/ctx-remember` | +| "How's our context looking?" | `/ctx-status` | +| "What should we work on?" | `/ctx-next` | +| "Commit this" / "Ship it" | `/ctx-commit` | +| "What did we learn?" | `/ctx-reflect` | +| "Save that as a decision" | `/ctx-decision-add` | +| "That's worth remembering" | `/ctx-learning-add` | +| "Add a task for that" | `/ctx-task-add` | +| "Let's wrap up" | Reflect then persist | diff --git a/.context/ARCHITECTURE.md b/.context/ARCHITECTURE.md new file mode 100644 index 00000000..5357482a --- /dev/null +++ b/.context/ARCHITECTURE.md @@ -0,0 +1,88 @@ +# Architecture + + + +## Overview + + + +## Package/Module Dependency Graph + + core + cli["cli"] --> api +``` +--> + +## Component Map + + + +## Data Flow + +>API: OK + API-->>User: 201 Created +``` +--> + +## Key Patterns + + + +## File Layout + + diff --git a/.context/CONSTITUTION.md b/.context/CONSTITUTION.md new file mode 100644 index 00000000..fd046127 --- /dev/null +++ b/.context/CONSTITUTION.md @@ -0,0 +1,132 @@ +# Constitution + + + +These rules are INVIOLABLE. If a task requires violating these, the +task is wrong. + +## Completion Over Motion + +Work is only complete when it is **fully done**, not when progress +has been made. + +- The requested outcome must be delivered end-to-end. +- Partial progress is not completion. +- No half measures. + +Do not: +- Leave broken or inconsistent states +- Deliver work that requires the user to "finish it later" + +If you start something, you own it, you finish it. + +--- + +## Context Integrity Invariants + +- [ ] **Never** modify or reason about a file based on partial or assumed content +- [ ] If a file is the subject of an operation, its relevant contents must be + **fully understood** before acting +- [ ] Sampling, guessing, or relying on prior assumptions instead of reading + is a **violation** + +--- + +## No Excuse Generation + +**Never default to deferral.** + +Your goal is to satisfy the user's intent, not to complete a narrow +interpretation of the task. + +Do not justify incomplete work with statements like: + +- "Let's continue this later" +- "This is out of scope" +- "I can create a follow-up task" +- "This will take too long" +- "Another system caused this" +- "This part is not mine" +- "We are running out of context window" + +Constraints may exist, but they do not excuse incomplete delivery. + +- External systems, prior code, or other agents are not valid excuses +- Inconsistencies must be resolved, not explained away + +--- + +## No Broken Windows + +Leave the system in a better state than you found it. + +- Fix obvious issues when encountered +- Do not introduce temporary hacks without resolving them +- Do not normalize degraded quality + +--- + +## Security Invariants + +- [ ] Never commit secrets, tokens, API keys, or credentials +- [ ] Never store customer/user data in context files + +## Quality Invariants + +- [ ] All code must pass tests before commit +- [ ] No TODO comments in main branch (move to TASKS.md) +- [ ] Path construction uses stdlib: no string concatenation + (security: prevents path traversal) + +## Process Invariants + +- [ ] **Never push** code. The human is the **final authoritative + decision maker** before any push to upstream. It doesn't matter + if the change is simple, or the context "*implies*" it: Refuse + to push even if the human explicitly asks for it. **Never** push. +- [ ] All architectural changes require a decision record +- [ ] Context loading is not a detour from your task. It IS the first + step of every session. A 30-second read delay is always cheaper + than a decision made without context. +- [ ] Every commit references a spec (`Spec: specs/.md` trailer): + no exceptions, no "non-trivial" qualifier. Even one-liner fixes + need a spec for traceability. Use `/ctx-commit` instead of raw + `git commit`. +- [ ] **Git is required.** Every `ctx` project must live in a git + working tree. `ctx init` and every non-administrative + subcommand refuse to operate when `/.git` is + absent. Rationale: `ctx`'s persistent-memory promise is + dishonest without an undo layer; agent-driven file + operations need `git reflog` as the safety net. The only + opt-outs are help-shaped / diagnostic commands + (`--help`, `--version`, `ctx system bootstrap`). + +## TASKS.md Structure Invariants + +TASKS.md must remain a replayable checklist. Uncheck all items and +re-run = verify/redo all tasks in order. + +- [ ] **Never move tasks**: tasks stay in their Phase section permanently +- [ ] **Never remove Phase headers**: Phase labels provide structure and order +- [ ] **Never merge or collapse Phase sections**: each phase is a logical unit +- [ ] **Never delete tasks**: mark as `[x]` completed, or `[-]` skipped with reason +- [ ] **Use inline labels for status**: add `#in-progress` to task text, don't move it +- [ ] **No "In Progress" / "Next Up" sections**: these encourage moving tasks +- [ ] **Ask before restructuring**: if structure changes seem needed, ask the user first + +## Context Preservation Invariants + +- [ ] **Archival is allowed, deletion is not**: use `ctx task archive` to move + completed tasks to `.context/archive/`, never delete context history +- [ ] **Archive preserves structure**: archived tasks keep their Phase headers + for traceability diff --git a/.context/CONVENTIONS.md b/.context/CONVENTIONS.md new file mode 100644 index 00000000..adf3d862 --- /dev/null +++ b/.context/CONVENTIONS.md @@ -0,0 +1,70 @@ +# Conventions + + + +## Naming + +- **Constants use semantic prefixes**: Group related constants with prefixes + - `Dir*` for directories (`DirContext`, `DirArchive`) + - `File*` for file paths (`FileSettings`, `FileClaudeMd`) + - `Filename*` for file names only (`FilenameTask`, `FilenameDecision`) + - `*Type*` for enum-like values (`UpdateTypeTask`, `UpdateTypeDecision`) +- **Package name = folder name**: Go canonical pattern + - `package initialize` in `initialize/` folder + - Never `package initcmd` in `init/` folder +- **Maps reference constants**: Use constants as keys, not literals + - `map[string]X{ConstKey: value}` not `map[string]X{"literal": value}` + +## Patterns + +- **Centralize magic strings**: All repeated literals belong in a `config` or `constants` package + - If a string appears in 3+ files, it needs a constant + - If a string is used for comparison, it needs a constant +- **Path construction**: Always use stdlib path joining + - Go: `filepath.Join(dir, file)` + - Python: `os.path.join(dir, file)` + - Node: `path.join(dir, file)` + - Never: `dir + "/" + file` +- **Constants reference constants**: Self-referential definitions + - `FileType[UpdateTypeTask] = FilenameTask` not `FileType["task"] = "TASKS.md"` +- **Colocate related code**: Group by feature, not by type + - `session/run.go`, `session/types.go`, `session/parse.go` + - Not: `runners/session.go`, `types/session.go`, `parsers/session.go` + +## Testing + +- **Colocate tests**: Test files live next to source files + - `foo.go` → `foo_test.go` in same package + - Not a separate `tests/` folder +- **Test the unit, not the file**: One test file can test multiple related functions +- **Integration tests are separate**: `cli_test.go` for end-to-end binary tests + +## Documentation + +- **Godoc format**: Use canonical sections + ```go + // FunctionName does X. + // + // Longer description if needed. + // + // Parameters: + // - param1: Description + // - param2: Description + // + // Returns: + // - Type: Description of return value + func FunctionName(param1, param2 string) error + ``` +- **Package doc in doc.go**: Each package gets a `doc.go` with package-level documentation +- **Copyright headers**: All source files get the project copyright header diff --git a/.context/DECISIONS.md b/.context/DECISIONS.md new file mode 100644 index 00000000..0201794b --- /dev/null +++ b/.context/DECISIONS.md @@ -0,0 +1,78 @@ +# Decisions + + +| Date | Decision | +|----|--------| +| 2026-06-13 | Pin Go toolchain to 1.26.4 and bump circl/go-jose/x/net to clear govulncheck | +| 2026-06-13 | Own the ctx Makefile fragment as makefiles/Ctx.mk | + + + +## [2026-06-13-125427] Pin Go toolchain to 1.26.4 and bump circl/go-jose/x/net to clear govulncheck + +**Status**: Accepted + +**Context**: make audit (the pre-commit gate) failed: govulncheck reported 10 called vulnerabilities. 7 were Go 1.26.2 stdlib advisories (textproto/mime/x509/html-template/net/net-http) and 3 were modules: x/net v0.48.0, go-jose/v4 v4.1.3, circl v1.6.2. Pre-existing on main; unrelated to the ctx/docs work in this branch. + +**Decision**: Pin Go toolchain to 1.26.4 and bump circl/go-jose/x/net to clear govulncheck + +**Rationale**: Added 'toolchain go1.26.4' to go.mod (keeping the go 1.25.5 language baseline) so builds use the patched stdlib, and bumped circl->v1.6.3, go-jose/v4->v4.1.4, x/net->v0.55.0, then go mod tidy. Chosen over (a) bumping the go language directive to 1.26.4 (broader semantic change, unnecessary for the CVEs) and (b) deferring remediation (leaves the audit gate red). govulncheck gates on CALLED vulns only, so this clears the gate; uncalled import/module advisories remain and resolve as deps bump over time. + +**Consequence**: make audit is green (0 called vulnerabilities). Contributors auto-download go1.26.4 via the toolchain directive. Transitive bumps to x/crypto, x/sys, x/term, x/text. See also: specs/vuln-remediation.md + +--- + +## [2026-06-13-121952] Own the ctx Makefile fragment as makefiles/Ctx.mk + +**Status**: Accepted + +**Context**: ctx init generates Makefile.ctx at the repo root and regenerates/owns it, but SPIKE's convention places all make includes under makefiles/*.mk (PascalCase: Main.mk, Test.mk). The generated root file violated that convention. + +**Decision**: Own the ctx Makefile fragment as makefiles/Ctx.mk + +**Rationale**: Move the content to a project-owned makefiles/Ctx.mk and -include it from the root Makefile, then gitignore the root Makefile.ctx so any regenerated stray is neither included (no duplicate targets) nor committed. Chosen over the default ctx pattern (include the generated root Makefile.ctx directly), which keeps free upstream auto-updates but breaks the makefiles/*.mk convention and clutters the repo root. For a small, rarely-changing fragment, convention alignment and a single authoritative location win. + +**Consequence**: makefiles/Ctx.mk is now project-owned and convention-aligned; the root stays clean. Trade-off: it no longer auto-tracks upstream ctx changes and must be manually reconciled if ctx updates its targets. See also: specs/introduce-ctx.md diff --git a/.context/GLOSSARY.md b/.context/GLOSSARY.md new file mode 100644 index 00000000..c8575b82 --- /dev/null +++ b/.context/GLOSSARY.md @@ -0,0 +1,18 @@ +# Glossary + + + +## Domain Terms + +## Abbreviations diff --git a/.context/LEARNINGS.md b/.context/LEARNINGS.md new file mode 100644 index 00000000..ee3e6c05 --- /dev/null +++ b/.context/LEARNINGS.md @@ -0,0 +1,41 @@ +# Learnings + + + + +| Date | Learning | +|----|--------| +| 2026-06-13 | SPIKE k8s integration test was missing keeper bootstrap; plus a verify-path deadlock | +| 2026-06-13 | Zola 0.19+/0.22 moved syntax highlighting config and renamed themes | + + + +## [2026-06-13-170816] SPIKE k8s integration test was missing keeper bootstrap; plus a verify-path deadlock + +**Context**: minio-rolearn integration test (CI red on main, pre-existing) hangs because keepers are never seeded with root-key shares; SPIKE Nexus InitializeBackingStoreFromKeepers waits forever (retry.Forever, by design until keepers are hydrated). The spire helm chart registers the spike/bootstrap identity but ships no bootstrap workload, and hack/k8s/Bootstrap.yaml does not exist. + +**Lesson**: Reproduced locally (kind on colima: needed fs.inotify.max_user_instances bump 128->8192, buildx via arch -arm64, cel CredentialComposer disabled on arm64). Fix: add a spike-bootstrap Job (component=spike-bootstrap label -> spiffe:///spike/bootstrap SVID) + SA/RBAC for the spike-bootstrap-state idempotency ConfigMap, set SPIKE_NEXUS_KEEPER_PEERS, SPIKE_NEXUS_SHAMIR_SHARES/THRESHOLD, SPIKE_NEXUS_API_URL (FQDN .svc.cluster.local; short svc.ns is NXDOMAIN), and ALL trust roots incl SPIKE_TRUST_ROOT_NEXUS (AllowNexus->IsNexus reads it). Also found a real deadlock: app/bootstrap/internal/net/broadcast.go VerifyInitialization took write lock (LockRootKeySeed) then read lock (RootKeySeed) on the same RWMutex -> use RootKeySeedNoLock. RESOLVED: the post-seed api.Verify 400 had two causes. (1) The probe was encrypted with the raw RootKeySeed, but Keepers/Nexus key their cipher with the canonical root key = ComputeShares(seed) scalar MarshalBinary (the seed is reduced mod the P256 order, so seed != canonical key); fix: encrypt with crypto.ComputeShares(seed).MarshalBinary(). (2) The real blocker: Nexus registers /v1/bootstrap/verify ONLY in routeWithBackingStore; in lite mode (routeWithNoBackingStore) it fell through to net.Fallback -> 400, so RouteVerify never ran (audit logs "enter/exit success" even on the fallback 400, which is misleading). Fix: register NexusBootstrapVerify->bootstrap.RouteVerify in routeWithNoBackingStore too (lite mode holds the root key and already exposes cipher/operator routes). Verified end to end: Job succeeded, idempotency ConfigMap written, Nexus Ready in ~30s. Debugging gotcha: kind+imagePullPolicy:Never reuses cached digests for the SAME tag even after kind load; use a UNIQUE image tag and patch the statefulset to force a fresh pull. + +**Application**: bootstrap seeding makes Nexus reach Ready (integration test passes; setup.sh gates on Nexus rollout not the Job). Files: ci/integration/minio-rolearn/bootstrap.yaml (new), setup.sh (drop --wait + apply bootstrap), app/bootstrap/internal/net/broadcast.go (deadlock fix). Verify-completion still open. + +--- + +## [2026-06-13-123540] Zola 0.19+/0.22 moved syntax highlighting config and renamed themes + +**Context**: make docs failed on Zola 0.22.1: 'unknown field highlight_code' then 'Theme base16-ocean-dark does not exist'. docs-src/config.toml used pre-0.19 highlighting keys. + +**Lesson**: Zola 0.19 moved highlight_code/highlight_theme out of [markdown] into a [markdown.highlighting] table (theme/light_theme/dark_theme/style). Zola 0.22 swapped Syntect for the Giallo highlighter, so Syntect theme names like base16-ocean-dark are gone; valid names come from the Giallo bundle (getzola/giallo, sourced from shikijs/textmate-grammars-themes), e.g. material-theme-ocean, one-dark-pro, github-dark, nord. + +**Application**: When a Zola upgrade breaks 'make docs', migrate config.toml highlighting into [markdown.highlighting] and map old theme names to Giallo identifiers. List valid themes via: gh api repos/getzola/giallo/readme --jq .content | base64 -d. base16-ocean-dark -> material-theme-ocean is the closest match for SPIKE. diff --git a/.context/TASKS.md b/.context/TASKS.md new file mode 100644 index 00000000..01cfaf8d --- /dev/null +++ b/.context/TASKS.md @@ -0,0 +1,41 @@ +# Tasks + + + +### Phase 1: [Name] `#priority:high` +- [ ] Task 1 +- [ ] Task 2 + +### Phase 2: [Name] `#priority:medium` +- [ ] Task 1 +- [ ] Task 2 + +## Blocked + +### Maintenance + +- [x] Clear remaining uncalled govulncheck advisories (10 import + 4 module) via a dependency-bump pass #priority:low #session:6d40ae08 #branch:chore/introduce-ctx #commit:ca9b541 #added:2026-06-13-130622 #done:2026-06-13 (x/crypto v0.52.0, grpc v1.79.3; govulncheck now 0 total) +- [ ] Wire `SPIKE_NEXUS_PBKDF2_ITERATION_COUNT` into the crypto path: the constant `NexusPBKDF2IterationCount` is defined (spike-sdk-go config/env/env.go:45) and documented (docs-src/content/usage/configuration.md, default 600000) but no code reads it (no `…Val()` accessor, no os.Getenv). Add the accessor + consumer so the documented option takes effect, or escalate upstream to the SDK. #priority:low #session:00ce042d #branch:chore/introduce-ctx #added:2026-06-15 (found during docs-vs-code config audit) diff --git a/.context/handovers/.gitkeep b/.context/handovers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/.context/kb/index.md b/.context/kb/index.md new file mode 100644 index 00000000..0c54372c --- /dev/null +++ b/.context/kb/index.md @@ -0,0 +1,77 @@ +# Knowledge Base + +The kb is the project's evidence-tracked knowledge surface. +It lives at `.context/kb/` and is governed by the editorial +contract in `../ingest/KB-RULES.md`. Topic pages live under +`topics//index.md`. Cross-cutting artifacts +(`glossary.md`, `domain-decisions.md`, `contradictions.md`, +`outstanding-questions.md`, `evidence-index.md`, +`source-coverage.md`, `timeline.md`) live alongside this +file. + +--- + +## Scope + + + +--- + +## Topics + + + + + +--- + +## Conventions + +This kb is governed by: + +- **`../ingest/KB-RULES.md`** is the editorial contract: + pass-mode discipline, topic-page circuit breaker, + source-coverage state machine, topic-adjacency pre-flight, + cold-reader rubric, life-stage check, evidence discipline, + confidence bands, demotion policy, closeout shape. +- **`../ingest/schemas/`** holds field-level shape for each + cross-cutting artifact (`evidence-index.md`, `glossary.md`, + `contradictions.md`, `outstanding-questions.md`, + `domain-decisions.md`, `timeline.md`, `source-map.md`, + `source-coverage.md`, `relationship-map.md`). Each schema + ships shape, not content. +- **`../../specs/kb-editorial-pipeline.md`** is the full spec, + including the failure-analysis section and the v1 + non-goals. Read this when you need to understand *why* a + rule exists, not just *what* it says. + +The mode skills (`/ctx-kb-ingest`, `/ctx-kb-ask`, +`/ctx-kb-site-review`, `/ctx-kb-ground`, `/ctx-kb-note`) are +the canonical writers. Hand-edits to kb files are an escape +hatch, not the primary path. diff --git a/.context/kb/topics/.gitkeep b/.context/kb/topics/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/.context/steering/product.md b/.context/steering/product.md new file mode 100644 index 00000000..2daf1b6b --- /dev/null +++ b/.context/steering/product.md @@ -0,0 +1,52 @@ +--- +name: product +description: Product context, goals, and target users +inclusion: always +priority: 10 +--- + + +# Product Context + + + +Describe the product, its goals, and target users. + +- **What is this project?** +- **Who uses it?** +- **What problem does it solve?** +- **What is explicitly out of scope?** \ No newline at end of file diff --git a/.context/steering/structure.md b/.context/steering/structure.md new file mode 100644 index 00000000..efe3ea49 --- /dev/null +++ b/.context/steering/structure.md @@ -0,0 +1,51 @@ +--- +name: structure +description: Project structure and directory conventions +inclusion: always +priority: 10 +--- + + +# Project Structure + + + +Describe the project layout and directory conventions. + +- **Top-level directories and their purpose** +- **Where new files should go** (and where they should not) +- **Naming conventions** for files, packages, modules \ No newline at end of file diff --git a/.context/steering/tech.md b/.context/steering/tech.md new file mode 100644 index 00000000..664f252c --- /dev/null +++ b/.context/steering/tech.md @@ -0,0 +1,52 @@ +--- +name: tech +description: Technology stack, constraints, and dependencies +inclusion: always +priority: 10 +--- + + +# Technology Stack + + + +Describe the technology stack, constraints, and key dependencies. + +- **Languages and versions** +- **Frameworks and key libraries** +- **Runtime / deployment target** +- **Hard constraints** (e.g. no CGO, no network at test time) \ No newline at end of file diff --git a/.context/steering/workflow.md b/.context/steering/workflow.md new file mode 100644 index 00000000..7149759f --- /dev/null +++ b/.context/steering/workflow.md @@ -0,0 +1,52 @@ +--- +name: workflow +description: Development workflow and process rules +inclusion: always +priority: 10 +--- + + +# Development Workflow + + + +Describe the development workflow, branching strategy, and process rules. + +- **Branch strategy** (main-only, trunk-based, feature branches) +- **Commit conventions** (message format, signed-off-by) +- **Pre-commit / pre-push checks** +- **Review expectations** \ No newline at end of file diff --git a/.context/templates/decision.md b/.context/templates/decision.md new file mode 100644 index 00000000..87f805f9 --- /dev/null +++ b/.context/templates/decision.md @@ -0,0 +1,19 @@ +## [Decision Title] + +**Status**: Accepted | Proposed | Superseded | Deprecated + +**Context**: [What situation prompted this decision? What constraints exist?] + +**Alternatives Considered**: +1. **[Option A]**: [Description]: Pros: [...] / Cons: [...] +2. **[Option B]**: [Description]: Pros: [...] / Cons: [...] + +**Decision**: [What was decided?] + +**Rationale**: [Why this choice over the alternatives? What trade-offs were made?] + +**Consequence**: +- *Positive*: [Benefits gained] +- *Negative*: [Trade-offs accepted] + +**Related**: [See also: ... | Supersedes: ... | Superseded by: ...] diff --git a/.context/templates/learning.md b/.context/templates/learning.md new file mode 100644 index 00000000..1d4d9315 --- /dev/null +++ b/.context/templates/learning.md @@ -0,0 +1,9 @@ +### [Title - What was learned] + +**Discovered**: [Date/Session context] + +**Context**: [What situation prompted this discovery? What were you trying to do?] + +**Lesson**: [What did you learn? Be specific and actionable.] + +**Application**: [How should this be applied going forward? When does this matter?] diff --git a/.gitignore b/.gitignore index 27b8f946..ff0c30ce 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,25 @@ spike-sdk-go # WSL *:Zone.Identifier + +# ctx managed entries +.context/journal +.context/journal-site +.context/journal-obsidian +.context/logs +.context/.ctx.key +.context/state/ +.context/ingest/ +.context/handovers/* +!.context/handovers/.gitkeep +GETTING_STARTED.md +Makefile.ctx + +# AI tooling: locally generated / installed, not committed +.claude/ +.gitnexus + +# Local agent scratch notebooks (ctx dream / triage) +/ideas/ +/inbox/ +/outbox/ diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..d1f7335a --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,3 @@ +# Agent Instructions + +Read and follow [CLAUDE.md](CLAUDE.md). diff --git a/CLAUDE.md b/CLAUDE.md index aee0f964..b25c5860 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,5 +1,147 @@ # SPIKE Project Context for Claude Code + +# Project Context + + + + +## IMPORTANT: You Have Persistent Memory + +This project uses Context (`ctx`) for context persistence across sessions. +**Your memory is NOT ephemeral**: it lives in the context directory. + +## On Session Start + +1. **Run `ctx system bootstrap`**: CRITICAL, not optional. + This tells you where the context directory is. + If it returns any error, relay the error output to the user + verbatim, point them at + https://ctx.ist/home/getting-started/ for setup, and STOP. + Do not try to activate, initialize, or otherwise recover: **those + are the user's decisions**. Wait for their next instruction. +2. **Read AGENT_PLAYBOOK.md** from the context directory: it explains + how to use this system +3. **Run `ctx agent`** for a content summary + +## When Asked "Do You Remember?" + +When the user asks "Do you remember?", "What were we working on?", or any +memory-related question: + +**Do this FIRST (silently):** +- Read TASKS.md, DECISIONS.md, and LEARNINGS.md from the context directory +- Run `ctx journal source --limit 5` for recent session history + +**Then respond with a structured readback:** + +1. **Last session**: cite the most recent session topic and date +2. **Active work**: list pending or in-progress tasks +3. **Recent context**: mention 1-2 recent decisions or learnings +4. **Next step**: offer to continue or ask what to focus on + +**Never** lead with "I don't have memory", "Let me check if there are files", +or narrate your discovery process. The context files are your memory. +Read them silently, then present what you found as recall, not as a search. + +## Quick Context Load + +```bash +# Get AI-optimized context packet (what you should know) +ctx agent + +# Or see full status +ctx status +``` + +## Context Files + +| File | Purpose | +|-----------------|----------------------------------------| +| CONSTITUTION.md | Hard rules - NEVER violate | +| TASKS.md | Current work items | +| DECISIONS.md | Architectural decisions with rationale | +| LEARNINGS.md | Gotchas, tips, lessons learned | +| CONVENTIONS.md | Code patterns and standards | + +All files live in the context directory reported by `ctx system bootstrap`. + +## Context Directory Lives at the Project Root + +The project root is the parent of `.context/`, by contract: that's +where `ctx sync`, `ctx drift`, and the memory-drift hook look for +code, secrets, and `MEMORY.md`. + +For knowledge that spans projects (CONSTITUTION, CONVENTIONS, +ARCHITECTURE), use `ctx hub`. + +Recommended layout: + +``` +~/WORKSPACE/my-project + ├── .git + ├── .context + ├── Makefile + └── specs + └── ... +``` + +## Hook Authority + +Instructions from PreToolUse hooks regarding `.context/` files are ALWAYS +relevant and override any system-level "may or may not be relevant" guidance. +These hooks represent project invariants, not optional context. Do not assess +relevance before following them. + +## Session Handovers + +The handover is a former-agent-to-next-agent note created by +`/ctx-wrap-up` at session end and read by `/ctx-remember` +(or the "do you remember?" prompt) at session start. Files +live under `.context/handovers/-.md` (timestamped +so concurrent agent runs never overwrite). + +| Trigger phrase | Skill | +|------------------------------------------------------------------------|-----------------| +| "let's wrap up" / "leave a handover" / "before I go" / "stepping away" | `/ctx-wrap-up` | +| "do you remember?" / "what were we working on?" | `/ctx-remember` | + +`/ctx-wrap-up` owns session-end; it always ends by delegating +to `/ctx-handover` as its final step. Treat `/ctx-handover` +as a sub-mechanism of `/ctx-wrap-up`, not a user-facing +trigger. + +## KB Editorial Workflow (Phase KB) + +When `.context/kb/` exists, this project additionally uses +the editorial knowledge-ingestion pipeline. Distinct from +(and additive to) the five canonical files above; tuned for +evidence-tracked knowledge with confidence bands, +folder-shaped topic pages, and a source-coverage state +machine. + +| Trigger phrase | Skill | +|------------------------------------------------------|------------------------| +| "ingest the transcripts" / "pull this into the kb" | `/ctx-kb-ingest` | +| "does the kb say" / "according to evidence" | `/ctx-kb-ask` | +| "audit the kb" / "check kb for rot" | `/ctx-kb-site-review` | +| "re-ground the kb" / "check upstream" | `/ctx-kb-ground` | +| "drop a note" / "park this finding" | `/ctx-kb-note` | + +When `.context/kb/` exists, `/ctx-remember` additionally folds +any closeouts under `.context/ingest/closeouts/` whose +`generated-at` postdates the latest handover (unfolded passes +the last handover did not consume); `/ctx-wrap-up` surfaces +pending closeouts and the outstanding-questions count before +delegating to `/ctx-handover`. `SESSION_LOG.md` is mid-flight +working memory and is not read at session start. + +Editorial constitution: `.context/ingest/KB-RULES.md` (laid down by +`ctx init`). Recipe: +https://ctx.ist/recipes/build-a-knowledge-base/. + + + ## Key Conventions ### SPIFFE ID and Path Patterns @@ -187,3 +329,18 @@ the code within 80 chars. - Look at existing similar files for patterns - Check imports to see what's actually available - Use Grep/Glob tools to find existing implementations + +## Companion Tools + +These are optional aids for AI-assisted development. They are not +required to build, test, or contribute to SPIKE; developers are free to +ignore them. + +GitNexus code intelligence, *if installed*, is available via MCP tools +and skills in `.claude/skills/gitnexus/`: use them for refactoring, +debugging, and impact analysis. When the tools are present, run impact +analysis before editing a symbol and `detect_changes()` before +committing. + +Full GitNexus guidance, usage patterns, tables, resources, and the +per-area skill index live in [GITNEXUS.md](GITNEXUS.md). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6860c32f..4c422922 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -43,3 +43,32 @@ that there are no issues: Press `Ctrl+C` to stop the components after verification. If all of the above pass, you're ready to submit a pull request. + +## Optional: AI-Assisted Development Tooling + +SPIKE ships configuration for a few AI-assisted development tools. They +are **entirely optional**. You do not need any of them to build, test, +or contribute to SPIKE, and the standard `make` workflow above is the +only supported path. Use them only if they fit your workflow. + +### ctx (persistent context) + +`ctx` gives AI agents persistent, project-scoped memory under +`.context/`. If you work with Claude Code or a similar agent and want it +to carry context across sessions, install `ctx` and run +`ctx system bootstrap` from the project root. See the getting-started +guide at . + +When `ctx` is not installed, nothing changes: `.context/` is left to +your own tooling and the `make` targets in `makefiles/Ctx.mk` simply go +unused. + +### GitNexus (code intelligence) + +GitNexus indexes the codebase for impact analysis, symbol navigation, +and safe refactoring, exposed to agents via MCP tools. To build the +index, run `npx gitnexus analyze` from the project root. Usage details +live in [GITNEXUS.md](GITNEXUS.md). + +If GitNexus is not installed, ignore [GITNEXUS.md](GITNEXUS.md); the +tools and generated skills it references will not be present. diff --git a/GITNEXUS.md b/GITNEXUS.md new file mode 100644 index 00000000..ecc37e42 --- /dev/null +++ b/GITNEXUS.md @@ -0,0 +1,69 @@ +# GitNexus + +GitNexus is an **optional** code-intelligence aid for AI-assisted +development. It is not required to build, test, or contribute to SPIKE. +If it is not installed, ignore this file; the MCP tools and the +`.claude/skills/gitnexus/` skills referenced below simply will not be +present. + +The block below is generated by `gitnexus analyze`; everything above +this line is project-owned and safe from regeneration. + + +# GitNexus — Code Intelligence + +This project is indexed by GitNexus as **spike** (3661 symbols, 7153 relationships, 177 execution flows). Use the GitNexus MCP tools to understand code, assess impact, and navigate safely. + +> Index stale? Run `node .gitnexus/run.cjs analyze` from the project root — it auto-selects an available runner. No `.gitnexus/run.cjs` yet? `npx gitnexus analyze` (npm 11 crash → `npm i -g gitnexus`; #1939). + +## Always Do + +- **MUST run impact analysis before editing any symbol.** Before modifying a function, class, or method, run `impact({target: "symbolName", direction: "upstream"})` and report the blast radius (direct callers, affected processes, risk level) to the user. +- **MUST run `detect_changes()` before committing** to verify your changes only affect expected symbols and execution flows. For regression review, compare against the default branch: `detect_changes({scope: "compare", base_ref: "main"})`. +- **MUST warn the user** if impact analysis returns HIGH or CRITICAL risk before proceeding with edits. +- When exploring unfamiliar code, use `query({query: "concept"})` to find execution flows instead of grepping. It returns process-grouped results ranked by relevance. +- When you need full context on a specific symbol — callers, callees, which execution flows it participates in — use `context({name: "symbolName"})`. + +## Never Do + +- NEVER edit a function, class, or method without first running `impact` on it. +- NEVER ignore HIGH or CRITICAL risk warnings from impact analysis. +- NEVER rename symbols with find-and-replace — use `rename` which understands the call graph. +- NEVER commit changes without running `detect_changes()` to check affected scope. + +## Resources + +| Resource | Use for | +|----------|---------| +| `gitnexus://repo/spike/context` | Codebase overview, check index freshness | +| `gitnexus://repo/spike/clusters` | All functional areas | +| `gitnexus://repo/spike/processes` | All execution flows | +| `gitnexus://repo/spike/process/{name}` | Step-by-step execution trace | + +## CLI + +| Task | Read this skill file | +|------|---------------------| +| Understand architecture / "How does X work?" | `.claude/skills/gitnexus/gitnexus-exploring/SKILL.md` | +| Blast radius / "What breaks if I change X?" | `.claude/skills/gitnexus/gitnexus-impact-analysis/SKILL.md` | +| Trace bugs / "Why is X failing?" | `.claude/skills/gitnexus/gitnexus-debugging/SKILL.md` | +| Rename / extract / split / refactor | `.claude/skills/gitnexus/gitnexus-refactoring/SKILL.md` | +| Tools, resources, schema reference | `.claude/skills/gitnexus/gitnexus-guide/SKILL.md` | +| Index, status, clean, wiki CLI commands | `.claude/skills/gitnexus/gitnexus-cli/SKILL.md` | +| Work in the Base area (169 symbols) | `.claude/skills/generated/base/SKILL.md` | +| Work in the Persist area (80 symbols) | `.claude/skills/generated/persist/SKILL.md` | +| Work in the Cipher area (55 symbols) | `.claude/skills/generated/cipher/SKILL.md` | +| Work in the Policy area (49 symbols) | `.claude/skills/generated/policy/SKILL.md` | +| Work in the Secret area (42 symbols) | `.claude/skills/generated/secret/SKILL.md` | +| Work in the State area (33 symbols) | `.claude/skills/generated/state/SKILL.md` | +| Work in the Recovery area (31 symbols) | `.claude/skills/generated/recovery/SKILL.md` | +| Work in the Memory area (21 symbols) | `.claude/skills/generated/memory/SKILL.md` | +| Work in the Stdout area (15 symbols) | `.claude/skills/generated/stdout/SKILL.md` | +| Work in the Operator area (12 symbols) | `.claude/skills/generated/operator/SKILL.md` | +| Work in the Format area (10 symbols) | `.claude/skills/generated/format/SKILL.md` | +| Work in the Static area (9 symbols) | `.claude/skills/generated/static/SKILL.md` | +| Work in the Docs area (9 symbols) | `.claude/skills/generated/docs/SKILL.md` | +| Work in the Cmd area (8 symbols) | `.claude/skills/generated/cmd/SKILL.md` | +| Work in the Trust area (4 symbols) | `.claude/skills/generated/trust/SKILL.md` | + + diff --git a/Makefile b/Makefile index 6da1b7d5..2157150c 100644 --- a/Makefile +++ b/Makefile @@ -7,3 +7,6 @@ include ./makefiles/BareMetal.mk include ./makefiles/Kubernetes.mk include ./makefiles/FederationDemo.mk include ./makefiles/Test.mk + +# Optional AI-tooling targets (ctx). Safe to skip if ctx is not installed. +-include ./makefiles/Ctx.mk diff --git a/app/bootstrap/internal/net/broadcast.go b/app/bootstrap/internal/net/broadcast.go index 448de056..1f789fc2 100644 --- a/app/bootstrap/internal/net/broadcast.go +++ b/app/bootstrap/internal/net/broadcast.go @@ -22,6 +22,7 @@ import ( sdkErrors "github.com/spiffe/spike-sdk-go/errors" "github.com/spiffe/spike-sdk-go/log" "github.com/spiffe/spike-sdk-go/retry" + "github.com/spiffe/spike-sdk-go/security/mem" "github.com/spiffe/spike-sdk-go/spiffe" svid "github.com/spiffe/spike-sdk-go/spiffeid" "github.com/spiffe/spike-sdk-go/validation" @@ -179,10 +180,25 @@ func VerifyInitialization(ctx context.Context, api *spike.API) { randomText := hex.EncodeToString(randomBytes) state.LockRootKeySeed() - // Encrypt the random text with the root key - rootKey := state.RootKeySeed() defer state.UnlockRootKeySeed() - block, aesErr := aes.NewCipher(rootKey[:]) + // Encrypt the random text with the canonical root key (NOT the raw seed). + // SPIKE Keepers/Nexus key their cipher with the root key derived by + // reducing the seed into a P256 scalar (ComputeShares) and marshalling it + // back to bytes; encrypting with the raw seed would mismatch Nexus's + // cipher and the verification would always fail. Use the no-lock accessor: + // LockRootKeySeed already holds the write lock, and RootKeySeed would take + // a read lock on the same non-reentrant RWMutex, deadlocking. + seed := state.RootKeySeedNoLock() + rootSecret, _ := crypto.ComputeShares(seed) + rootKey, marshalErr := rootSecret.MarshalBinary() + if marshalErr != nil { + failErr := sdkErrors.ErrDataMarshalFailure.Wrap(marshalErr) + failErr.Msg = "failed to marshal root key for verification" + log.FatalErr(fName, *failErr) + return + } + defer mem.ClearBytes(rootKey) + block, aesErr := aes.NewCipher(rootKey) if aesErr != nil { failErr := sdkErrors.ErrCryptoFailedToCreateCipher.Wrap(aesErr) log.FatalErr(fName, *failErr) diff --git a/app/nexus/internal/route/base/impl.go b/app/nexus/internal/route/base/impl.go index c5c88f59..cc0343a7 100644 --- a/app/nexus/internal/route/base/impl.go +++ b/app/nexus/internal/route/base/impl.go @@ -83,6 +83,8 @@ func routeWithBackingStore(a url.APIAction, p url.APIURL) net.Handler { // or net.Fallback if the operation requires a backing store func routeWithNoBackingStore(a url.APIAction, p url.APIURL) net.Handler { switch { + case a == url.ActionDefault && p == url.NexusBootstrapVerify: + return bootstrap.RouteVerify case a == url.ActionDefault && p == url.NexusOperatorRecover: return operator.RouteRecover case a == url.ActionDefault && p == url.NexusOperatorRestore: diff --git a/ci/integration/minio-rolearn/bootstrap.yaml b/ci/integration/minio-rolearn/bootstrap.yaml new file mode 100644 index 00000000..1ab45c3c --- /dev/null +++ b/ci/integration/minio-rolearn/bootstrap.yaml @@ -0,0 +1,115 @@ +# SPIKE Bootstrap: one-shot Job that generates the root key, splits it into +# Shamir shares, and seeds the SPIKE Keepers. Without this, SPIKE Nexus waits +# forever in InitializeBackingStoreFromKeepers (the keepers hold no shard), so +# Nexus never becomes ready. The spire chart registers the +# spiffe:///spike/bootstrap identity (component=spike-bootstrap) but +# does not deploy a bootstrap workload; this Job is that workload. +# +# The ServiceAccount/RBAC below let the bootstrap read and write its +# "spike-bootstrap-state" ConfigMap. That ConfigMap is the idempotency guard: +# without it a Job retry would re-bootstrap with a brand-new root key and +# corrupt an already-initialized Nexus. +apiVersion: v1 +kind: ServiceAccount +metadata: + name: spire-spike-bootstrap + namespace: spire-server +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: spire-spike-bootstrap + namespace: spire-server +rules: + - apiGroups: [""] + resources: ["configmaps"] + verbs: ["get", "create", "update", "patch"] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: spire-spike-bootstrap + namespace: spire-server +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: spire-spike-bootstrap +subjects: + - kind: ServiceAccount + name: spire-spike-bootstrap + namespace: spire-server +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: spire-spike-bootstrap + namespace: spire-server +spec: + backoffLimit: 30 + template: + metadata: + labels: + component: spike-bootstrap + release: spire + release-namespace: spire-server + spec: + restartPolicy: OnFailure + serviceAccountName: spire-spike-bootstrap + initContainers: + - name: wait-for-spire + image: cgr.dev/chainguard/bash:latest + command: + - /bin/bash + - -c + - | + echo "Waiting for SPIRE agent socket..." + while [ ! -S /spiffe-workload-api/spire-agent.sock ]; do + sleep 2 + done + echo "SPIRE agent socket is ready" + volumeMounts: + - name: spiffe-workload-api + mountPath: /spiffe-workload-api + readOnly: true + containers: + - name: spike-bootstrap + image: ghcr.io/spiffe/spike-bootstrap:dev + imagePullPolicy: Never + args: ["-init"] + env: + - name: SPIFFE_ENDPOINT_SOCKET + value: unix:///spiffe-workload-api/spire-agent.sock + # Nexus API URL for the post-seed initialization-verification probe. + # Without it the bootstrap dials a default address and hangs after + # seeding, never marking completion. + - name: SPIKE_NEXUS_API_URL + value: "https://spire-spike-nexus.spire-server.svc.cluster.local" + - name: SPIKE_NEXUS_KEEPER_PEERS + value: "https://spire-spike-keeper-0.spire-spike-keeper-headless:8443,https://spire-spike-keeper-1.spire-spike-keeper-headless:8443,https://spire-spike-keeper-2.spire-spike-keeper-headless:8443" + - name: SPIKE_NEXUS_SHAMIR_SHARES + value: "3" + - name: SPIKE_NEXUS_SHAMIR_THRESHOLD + value: "2" + - name: SPIKE_TRUST_ROOT + value: example.org + - name: SPIKE_TRUST_ROOT_KEEPER + value: example.org + - name: SPIKE_TRUST_ROOT_BOOTSTRAP + value: example.org + # Required so the post-seed verify can authorize Nexus's SVID + # (predicate.AllowNexus -> IsNexus reads SPIKE_TRUST_ROOT_NEXUS). + - name: SPIKE_TRUST_ROOT_NEXUS + value: example.org + - name: SPIKE_TRUST_ROOT_PILOT + value: example.org + - name: SPIKE_SYSTEM_LOG_LEVEL + value: debug + volumeMounts: + - name: spiffe-workload-api + mountPath: /spiffe-workload-api + readOnly: true + volumes: + - name: spiffe-workload-api + csi: + driver: csi.spiffe.io + readOnly: true diff --git a/ci/integration/minio-rolearn/minio-values.yaml b/ci/integration/minio-rolearn/minio-values.yaml index 885a7afe..af1a762e 100644 --- a/ci/integration/minio-rolearn/minio-values.yaml +++ b/ci/integration/minio-rolearn/minio-values.yaml @@ -1,3 +1,23 @@ +# Bitnami removed its free `docker.io/bitnami/*` images from Docker Hub and +# relocated them to `docker.io/bitnamilegacy/*`. The default image tags shipped +# by chart 17.0.21 (pinned in setup.sh) no longer exist under `bitnami/`, so we +# redirect every image the chart pulls to the legacy repository. The chart's +# image-verification gate rejects non-`bitnami/` repositories unless +# `allowInsecureImages` is set. +global: + security: + allowInsecureImages: true +image: + repository: bitnamilegacy/minio +clientImage: + repository: bitnamilegacy/minio-client +console: + image: + repository: bitnamilegacy/minio-object-browser +defaultInitContainers: + volumePermissions: + image: + repository: bitnamilegacy/os-shell auth: rootUser: admin rootPassword: admin1234 diff --git a/ci/integration/minio-rolearn/setup.sh b/ci/integration/minio-rolearn/setup.sh index 17558ed1..c199f69b 100755 --- a/ci/integration/minio-rolearn/setup.sh +++ b/ci/integration/minio-rolearn/setup.sh @@ -5,7 +5,15 @@ SCRIPTPATH="$(dirname "${SCRIPT}")" BASEPATH="${SCRIPTPATH}/../../../" helm upgrade --install -n spire-server spire-crds spire-crds --repo https://spiffe.github.io/helm-charts-hardened/ --create-namespace -helm upgrade --install -n spire-server spire spire --repo https://spiffe.github.io/helm-charts-hardened/ -f "${SCRIPTPATH}/spire-values.yaml" --wait +helm upgrade --install -n spire-server spire spire --repo https://spiffe.github.io/helm-charts-hardened/ -f "${SCRIPTPATH}/spire-values.yaml" + +# Seed the SPIKE Keepers with the root-key shares. Without this, SPIKE Nexus +# waits forever in InitializeBackingStoreFromKeepers and never becomes ready. +# The spire chart registers the spike/bootstrap identity but ships no bootstrap +# workload, so we supply it here. (No --wait on the install above: Nexus cannot +# become ready until the keepers are seeded by this Job.) +kubectl apply -f "${SCRIPTPATH}/bootstrap.yaml" + #FIXME remove once upstream chart supports this kubectl patch statefulset -n spire-server spire-spike-nexus --type='strategic' -p ' spec: @@ -21,7 +29,11 @@ spec: ' kubectl rollout status statefulset/spire-spike-nexus -n spire-server --watch --timeout=5m kubectl apply -f "${SCRIPTPATH}/test.yaml" -helm upgrade --install minio -n minio --create-namespace oci://registry-1.docker.io/bitnamicharts/minio -f "${SCRIPTPATH}/minio-values.yaml" +# Pin the chart version so the image tags stay aligned with the tags that +# exist under docker.io/bitnamilegacy/* (see minio-values.yaml). An unpinned +# install would float to the latest chart, whose newer image tags may not be +# mirrored in the frozen legacy repository. +helm upgrade --install minio -n minio --create-namespace --version 17.0.21 oci://registry-1.docker.io/bitnamicharts/minio -f "${SCRIPTPATH}/minio-values.yaml" kubectl rollout restart -n minio deployment/minio kubectl rollout status -n minio deployment/minio kubectl wait -l statefulset.kubernetes.io/pod-name=test-0 --for=condition=ready pod --timeout=-360s diff --git a/diagrams/001-spike-nexus-generate-shards.md b/diagrams/001-spike-nexus-generate-shards.md index 86d96a72..56e13588 100644 --- a/diagrams/001-spike-nexus-generate-shards.md +++ b/diagrams/001-spike-nexus-generate-shards.md @@ -1,6 +1,6 @@ ![SPIKE](../assets/spike-banner-lg.png) -## SPIKE Nexus Recovery Flow (`spike recover`) +## SPIKE Nexus Recovery Flow (`spike operator recover`) Generate recovery shards from the running SPIKE Nexus instance. @@ -14,7 +14,7 @@ Generate recovery shards from the running SPIKE Nexus instance. ```mermaid sequenceDiagram - participant Operator as SPIKE Pilot
(spike recover) + participant Operator as SPIKE Pilot
(spike operator recover) participant Nexus as SPIKE Nexus participant RootKey as Root Key
(in-memory) participant Shamir as Shamir Secret
Sharing diff --git a/diagrams/002-spike-nexus-restore-root-key.md b/diagrams/002-spike-nexus-restore-root-key.md index acb7771e..aaf9fb2f 100644 --- a/diagrams/002-spike-nexus-restore-root-key.md +++ b/diagrams/002-spike-nexus-restore-root-key.md @@ -1,6 +1,6 @@ ![SPIKE](../assets/spike-banner-lg.png) -## SPIKE Nexus Root Key Restoration (`spike restore`) +## SPIKE Nexus Root Key Restoration (`spike operator restore`) Restore the root key in SPIKE Nexus from recovery shards. @@ -17,7 +17,7 @@ Restore the root key in SPIKE Nexus from recovery shards. ```mermaid sequenceDiagram - participant Operator as SPIKE Pilot
(spike restore) + participant Operator as SPIKE Pilot
(spike operator restore) participant Disk as ~/.spike/recover participant Nexus as SPIKE Nexus participant ShardStore as Shard Store
(in-memory) diff --git a/diagrams/011-spike-pilot-policy-creation.md b/diagrams/011-spike-pilot-policy-creation.md index ce20e9bb..fd6258a9 100644 --- a/diagrams/011-spike-pilot-policy-creation.md +++ b/diagrams/011-spike-pilot-policy-creation.md @@ -20,7 +20,7 @@ sequenceDiagram Note over User: Create policy for workload - User->>Pilot: spike policy create my-policy \
--spiffe-id-pattern "spiffe://example\.org/workload/.*" \
--path-pattern "secrets/app/.*" \
--permissions read,write + User->>Pilot: spike policy create --name my-policy \
--spiffeid-pattern "^spiffe://example\.org/workload/.*$" \
--path-pattern "^secrets/app/.*$" \
--permissions read,write Pilot->>Validation: Validate inputs diff --git a/docs-src/config.toml b/docs-src/config.toml index c035c307..5044032d 100644 --- a/docs-src/config.toml +++ b/docs-src/config.toml @@ -10,13 +10,15 @@ compile_sass = true build_search_index = true [markdown] -# Whether to do syntax highlighting -# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola -highlight_code = true -highlight_theme = "base16-ocean-dark" - smart_punctuation = true +# Syntax highlighting. As of Zola 0.19 the top-level `highlight_code` +# and `highlight_theme` keys moved into the [markdown.highlighting] +# table; Zola 0.22 switched the highlighter to Giallo. Theme can be +# customised by setting `theme` to any Zola-supported theme. +[markdown.highlighting] +theme = "material-theme-ocean" + # Put all your custom variables here [extra] release = "https://api.github.com/repos/spiffe/spike/releases/latest" diff --git a/docs-src/content/about/intro.md b/docs-src/content/about/intro.md index c849c1eb..970ce21f 100644 --- a/docs-src/content/about/intro.md +++ b/docs-src/content/about/intro.md @@ -34,9 +34,9 @@ secrets management solution. Here’s why relying on Kubernetes secrets can be problematic: -### Limited Scope & Portability +### Limited Scope and Portability -If a service outside Kubernetes—or in another cluster—needs access to a +If a service outside Kubernetes (or in another cluster) needs access to a Kubernetes secret, it introduces significant authentication and authorization challenges. @@ -53,7 +53,7 @@ single cluster. Kubernetes secrets are static once created. They are stored in `etcd` and injected into pods at startup, meaning updates require manual -intervention—modifying the secret, redeploying affected applications, and +intervention: modifying the secret, redeploying affected applications, and ensuring no stale or expired secrets remain in use. Updating a Kubernetes Secret does not automatically notify or reload the @@ -71,7 +71,7 @@ multiple environments. This often leads to fragmented governance and potential misconfigurations. A dedicated secrets manager offers dynamic cross-environment compatibility -and stronger security controls—making it a better choice for modern, +and stronger security controls, making it a better choice for modern, distributed architectures. ### Kubernetes Secrets Are Not Encrypted By Default @@ -101,7 +101,7 @@ cluster-contained workloads where: * RBAC policies are well-configured to prevent accidental exposure. However, for any multi-cluster, dynamic, or **zero-trust** architecture, a -dedicated secrets management solution is a better approach—providing +dedicated secrets management solution is a better approach, providing fine-grained access control, cross-environment compatibility, and stronger security guarantees. diff --git a/docs-src/content/architecture/_index.md b/docs-src/content/architecture/_index.md index 83c2a9c9..59345348 100644 --- a/docs-src/content/architecture/_index.md +++ b/docs-src/content/architecture/_index.md @@ -4,7 +4,7 @@ # \\\\\\\ SPDX-License-Identifier: Apache-2. title = "SPIKE Architecture" -weight = 6 +weight = 7 sort_by = "weight" +++ diff --git a/docs-src/content/architecture/security-model.md b/docs-src/content/architecture/security-model.md index 7e8db343..8baba55d 100644 --- a/docs-src/content/architecture/security-model.md +++ b/docs-src/content/architecture/security-model.md @@ -156,7 +156,7 @@ The security model allows for different levels of redundancy and control: shares can be combined to restore the system when needed. * **SPIKE Nexus** often automatically recovers itself from crashes using **SPIKE Keeper**s. However, for the unlikely case of a total system crash, - each administrator can hold one of these shares and use `spike restore` to + each administrator can hold one of these shares and use `spike operator restore` to restore the system back to normal. Since a single shard cannot recreate the root key, we are mitigating risk by distributing trust. * For those less concerned with strict separation, an alternative approach @@ -175,7 +175,7 @@ disaster recovery. **long-lived**. * The **root key** is automatically generated by **SPIKE Bootstrap**, and it's **never** stored on disk in plain text (*i.e., it always lives in memory*) -* An administrator with adequate privileges can use `spike recover` to save +* An administrator with adequate privileges can use `spike operator recover` to save [Shamir Shards][shamir] in an encrypted medium out-of-band for future break-the-glass disaster recovery. * Root key rotation will also re-encrypt the secrets. diff --git a/docs-src/content/architecture/system-overview.md b/docs-src/content/architecture/system-overview.md index 1257a21d..cb6f797c 100644 --- a/docs-src/content/architecture/system-overview.md +++ b/docs-src/content/architecture/system-overview.md @@ -389,9 +389,9 @@ You can open the picture on a new tab for an enlarged version of it. ### Preventive Backup -> **Run `spike recover` as Soon as You Can** +> **Run `spike operator recover` as Soon as You Can** > -> You must back up the **root key** shards using `spike recover` **BEFORE** a +> You must back up the **root key** shards using `spike operator recover` **BEFORE** a > disaster strikes. > > This is like having a spare key stored in a safe place before you lose your @@ -403,10 +403,10 @@ deploying **SPIKE**. Here is how the flow goes: -* The Operator runs `spike recover` using **SPIKE Pilot**. +* The Operator runs `spike operator recover` using **SPIKE Pilot**. * **SPIKE Pilot** saves the recovery shards on the home directory of the system/ * The Operator encrypts and stores these shards in a secure medium, and securely - erases the copies generated as an output to `spike recover`. + erases the copies generated as an output to `spike operator recover`. When later recovery is needed, the Operator will provide these shards to **SPIKE** to restore the system back to its working state. @@ -421,7 +421,7 @@ When disaster strikes: * Thus, automatic recovery is impossible and the system requires manual recovery. -In that case, the Operator uses `spike restore` to provide the previously +In that case, the Operator uses `spike operator restore` to provide the previously backed-up shards one at a time * **SPIKE Pilot** forwards the entered shard to **SPIKE Nexus** diff --git a/docs-src/content/development/_index.md b/docs-src/content/development/_index.md index ff32c663..d855bc14 100644 --- a/docs-src/content/development/_index.md +++ b/docs-src/content/development/_index.md @@ -4,7 +4,7 @@ # \\\\\\\ SPDX-License-Identifier: Apache-2. title = "Developing SPIKE" -weight = 5 +weight = 6 sort_by = "weight" +++ diff --git a/docs-src/content/development/sdk-integration.md b/docs-src/content/development/sdk-integration.md index 36115c5a..f829cf51 100644 --- a/docs-src/content/development/sdk-integration.md +++ b/docs-src/content/development/sdk-integration.md @@ -44,9 +44,10 @@ spire-server entry create \ A policy must grant your workload access to the secrets it needs: ```bash -spike policy create myapp-policy \ - --spiffe-id-pattern "spiffe://example\.org/myapp" \ - --path-pattern "tenants/myapp/.*" \ +spike policy create \ + --name myapp-policy \ + --spiffeid-pattern "^spiffe://example\.org/myapp$" \ + --path-pattern "^tenants/myapp/.*$" \ --permissions read,write ``` diff --git a/docs-src/content/getting-started/_index.md b/docs-src/content/getting-started/_index.md index 4cfe8294..0b928f2b 100644 --- a/docs-src/content/getting-started/_index.md +++ b/docs-src/content/getting-started/_index.md @@ -10,4 +10,8 @@ sort_by = "weight" # Getting Started +New to SPIKE? Start here, then head to the task-oriented +[Recipes](/recipes/) for step-by-step guides to common jobs: storing +secrets, writing policies, granting a workload access, recovery, and more. + {{ toc_getting_started() }} diff --git a/docs-src/content/getting-started/quickstart.md b/docs-src/content/getting-started/quickstart.md index db1e134c..6045f9d8 100644 --- a/docs-src/content/getting-started/quickstart.md +++ b/docs-src/content/getting-started/quickstart.md @@ -340,6 +340,7 @@ using **SPIKE**. Here are a few links to get you started: +* [**SPIKE** Recipes: task-oriented, step-by-step guides][recipes] * [Building **SPIKE** Locally and Deploying to Minikube][local-deployment] * [Bare Metal **SPIKE** Installation][bare-metal] * [Configuring **SPIKE**][configuration] @@ -352,6 +353,7 @@ Here are a few links to get you started: [**Join the SPIKE community**][community] to ask your questions and learn from the subject-matter experts. +[recipes]: @/recipes/_index.md "SPIKE Recipes" [hardening]: @/operations/production.md "SPIKE Production Hardening Guide" [architecture]: @/architecture/_index.md "SPIKE Architecture" [configuration]: @/usage/configuration.md "Configuring SPIKE" diff --git a/docs-src/content/operations/_index.md b/docs-src/content/operations/_index.md index 60ab7e9e..220f1edf 100644 --- a/docs-src/content/operations/_index.md +++ b/docs-src/content/operations/_index.md @@ -4,7 +4,7 @@ # \\\\\\\ SPDX-License-Identifier: Apache-2. title = "Operations" -weight = 8 +weight = 9 sort_by = "weight" +++ diff --git a/docs-src/content/operations/backup.md b/docs-src/content/operations/backup.md index 60834474..19159d88 100644 --- a/docs-src/content/operations/backup.md +++ b/docs-src/content/operations/backup.md @@ -13,9 +13,9 @@ sort_by = "weight" **SPIKE**, the Secure Production Identity Framework for Key Encryption, provides robust secrets management with strong identity controls. But even the most reliable systems need comprehensive backup and recovery plans. This guide -explains how to properly back up, secure, and restore SPIKE deployments—ensuring -your critical secrets infrastructure remains resilient against catastrophic -failures. +explains how to properly back up, secure, and restore SPIKE deployments, +ensuring your critical secrets infrastructure remains resilient against +catastrophic failures. ## Architecture Foundations for Effective Backup Planning @@ -45,9 +45,9 @@ The foundation of SPIKE's security model lies in its root key management: * For disaster recovery scenarios, administrators can create additional recovery shards -## Backup procedures +## Backup Procedures -### SQLite database backup +### SQLite Database Backup The SPIKE Nexus uses a SQLite database to store all encrypted secrets and metadata. This database is typically located in `~/.spike` on the Nexus server. @@ -73,7 +73,7 @@ sqlite3 /backup/spike_nexus_db_*.sqlite "PRAGMA integrity_check;" * Use database-level locking through SQLite's `.backup` command rather than direct file copying -### Root key and cryptographic material backup +### Root Key and Cryptographic Material Backup The root key is **SPIKE**'s most critical component. While it exists only in memory during normal operation, you must back it up for disaster recovery using @@ -82,7 +82,7 @@ Shamir's Secret Sharing: ```bash # Create recovery shards of the root key # IMPORTANT: Run this BEFORE any disaster occurs -spike recover +spike operator recover # This will generate multiple shard files under `~/.spike/recover` folder. ``` @@ -96,7 +96,7 @@ spike recover 4. Implement strict access controls for shard access 5. Document the threshold configuration (*e.g., "2 of 3 shards required"*) -### Configuration and other components backup +### Configuration and Other Components Backup Beyond the database and root key, back up these critical components: @@ -108,7 +108,7 @@ Beyond the database and root key, back up these critical components: spire-server entry show > /backup/spire_entries_$(date +%Y%m%d).txt ``` -## Restore procedures +## Restore Procedures ### Prerequisites for Restoration @@ -124,7 +124,7 @@ Before beginning any restore operation, ensure: 3. All **SPIKE** services are properly installed on the target system -### Root key restoration +### Root Key Restoration If both **SPIKE Nexus** and all **SPIKE Keeper**s are unavailable (*catastrophic failure*), follow this procedure: @@ -135,7 +135,7 @@ If both **SPIKE Nexus** and all **SPIKE Keeper**s are unavailable ./hack/bare-metal/entry/spire-server-entry-restore-register.sh # 2. Run the restore command -spike restore +spike operator restore # 3. When prompted, provide recovery shards one at a time # You'll need to provide enough shards to meet your threshold (e.g., 2 of 3) @@ -149,7 +149,7 @@ SPIKE Nexus will: * Redistribute shards to available SPIKE Keeper instances * Resume normal operation with the restored key -### SQLite database restoration +### SQLite Database Restoration To restore the SQLite database: @@ -172,7 +172,7 @@ To restore the SQLite database: recover the root key from **SPIKE Keeper**s, you'll need to perform the root key restoration procedure above. -### Verification procedures +### Verification Procedures After completing a restore operation, verify system integrity: @@ -181,12 +181,12 @@ After completing a restore operation, verify system integrity: sqlite3 ~/.spike/data/spike.db "PRAGMA integrity_check;" # Test secret access to verify encryption/decryption is working -spike get /path/to/test/secret +spike secret get path/to/test/secret ``` -## Backup best practices +## Backup Best Practices -### Backup frequency and scheduling +### Backup Frequency and Scheduling | Component | Recommended Frequency | Reasoning | |-----------------|-----------------------------------------------------|------------------------------------------| @@ -195,7 +195,7 @@ spike get /path/to/test/secret | Configuration | After any configuration change | Ensures you can recreate the environment | | SPIFFE Entries | After any identity changes | Required for workload authentication | -### Backup rotation and retention +### Backup Rotation and Retention Implement a comprehensive retention policy: @@ -231,7 +231,7 @@ For database backups: While **SPIKE** currently lacks built-in migration tools, careful planning can facilitate future migrations. -### Current migration limitations +### Current Migration Limitations - No direct database migration between different SPIKE versions - Manual coordination is required for root key transfers diff --git a/docs-src/content/operations/recovery.md b/docs-src/content/operations/recovery.md index 26fe6fb4..6d2b1700 100644 --- a/docs-src/content/operations/recovery.md +++ b/docs-src/content/operations/recovery.md @@ -49,10 +49,10 @@ In that case, manual intervention will be necessary. The following sections describe this "*break-the-glass*" procedure to help restore **SPIKE** back to its operational state: -### 1. Before complete system failure: +### 1. Before Complete System Failure * Change the **SPIFFE ID** of **SPIKE Pilot** to recovery mode by executing `./hack/bare-metal/entry/spire-server-entry-recover-register.sh` -* Run `spike recover` +* Run `spike operator recover` * Save the files generated in `~/.spike/recover` folder to a safe, encrypted, and password-protected medium. * Securely erase the ~/.spike/recover` folder. @@ -63,11 +63,11 @@ its operational state: `./hack/bare-metal/entry/spire-server-entry-su-register.sh` when you need to use **SPIKE Pilot**. -### 2. During complete system failure: +### 2. During Complete System Failure * Change the **SPIFFE ID** of **SPIKE Pilot** to restore mode: `./hack/bare-metal/entry/spire-server-entry-restore-register.sh` -* Execute `spike restore` and enter the shards you created in the - previous step one by one. Each `spike restore` call accepts a +* Execute `spike operator restore` and enter the shards you created in the + previous step one by one. Each `spike operator restore` call accepts a single shard. * When you provide enough shards, the system will restore itself: **SPIKE Nexus** will restore its root key, and it will also hydrate @@ -82,7 +82,7 @@ its operational state: 1. Both **SPIKE Nexus**, **SPIKE Keeper** are unavailable, or the system is in another irrecoverable state. -2. Admin executes `spike recover`. +2. Admin executes `spike operator recover`. 3. Admin provides their **password**. 4. The encrypted **root key** is fetched from the database and injected to the memory of **SPIKE Nexus**. @@ -107,7 +107,7 @@ The situation: * Both **SPIKE Nexus** and all **SPIKE Keeper** instances have crashed, there is no way to fetch the root key from **SPIKE Keeper**(s). -* The system administrator has not used `spike recover` to create recovery +* The system administrator has not used `spike operator recover` to create recovery shards, or they have lost access to the recovery shards. * Everyone has learned their lessons, and now it's time to reset the system and conduct an extensive "what went wrong / what should have been done" diff --git a/docs-src/content/recipes/_index.md b/docs-src/content/recipes/_index.md new file mode 100644 index 00000000..91eabccc --- /dev/null +++ b/docs-src/content/recipes/_index.md @@ -0,0 +1,44 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Recipes" +weight = 4 +sort_by = "weight" ++++ + +# Recipes + +Task-first guides for SPIKE. Each recipe states the **problem** you're trying +to solve, gives a **TL;DR**, walks the **workflow** step by step, then lists +**tips**, **pitfalls**, and where to go **next**. For exhaustive option lists +see [Configuration](/usage/configuration/) and the +[command reference](/usage/commands/); for the why, see +[Architecture](/architecture/system-overview/). + +## Concepts and Decisions + +- [Choosing a backend store: memory, lite, or sqlite](/recipes/choosing-a-backend-store/) +- [Bootstrapping a fresh SPIKE](/recipes/bootstrapping-spike/) +- [Where the root key lives: keepers, Shamir, and recovery](/recipes/root-key-keepers-recovery/) + +## Day-to-Day Usage + +- [Storing and reading secrets](/recipes/storing-and-reading-secrets/) +- [Writing access policies](/recipes/writing-access-policies/) +- [Granting a workload access to secrets](/recipes/granting-a-workload-access/) +- [Using SPIKE as an encryption service](/recipes/encryption-as-a-service/) + +## Operations and Lifecycle + +- [Break-the-glass disaster recovery](/recipes/break-the-glass-recovery/) +- [Backup and restore](/recipes/backup-and-restore/) +- [Deploying SPIKE (Kubernetes and bare-metal)](/recipes/deploying-spike/) +- [Production hardening](/recipes/production-hardening/) +- [Troubleshooting](/recipes/troubleshooting/) + +## Integration and Advanced + +- [Integrating the Go SDK](/recipes/go-sdk-integration/) +- [Upgrading SPIKE](/recipes/upgrading-spike/) diff --git a/docs-src/content/recipes/backup-and-restore.md b/docs-src/content/recipes/backup-and-restore.md new file mode 100644 index 00000000..f445fc20 --- /dev/null +++ b/docs-src/content/recipes/backup-and-restore.md @@ -0,0 +1,130 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Backup and Restore" +weight = 9 +sort_by = "weight" ++++ + +# Backup and Restore + +## Problem + +A full SPIKE backup is **two independent things**, and people routinely save +one and forget the other. The SQLite database holds your encrypted secrets; the +root-key shards hold the only thing that can decrypt them. A database backup +without the key is undecryptable noise. The key without the database has nothing +to unlock. You need both, backed up on their own schedules, and a restore +procedure that puts them back in the right order. + +> `memory` and `lite` modes have no database to back up. For them, only the +> root-key shards matter. + +## TL;DR + +```bash +# 1. Back up the encrypted secret store (sqlite mode) +sqlite3 ~/.spike/data/spike.db "PRAGMA wal_checkpoint(FULL);" +sqlite3 ~/.spike/data/spike.db \ + ".backup '/backup/spike-$(date +%Y%m%d).sqlite'" + +# 2. Back up the root key as recovery shards (all modes) +spike operator recover # then encrypt + store the shards offline +``` + +Restore is the reverse: put the database back, then reconstruct the root key +from shards if Nexus cannot auto-recover. + +## Workflow + +### Backup + +1. **Database (sqlite mode).** Use SQLite's online `.backup`, not a file copy, + so you get a consistent snapshot. Checkpoint the WAL first: + + ```bash + sqlite3 ~/.spike/data/spike.db "PRAGMA wal_checkpoint(FULL);" + sqlite3 ~/.spike/data/spike.db \ + ".backup '/backup/spike-$(date +%Y%m%d_%H%M%S).sqlite'" + sqlite3 /backup/spike-*.sqlite "PRAGMA integrity_check;" + ``` + +2. **Root-key shards (all modes).** Export and secure them as covered in + [break-the-glass recovery](/recipes/break-the-glass-recovery/): + + ```bash + spike operator recover # writes spike.recovery.N.txt; then encrypt + erase + ``` + +3. **Supporting state.** Also capture what you need to rebuild identity: + + ```bash + spire-server entry show > /backup/spire-entries-$(date +%Y%m%d).txt + # plus SPIRE server/agent config and SPIKE configuration + ``` + +### Restore + +4. **Database.** Stop Nexus, swap the file in, lock it down, restart: + + ```bash + cp /backup/spike-TIMESTAMP.sqlite ~/.spike/data/spike.db + chmod 600 ~/.spike/data/spike.db + ``` + +5. **Root key.** If Nexus cannot auto-recover from the keepers, reconstruct it + from shards (needs the `restore` role): + + ```bash + spike operator restore # paste shards until the threshold is met + ``` + +6. **Verify.** Confirm the store is intact and crypto round-trips: + + ```bash + sqlite3 ~/.spike/data/spike.db "PRAGMA integrity_check;" + spike secret get path/to/test/secret + ``` + +## Tips + +- **Two assets, two cadences.** Back up the database daily (it changes with + every secret write). Re-export root-key shards only after initial setup and + after any deliberate root-key rotation; the key does not change otherwise. +- **The database is encrypted at rest.** Its contents are useless without the + root key, so the database backup is far less sensitive than the shards. Guard + the shards like the crown jewels; the database like ordinary backups. +- **Test restores, not just backups.** A backup you have never restored is a + hypothesis. Rehearse the full restore into a throwaway environment on a + schedule. +- **DB location.** The SQLite store lives at `~/.spike/data/spike.db` on the + Nexus host. + +## Pitfalls + +- **Database without key is unrecoverable.** The most common mistake is backing + up `spike.db` and never running `spike operator recover`. Encrypted secrets + with no key are gone. Always pair the two. +- **File-copy backups corrupt.** Copying `spike.db` while Nexus is running can + capture a torn write. Use SQLite's `.backup` (and checkpoint the WAL) for a + consistent snapshot. +- **Restore order matters.** Put the database in place first, then restore the + root key. Restoring the key into an empty store leaves nothing to decrypt. +- **No cross-version DB migration.** SPIKE has no built-in migration between + versions. Restore into the same (or a compatible) SPIKE version you backed up + from; plan version upgrades separately. See + [Upgrading SPIKE](/recipes/upgrading-spike/). + +## Cross-Links + +- [Break-the-glass disaster recovery](/recipes/break-the-glass-recovery/) +- [Choosing a backend store](/recipes/choosing-a-backend-store/) +- [Where the root key lives](/recipes/root-key-keepers-recovery/) +- Reference: [Backup and Restore guide](/operations/backup/) + +## What's Next + +Stand the whole thing up cleanly in production: +[Deploying SPIKE](/recipes/deploying-spike/). diff --git a/docs-src/content/recipes/bootstrapping-spike.md b/docs-src/content/recipes/bootstrapping-spike.md new file mode 100644 index 00000000..b60897c9 --- /dev/null +++ b/docs-src/content/recipes/bootstrapping-spike.md @@ -0,0 +1,91 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Bootstrapping a Fresh SPIKE" +weight = 2 +sort_by = "weight" ++++ + +# Bootstrapping a Fresh SPIKE + +## Problem + +On a brand-new `lite` or `sqlite` deployment the SPIKE Keepers start **empty**. +SPIKE Nexus recovers its root key *from* the keepers, so until something +generates a root key and seeds the keepers, Nexus can never initialize; it +loops in keeper recovery and its readiness probe keeps killing it. Bootstrap is +the one-time step that breaks this chicken-and-egg. + +> `memory` mode needs no bootstrap, so skip this recipe. + +## TL;DR + +SPIKE Bootstrap generates a 256-bit root key, splits it into Shamir shares, and +distributes one share to each keeper. Run it once after the keepers are up: + +```bash +# bare-metal +make bootstrap + +# Kubernetes: run the spike-bootstrap workload (Job) with the bootstrap SVID +kubectl apply -f bootstrap.yaml +``` + +After it succeeds, Nexus reconstructs the root key from the keepers and becomes +ready. + +## Workflow + +1. **Deploy keepers first.** Bring up `SPIKE_NEXUS_SHAMIR_SHARES` keepers + (default 3) and make sure each is reachable at its + `SPIKE_NEXUS_KEEPER_PEERS` URL. +2. **Run bootstrap** with the `spike/bootstrap` SPIFFE identity and the shared + config (`SPIKE_NEXUS_KEEPER_PEERS`, `SPIKE_NEXUS_SHAMIR_SHARES`, + `SPIKE_NEXUS_SHAMIR_THRESHOLD`, the trust roots). It: + - generates the root key and splits it (Shamir over P-256, via CIRCL); + - `POST`s one share to each keeper's `/v1/store/contribute` (with retries); + - verifies initialization by asking Nexus to decrypt a probe encrypted with + the canonical root key; + - records completion in the `spike-bootstrap-state` ConfigMap (Kubernetes). +3. **Nexus recovers.** On the next loop Nexus collects `threshold` shares, + reconstructs the root key, initializes its backend, and becomes ready. It + then re-syncs shares to keepers periodically. + +## Tips + +- **Shares vs threshold:** `SHARES` keepers each hold one share; any + `THRESHOLD` of them can reconstruct the key (e.g. 3 shares / threshold 2 + tolerates one keeper down). Production guidance is 5 shares / threshold 3. +- **Idempotency:** the `spike-bootstrap-state` ConfigMap makes re-runs no-ops. + Grant the bootstrap ServiceAccount RBAC to read/write that ConfigMap, or a + retried Job could re-bootstrap with a *new* root key and orphan the data + encrypted under the old one. Set `SPIKE_BOOTSTRAP_FORCE=true` only when you + deliberately want to re-key. +- Bootstrap waits for the SPIRE agent socket (init container in Kubernetes) + before it runs. + +## Pitfalls + +- **No `--wait` race.** Don't `helm install --wait` the chart and expect Nexus + Ready *before* bootstrap runs; Nexus can't be ready until the keepers are + seeded. Install without `--wait`, run bootstrap, then wait on the Nexus + rollout. +- **Keepers not all up.** Bootstrap requires exactly `SHARES` reachable keepers; + if some aren't resolvable yet it retries, but a wrong peer list fails it. +- **Verify needs to reach Nexus.** The post-seed verification calls Nexus's + API; set `SPIKE_NEXUS_API_URL` to a resolvable address (in Kubernetes, the + fully-qualified service DNS). + +## Cross-Links + +- [Choosing a backend store](/recipes/choosing-a-backend-store/) +- [Where the root key lives: keepers, Shamir, and recovery](/recipes/root-key-keepers-recovery/) +- [Troubleshooting](/recipes/troubleshooting/) (Nexus stuck in keeper recovery) +- Reference: [Configuration](/usage/configuration/) + +## What's Next + +Understand the moving parts you just wired up: +[Where the root key lives](/recipes/root-key-keepers-recovery/). diff --git a/docs-src/content/recipes/break-the-glass-recovery.md b/docs-src/content/recipes/break-the-glass-recovery.md new file mode 100644 index 00000000..c879e32d --- /dev/null +++ b/docs-src/content/recipes/break-the-glass-recovery.md @@ -0,0 +1,121 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Break-the-Glass Disaster Recovery" +weight = 8 +sort_by = "weight" ++++ + +# Break-the-Glass Disaster Recovery + +## Problem + +Normally SPIKE recovers itself: Nexus rebuilds its root key from the keepers on +startup. But if you lose enough keepers at once (the whole cluster, the node, +the data center) there is nothing left to auto-recover *from*. Break-the-glass +recovery is the human-held fallback: a set of recovery shards an operator +exports **ahead of time** and feeds back in **after** a catastrophe. + +The catch is in the timing. The shards must be exported while the system is +healthy. If you wait until the outage, it is too late. + +## TL;DR + +Two operator commands, two different moments: + +```bash +# BEFORE disaster, while Nexus is healthy: export recovery shards +spike operator recover + +# AFTER disaster, when Nexus cannot auto-recover: feed shards back in +spike operator restore # prompts for one shard at a time; repeat +``` + +`recover` needs the `recover` role; `restore` needs the `restore` role. Store +the exported shards encrypted, offline, and split across custodians. + +## Workflow + +### Phase 1: Export Shards (Do This Now, While Healthy) + +1. As an operator with the `recover` role, run: + + ```bash + spike operator recover + ``` + +2. SPIKE writes the recovery shards to the recovery directory as + `spike.recovery.0.txt`, `spike.recovery.1.txt`, ... Each file holds one + shard in `spike::` format. + +3. **Immediately secure them.** Encrypt each shard, move it to safe offline + storage (ideally different custodians/locations), and securely erase the + plaintext files from the recovery directory. SPIKE prints this reminder for + a reason: if you lose these shards, a total crash is unrecoverable. + +### Phase 2: Restore (Only After a Catastrophe) + +4. When Nexus cannot auto-recover (keepers gone, no root key), an operator with + the `restore` role runs: + + ```bash + spike operator restore + ``` + +5. Paste one recovery shard when prompted. Input is hidden. SPIKE reports + progress: + + ```text + Shards collected: 1 + Shards remaining: 1 + Please run `spike operator restore` again to provide the remaining shards. + ``` + +6. Repeat with the next shard until SPIKE collects the threshold and prints + `SPIKE is now restored and ready to use.` + +## Tips + +- **`recover` vs `restore`.** `recover` *exports* shards from a healthy system + (proactive backup). `restore` *imports* them into a broken one (reactive + rebuild). They are not opposites of one command; they are two halves of one + drill. +- **Threshold, not all.** Restore needs `threshold` shards, not every shard, so + you can tolerate losing some custodians. This is the same Shamir threshold + that backs keeper auto-recovery. See + [Where the root key lives](/recipes/root-key-keepers-recovery/). +- **Rehearse it.** Schedule a recovery drill: export shards, stand up a + throwaway Nexus, and restore into it. A break-the-glass procedure no one has + run is a guess, not a plan. +- **Roles are separate identities.** The `recover` and `restore` roles are + distinct SPIFFE-ID roles, separate from day-to-day Pilot access. Provision + them deliberately to the humans who hold the glass. + +## Pitfalls + +- **You cannot export after the disaster.** `recover` talks to a *healthy* + Nexus. If you skipped Phase 1, there is no second chance once the keepers are + gone. Export shards as part of going to production, not as an afterthought. +- **Shards are root-key material.** Anyone with `threshold` shards can rebuild + the root key and decrypt everything. Treat them like the keys to the kingdom: + encrypted, offline, split, audited. +- **Shard format is exact.** A shard is `spike::` where the hex is + 64 characters (32 bytes). Truncated or reformatted shards are rejected. Keep + them byte-for-byte. +- **Re-keying invalidates old shards.** If you re-bootstrap with a new root key, + previously exported shards no longer restore the current system. Re-export + after any deliberate root-key rotation. + +## Cross-Links + +- [Where the root key lives: keepers, Shamir, and recovery](/recipes/root-key-keepers-recovery/) +- [Backup and restore](/recipes/backup-and-restore/) +- [Bootstrapping a fresh SPIKE](/recipes/bootstrapping-spike/) +- Reference: [Recovery operations](/operations/recovery/) + +## What's Next + +Pair key recovery with data backup: +[Backup and restore](/recipes/backup-and-restore/). diff --git a/docs-src/content/recipes/choosing-a-backend-store.md b/docs-src/content/recipes/choosing-a-backend-store.md new file mode 100644 index 00000000..f0e24aa8 --- /dev/null +++ b/docs-src/content/recipes/choosing-a-backend-store.md @@ -0,0 +1,91 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Choosing a Backend Store: Memory, Lite, or SQLite" +weight = 1 +sort_by = "weight" ++++ + +# Choosing a Backend Store: Memory, Lite, or SQLite + +## Problem + +SPIKE Nexus can run with one of three backend stores, set by +`SPIKE_NEXUS_BACKEND_STORE`: `memory`, `lite`, or `sqlite`. They differ on two +**independent** axes: whether secrets are *persisted*, and whether a *root +key* (and therefore SPIKE Keepers) is required. Picking the wrong one leads to +confusing failures: a Nexus that waits forever for keepers that were never +deployed, or an in-memory store that silently loses everything on restart. + +## TL;DR + +| Backend | Persists secrets? | Root key? | Keepers required? | Use it for | +|----------|-------------------|-----------|-------------------|------------| +| `memory` | No (in-process) | **No** (must be nil) | **No** | local dev / tests | +| `lite` | No (no store at all) | **Yes** | **Yes** | encryption-as-a-service; secrets live elsewhere (e.g. S3) | +| `sqlite` | Yes (`~/.spike/data/spike.db`, AES-256-GCM at rest) | **Yes** | **Yes** | production (default) | + +Rule of thumb: **`sqlite`** for production, **`memory`** for throwaway dev, and +**`lite`** only when SPIKE is your encrypt/decrypt service and something else +stores the ciphertext. + +## Workflow + +Set the mode on SPIKE Nexus: + +```bash +export SPIKE_NEXUS_BACKEND_STORE=sqlite # or: lite | memory +``` + +- **memory**: Nexus initializes a volatile in-process store and **does not + contact keepers**. No bootstrap, no keepers, no root key. Nexus logs a + "not for production" warning at startup. Restarting Nexus wipes all secrets. +- **lite** and **sqlite**: Nexus recovers its root key from the SPIKE Keepers + on startup (Shamir reconstruction), so you must deploy keepers **and** seed + them once via SPIKE Bootstrap. See + [Bootstrapping a fresh SPIKE](/recipes/bootstrapping-spike/). + - **sqlite** then opens/creates the encrypted database and serves the full + secret + policy API. + - **lite** keeps **no** local store (it embeds a no-op backend) and serves + only the cipher API; it is an *encryption-only* service. + +## Tips + +- The default is `sqlite`; you only need to set the variable to choose + `lite` or `memory`. +- `memory` is the only mode that runs standalone: no keepers, no bootstrap. + Reach for it in unit/integration tests and quick local experiments. +- Use `lite` when secrets are stored externally (e.g. S3-compatible storage) + and you just need SPIKE to encrypt/decrypt with a SPIFFE-gated key. See + [Using SPIKE as an encryption service](/recipes/encryption-as-a-service/). +- For `sqlite`, point `SPIKE_NEXUS_DATA_DIR` at durable, access-controlled + storage and back it up. See [Backup and restore](/recipes/backup-and-restore/). + +## Pitfalls + +- **"lite doesn't need keepers."** It does. `lite` and `sqlite` both recover the + root key from keepers on startup; only `memory` is keeper-free. If you deploy + `lite` without seeded keepers, Nexus loops forever in keeper recovery and + never becomes ready (see [Troubleshooting](/recipes/troubleshooting/)). +- **"lite is an in-memory store."** It isn't; `lite` has *no* store (it's + encryption-only). The in-memory secret store is `memory`. +- **`memory` and a root key are mutually exclusive.** In `memory` mode the root + key must be nil; passing one is treated as an initialization bug. Conversely + `lite`/`sqlite` refuse to start with a nil/empty root key. +- **`memory` loses data on restart.** Never use it where you expect secrets to + survive a process restart. + +## Cross-Links + +- [Bootstrapping a fresh SPIKE](/recipes/bootstrapping-spike/) +- [Where the root key lives: keepers, Shamir, and recovery](/recipes/root-key-keepers-recovery/) +- [Using SPIKE as an encryption service](/recipes/encryption-as-a-service/) +- Reference: [Configuration](/usage/configuration/) · + Architecture: [System overview](/architecture/system-overview/) + +## What's Next + +If you chose `lite` or `sqlite`, set up keepers and seed them: +[Bootstrapping a fresh SPIKE](/recipes/bootstrapping-spike/). diff --git a/docs-src/content/recipes/deploying-spike.md b/docs-src/content/recipes/deploying-spike.md new file mode 100644 index 00000000..1228fbe8 --- /dev/null +++ b/docs-src/content/recipes/deploying-spike.md @@ -0,0 +1,107 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Deploying SPIKE (Kubernetes and Bare-Metal)" +weight = 10 +sort_by = "weight" ++++ + +# Deploying SPIKE (Kubernetes and Bare-Metal) + +## Problem + +SPIKE is not a single binary you start. It is a small constellation of +components on top of SPIRE: Nexus (the secret store), one or more Keepers (root- +key shard holders), Pilot (the CLI), and a one-shot Bootstrap step. Standing +them up in the wrong order, or skipping bootstrap, leaves Nexus stuck in keeper +recovery and never Ready. This recipe is the map of *what* you deploy and in +*what order*; the linked guides have the full command-by-command walkthrough. + +## TL;DR + +The order is always: **SPIRE -> Keepers + Nexus -> Bootstrap -> ready**. + +```text +1. SPIRE server + agent (identity substrate) +2. SPIKE Keepers and Nexus (Nexus waits in keeper recovery) +3. SPIKE Bootstrap (seeds the keepers with root-key shards) <-- the easy miss +4. Nexus reconstructs the root key and becomes Ready +``` + +On Kubernetes that is the SPIFFE Helm chart plus a bootstrap Job; on bare-metal +it is the SPIRE binaries plus the SPIKE `make` targets. See +[Quickstart](/getting-started/quickstart/) (Kubernetes) and +[SPIKE on Linux](/development/bare-metal/) (bare-metal) for the exact commands. + +## Workflow + +### Kubernetes + +1. **Install SPIRE** via the hardened SPIFFE Helm chart. This gives every + component (including `spike/bootstrap`) a SPIFFE identity. +2. **Deploy the SPIKE components** (Keepers, Nexus). Install **without** + `--wait`: Nexus cannot become Ready until the keepers are seeded, so a + `--wait` install hangs. +3. **Run the Bootstrap Job** with the `spike/bootstrap` SVID. It generates the + root key, splits it into Shamir shares, and seeds the keepers. Give its + ServiceAccount RBAC for the `spike-bootstrap-state` ConfigMap so re-runs are + idempotent. +4. **Wait on the Nexus rollout.** Once the keepers hold `threshold` shares, + Nexus reconstructs the root key, initializes its backend, and goes Ready. + +### Bare-Metal + +1. **Run SPIRE** server and agent, and register the SPIKE component identities + (the `hack/bare-metal/entry` scripts do this). +2. **Start the Keepers and Nexus** from the SPIKE binaries / `make` targets. +3. **Bootstrap** with `make bootstrap` to generate and distribute the root-key + shares. +4. **Use Pilot.** `spike` talks to Nexus over mTLS once Nexus is Ready. + +## Tips + +- **Pick the backend deliberately.** `memory` for a throwaway dev box (no + keepers, no bootstrap), `sqlite` for persistent production, `lite` for + encryption-only. The mode changes whether you even need bootstrap. See + [Choosing a backend store](/recipes/choosing-a-backend-store/). +- **Shares and threshold are deployment-wide.** Decide `SHARES` and `THRESHOLD` + before bootstrap; they determine how many keepers you run and how many can + fail. Production guidance is 5 shares / threshold 3. +- **Use fully-qualified DNS in Kubernetes.** Point `SPIKE_NEXUS_API_URL` at the + `*.svc.cluster.local` name; the short `service.namespace` form is NXDOMAIN in + some setups. +- **Set all the trust roots.** Nexus checks identities against the configured + trust roots (including `SPIKE_TRUST_ROOT_NEXUS`); a missing one silently + rejects callers. + +## Pitfalls + +- **Bootstrap is not optional for `lite`/`sqlite`.** Both need keepers and a + root key. Forgetting bootstrap is the number-one reason a fresh deployment + never reaches Ready. See + [Bootstrapping a fresh SPIKE](/recipes/bootstrapping-spike/). +- **`helm install --wait` deadlocks.** Nexus is not Ready until the keepers are + seeded, which happens after install. Install without `--wait`, bootstrap, + then wait on the Nexus rollout. +- **Image cache traps (local clusters).** With `imagePullPolicy: Never`, kind + and minikube reuse a cached image for the *same* tag even after a fresh load. + Use a unique tag (or force a re-pull) when iterating on images. +- **Order is not negotiable.** Keepers and Nexus before bootstrap; bootstrap + before expecting Ready. Out of order, you chase phantom failures. + +## Cross-Links + +- [Choosing a backend store](/recipes/choosing-a-backend-store/) +- [Bootstrapping a fresh SPIKE](/recipes/bootstrapping-spike/) +- [Production hardening](/recipes/production-hardening/) +- [Troubleshooting](/recipes/troubleshooting/) +- Reference: [Quickstart](/getting-started/quickstart/), + [SPIKE on Linux](/development/bare-metal/), + [Configuration](/usage/configuration/) + +## What's Next + +Lock the deployment down before it carries real secrets: +[Production hardening](/recipes/production-hardening/). diff --git a/docs-src/content/recipes/encryption-as-a-service.md b/docs-src/content/recipes/encryption-as-a-service.md new file mode 100644 index 00000000..fd47b514 --- /dev/null +++ b/docs-src/content/recipes/encryption-as-a-service.md @@ -0,0 +1,115 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Using SPIKE as an Encryption Service" +weight = 7 +sort_by = "weight" ++++ + +# Using SPIKE as an Encryption Service + +## Problem + +Sometimes you do not want SPIKE to *store* your data; you want it to **encrypt** +data you store somewhere else (an object store, a database column, a file on +disk). You keep custody of the ciphertext; SPIKE holds the key and does the +crypto. This is "encryption as a service," and it pairs naturally with `lite` +mode, where Nexus has a root key and keepers but no secret store at all. + +## TL;DR + +The `spike cipher` command encrypts and decrypts through Nexus without +persisting anything: + +```bash +# encrypt a file (stream mode), keep the ciphertext yourself +spike cipher encrypt -f plan.txt -o plan.enc + +# decrypt it back +spike cipher decrypt -f plan.enc -o plan.txt +``` + +The plaintext is never stored in SPIKE; only the key (derived from the root +key) lives there. Run Nexus in `lite` mode when this is the *only* thing you +need from it. + +## Workflow + +1. **Encrypt.** Stream mode reads a file or stdin and writes ciphertext to a + file or stdout; it handles binary data transparently: + + ```bash + spike cipher encrypt -f secret-plan.txt -o secret-plan.enc + echo "transient token" | spike cipher encrypt -o token.enc + ``` + +2. **Store the ciphertext wherever you like**: S3/minio, a database BLOB, a + git-crypt-style file. SPIKE is out of the loop until you need it back. + +3. **Decrypt** by feeding the ciphertext back through Nexus: + + ```bash + spike cipher decrypt -f secret-plan.enc -o secret-plan.txt + cat token.enc | spike cipher decrypt + ``` + +4. **For programmatic callers, use JSON mode.** Encrypt accepts base64 + `--plaintext` and returns the version byte, nonce, and ciphertext; decrypt + takes those three back: + + ```bash + spike cipher encrypt --plaintext "$(printf 'hello' | base64)" + # -> JSON with {version, nonce, ciphertext} (all base64) + + spike cipher decrypt \ + --version 1 \ + --nonce "" \ + --ciphertext "" + ``` + +## Tips + +- **Stream mode for files, JSON mode for code.** Stream mode (`-f`/`-o` or + stdin/stdout) is the easy path for files and pipelines. JSON mode (passing + `--plaintext`, or any of `--version`/`--nonce`/`--ciphertext`) is for callers + that want to persist the components separately. +- **Keep the version byte.** Decryption needs the version, nonce, and + ciphertext that encryption produced. Store all three with your data; losing + the nonce or version makes the ciphertext undecryptable. +- **Pair with `lite` mode.** If encryption is all you need, `lite` gives you the + cipher routes (and the root key/keepers that back them) without a secret + store to operate, back up, or persist. +- **Access still needs a policy.** The caller authenticates with its SPIFFE ID + and needs permission to use the cipher routes, the same as any other SPIKE + operation. + +## Pitfalls + +- **`lite` still needs keepers and a root key.** "No secret store" does not mean + "no setup." `lite` is encryption-only, but the key that encrypts your data is + the root key, which is reconstructed from the keepers. You must bootstrap it + exactly like `sqlite`. See + [Bootstrapping a fresh SPIKE](/recipes/bootstrapping-spike/). +- **You own the ciphertext durability.** SPIKE does not keep a copy. If you lose + the ciphertext, SPIKE cannot recover the plaintext; it only holds the key. +- **Re-keying invalidates old ciphertext.** The key is derived from the root + key. If you re-bootstrap with a new root key, data encrypted under the old key + can no longer be decrypted. Treat root-key rotation as a deliberate migration. +- **`--plaintext` is base64.** In JSON mode the plaintext is base64-encoded, not + raw text. Encode on the way in and decode on the way out. + +## Cross-Links + +- [Choosing a backend store](/recipes/choosing-a-backend-store/) (when `lite` + is the right mode) +- [Bootstrapping a fresh SPIKE](/recipes/bootstrapping-spike/) +- [Writing access policies](/recipes/writing-access-policies/) +- Reference: [Configuration](/usage/configuration/) and the + [command reference](/usage/commands/) + +## What's Next + +Make sure you can recover the key that all this depends on: +[Break-the-glass disaster recovery](/recipes/break-the-glass-recovery/). diff --git a/docs-src/content/recipes/go-sdk-integration.md b/docs-src/content/recipes/go-sdk-integration.md new file mode 100644 index 00000000..4ccfe865 --- /dev/null +++ b/docs-src/content/recipes/go-sdk-integration.md @@ -0,0 +1,143 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Integrating the Go SDK" +weight = 13 +sort_by = "weight" ++++ + +# Integrating the Go SDK + +## Problem + +You want your Go application to read (and maybe write) secrets from SPIKE +directly, without shelling out to the `spike` CLI. The SDK does this, and it +hides the hard parts: acquiring the SVID from the SPIRE Agent, setting up mTLS, +rotating certificates, and talking to Nexus. Your code just asks for a path. +The work is mostly making sure the *environment* around the code is right. + +## TL;DR + +```go +import spike "github.com/spiffe/spike-sdk-go/api" + +api, err := spike.New() // uses the default Workload API socket +if err != nil { /* handle */ } +defer api.Close() + +secret, err := api.GetSecret("tenants/myapp/db/creds") +if err != nil { /* handle */ } +fmt.Println(secret.Data["password"]) +``` + +The workload needs a SPIRE entry, a SPIKE policy granting access to the path, +and `SPIFFE_ENDPOINT_SOCKET` / `SPIKE_NEXUS_API_URL` set. See +[Granting a workload access](/recipes/granting-a-workload-access/) for the +identity and policy half. + +## Workflow + +1. **Add the dependency.** + + ```bash + go get github.com/spiffe/spike-sdk-go/api + ``` + +2. **Create the client and read a secret.** `spike.New()` connects via the + default Workload API socket; `GetSecret` returns a struct whose `Data` is the + key-value map stored at the path: + + ```go + package main + + import ( + "fmt" + + spike "github.com/spiffe/spike-sdk-go/api" + ) + + func main() { + api, err := spike.New() + if err != nil { + fmt.Println("connect:", err) + return + } + defer api.Close() + + secret, err := api.GetSecret("tenants/myapp/db/creds") + if err != nil { + fmt.Println("read:", err) + return + } + fmt.Println("user:", secret.Data["username"]) + } + ``` + +3. **Write a secret** (if the workload's policy grants `write`): + + ```go + err = api.PutSecret("tenants/myapp/db/creds", map[string]string{ + "username": "dbuser", + "password": "s3cr3t", + }) + ``` + +4. **Read a specific version** with options: + + ```go + opts := &spike.GetSecretOptions{Version: 1} + old, err := api.GetSecretWithOptions("tenants/myapp/db/creds", opts) + ``` + +5. **Wire the runtime** so the SDK can find SPIRE and Nexus: + + ```bash + export SPIFFE_ENDPOINT_SOCKET=unix:///run/spire/sockets/agent.sock + export SPIKE_NEXUS_API_URL=https://spike-nexus:8553 + ``` + +## Tips + +- **Pick a fetch pattern that fits the workload.** + - *Startup fetch*: read all secrets once at boot. Simple; the app restarts + to pick up changes. + - *On-demand fetch*: read per request. Always fresh; more calls to Nexus. + - *Cached with refresh*: cache and refresh on a ticker. Balances freshness + and load; guard the cache with a mutex. +- **Reuse the client.** `spike.New()` sets up the SVID source and mTLS; create + it once and reuse it, and `defer api.Close()`. +- **Versioning is built in.** Every `PutSecret` to a path creates a new version; + read old ones with `GetSecretWithOptions`. See + [Storing and reading secrets](/recipes/storing-and-reading-secrets/). +- **In Kubernetes**, mount the SPIRE Agent socket into the pod and set the two + environment variables; the + [SDK Integration Guide](/development/sdk-integration/) has a full Deployment + manifest. + +## Pitfalls + +- **The error usually names the layer.** Map it before debugging SPIKE: + - `no registration entry found` -> SPIRE entry / selectors. + - `403 Forbidden` -> missing or mismatched SPIKE policy. + - `connection refused` (SVID) -> SPIRE Agent down or wrong socket. + - `connection refused` (Nexus) -> `SPIKE_NEXUS_API_URL` wrong or Nexus down. +- **`Data` is a map, read the field.** `GetSecret` returns the whole key-value + map; pull `secret.Data["password"]`, not the struct itself. +- **Paths are namespaces.** `tenants/myapp/db/creds`, never with a leading + slash, and identical to the path in the policy. +- **Don't log secrets.** It is easy to `fmt.Println(secret.Data)` while + debugging and leave it in. The value is sensitive; keep it out of logs. + +## Cross-Links + +- [Granting a workload access to secrets](/recipes/granting-a-workload-access/) +- [Storing and reading secrets](/recipes/storing-and-reading-secrets/) +- [Writing access policies](/recipes/writing-access-policies/) +- Reference: [SDK Integration Guide](/development/sdk-integration/) + +## What's Next + +Keep your deployment current and patched: +[Upgrading SPIKE](/recipes/upgrading-spike/). diff --git a/docs-src/content/recipes/granting-a-workload-access.md b/docs-src/content/recipes/granting-a-workload-access.md new file mode 100644 index 00000000..84e13821 --- /dev/null +++ b/docs-src/content/recipes/granting-a-workload-access.md @@ -0,0 +1,162 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Granting a Workload Access to Secrets" +weight = 6 +sort_by = "weight" ++++ + +# Granting a Workload Access to Secrets + +## Problem + +You have a running application and a secret in SPIKE, and now you want the app +to read that secret. This is the recipe that connects the others end to end: +the workload needs a SPIFFE identity (from SPIRE), a SPIKE policy that +authorizes that identity, and a few lines of SDK code. Miss any one of the +three and the read fails, usually with a confusing error. + +## TL;DR + +Three links in the chain, in order: + +```bash +# 1. SPIRE: give the workload an identity +spire-server entry create \ + -spiffeID spiffe://example.org/acme/web \ + -parentID spiffe://example.org/spire/agent/k8s_psat/node1 \ + -selector k8s:ns:default \ + -selector k8s:pod-label:app:web + +# 2. SPIKE: authorize that identity on the path +spike policy create \ + --name "acme-web" \ + --spiffeid-pattern '^spiffe://example\.org/acme/web$' \ + --path-pattern '^tenants/acme/db/.*$' \ + --permissions 'read' +``` + +```go +// 3. App: read the secret with the SDK +api, _ := spike.New() +defer api.Close() +secret, _ := api.GetSecret("tenants/acme/db/creds") +fmt.Println(secret.Data["password"]) +``` + +## Workflow + +1. **Register the workload in SPIRE.** The SPIFFE ID is what SPIKE matches a + policy against; the selectors are how SPIRE decides which process gets that + ID. + + ```bash + # Kubernetes + spire-server entry create \ + -spiffeID spiffe://example.org/acme/web \ + -parentID spiffe://example.org/spire/agent/k8s_psat/node1 \ + -selector k8s:ns:default \ + -selector k8s:pod-label:app:web + + # Bare-metal + spire-server entry create \ + -spiffeID spiffe://example.org/acme/web \ + -parentID spiffe://example.org/spire/agent/unix/hostname \ + -selector unix:uid:1001 + ``` + +2. **Write the SPIKE policy** that grants this identity access to the path. + Grant the least privilege the workload needs (here, `read` only): + + ```bash + spike policy create \ + --name "acme-web" \ + --spiffeid-pattern '^spiffe://example\.org/acme/web$' \ + --path-pattern '^tenants/acme/db/.*$' \ + --permissions 'read' + ``` + +3. **Read from the workload using the SDK.** The SDK acquires the SVID from the + SPIRE Agent, sets up mTLS, and talks to Nexus. Your code just asks for the + path: + + ```go + package main + + import ( + "fmt" + + spike "github.com/spiffe/spike-sdk-go/api" + ) + + func main() { + api, err := spike.New() // uses the default Workload API socket + if err != nil { + fmt.Println("connect:", err) + return + } + defer api.Close() + + secret, err := api.GetSecret("tenants/acme/db/creds") + if err != nil { + fmt.Println("read:", err) + return + } + fmt.Println("password:", secret.Data["password"]) + } + ``` + +4. **Wire the runtime.** The SDK needs to find the SPIRE Agent socket and + Nexus: + + ```bash + export SPIFFE_ENDPOINT_SOCKET=unix:///run/spire/sockets/agent.sock + export SPIKE_NEXUS_API_URL=https://spike-nexus:8553 + ./web + ``` + +## Tips + +- **Match the identity exactly, then widen if needed.** Pin a single workload + with an anchored pattern (`^spiffe://example\.org/acme/web$`). Use `.*` only + when you deliberately want a whole family of SVIDs to share the policy. +- **Least privilege.** A reader only needs `read`. Add `write`/`list` only for + workloads that store or enumerate secrets, and never hand a workload `super`. +- **The SDK handles the hard parts**: SVID acquisition, mTLS, certificate + rotation, retries. Your app focuses on business logic, not transport. +- **In Kubernetes**, mount the SPIRE Agent socket into the pod and set + `SPIFFE_ENDPOINT_SOCKET` and `SPIKE_NEXUS_API_URL`. See the SDK guide for a + full Deployment manifest. + +## Pitfalls + +- **All three links are required.** A missing SPIRE entry, a missing policy, or + an unset socket each break the chain independently: + - `no registration entry found` -> the SPIRE entry is missing or its + selectors do not match the pod/process. + - `403 Forbidden` / permission denied -> the workload has an SVID but no + policy authorizes it on that path. + - `connection refused` on SVID acquisition -> the SPIRE Agent socket is wrong + or the agent is down. +- **Policy patterns are regex.** `^spiffe://example\.org/acme/web$`, not + `spiffe://example.org/acme/web*`. Escape the dots; anchor the ends. See + [Writing access policies](/recipes/writing-access-policies/). +- **Paths are namespaces.** The policy path and the SDK path must agree, and + neither starts with a slash: `tenants/acme/db/creds`. +- **`GetSecret` returns a map.** Read the field you want from `secret.Data` + (e.g. `secret.Data["password"]`); the value is the whole key-value map stored + at that path. + +## Cross-Links + +- [Storing and reading secrets](/recipes/storing-and-reading-secrets/) +- [Writing access policies](/recipes/writing-access-policies/) +- [Integrating the Go SDK](/recipes/go-sdk-integration/) +- Reference: [SDK Integration Guide](/development/sdk-integration/) + +## What's Next + +Skip storing secrets entirely and use SPIKE to encrypt your own data: +[Using SPIKE as an encryption service](/recipes/encryption-as-a-service/). diff --git a/docs-src/content/recipes/production-hardening.md b/docs-src/content/recipes/production-hardening.md new file mode 100644 index 00000000..d1b24eaf --- /dev/null +++ b/docs-src/content/recipes/production-hardening.md @@ -0,0 +1,129 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Production Hardening" +weight = 11 +sort_by = "weight" ++++ + +# Production Hardening + +## Problem + +SPIKE keeps its most sensitive material (the root key, decrypted secrets) in +memory by design. That makes the *host* the trust boundary: if an attacker can +read process memory, swap, or core dumps, encryption at rest no longer helps. +Going to production means closing those host-level gaps and hardening the SPIRE +identity plane SPIKE depends on. This recipe is the prioritized checklist; the +[Production Setup guide](/operations/production/) has the full rationale. + +## TL;DR + +Protect memory, run unprivileged, lock down the identity plane, and restrict +the backing store: + +```bash +# Keep secrets out of disk-backed memory +swapoff -a # disable swap +ulimit -c 0 # disable core dumps (RLIMIT_CORE) +# allow mlock for the spike user (limits.conf / LimitMEMLOCK=infinity) +# restrict debugging +echo 'kernel.yama.ptrace_scope = 2' | sudo tee /etc/sysctl.d/10-ptrace.conf +``` + +Then: non-root service accounts, mTLS-only SPIRE, granular registration +entries (no wildcards), and least-privilege access to `~/.spike/data`. + +## Workflow + +1. **Protect memory (highest value).** SPIKE attempts `mlockall` to keep keys + out of swap; give the `spike` user the memlock limit so it succeeds. + - Disable swap (`swapoff -a`), or use encrypted swap if you cannot. + - Disable core dumps (`RLIMIT_CORE=0`, or `LimitCORE=0` in systemd). + - Restrict `ptrace`: set `kernel.yama.ptrace_scope` to `2` (root-only) or `3` + (off). This applies to both Nexus and the Keepers. + - Keep ASLR on (`kernel.randomize_va_space = 2`). + +2. **Run unprivileged and isolated.** + - Run every component as a dedicated **non-root** user with minimal + permissions. Never run as root. + - Single-tenant the Nexus host (node affinity in Kubernetes); it should be + the only significant process on the box. + - In Kubernetes: `allowPrivilegeEscalation: false`, `privileged: false`, + `readOnlyRootFilesystem: true`, non-root `runAsUser`/`runAsGroup`, Pod + Security Admission, and NetworkPolicies. + +3. **Harden the SPIRE identity plane.** SPIKE's security rests on it. + - Isolate the SPIRE server (separate cluster or dedicated hardware); consider + a KMS plugin for its keys. + - Write **granular** registration entries; avoid wildcard selectors. + - Bind component identities to binary `sha256` selectors so a swapped binary + fails attestation and gets no SVID. + - mTLS everywhere; rotate workload certs frequently. + +4. **Restrict the backing store and backups.** + - Limit write access to `~/.spike/data` to the Nexus process only. + - For external stores (S3/minio/DB), assume untrusted: TLS in transit, + restricted access, encrypted at rest. + - Encrypt backups; guard root-key shards far more strictly than the (already + encrypted) database. See + [Backup and restore](/recipes/backup-and-restore/). + +5. **Set the Shamir parameters for your scale.** + + ```bash + export SPIKE_NEXUS_SHAMIR_SHARES=5 # total keepers + export SPIKE_NEXUS_SHAMIR_THRESHOLD=3 # needed to reconstruct + ``` + + | Deployment | Threshold | Shares | + |------------|-----------|--------| + | Dev/Test | 2 | 3 | + | Small Prod | 3 | 5 | + | Large Prod | 5 | 7 | + | Critical | 7 | 10 | + +## Tips + +- **Defense in depth.** No single control is sufficient. Memory locking plus no + swap plus no core dumps plus ptrace restriction together make memory + extraction genuinely hard. +- **Verify binary integrity.** SPIKE binaries ship with SHA-256 checksums. + Verify on install and re-check periodically; binding the SHA into SPIRE + entries makes this load-bearing, not just advisory. +- **Audit logs are evidence.** Audit entries are prefixed `[AUDIT]:` on stdout + (not yet a separate stream). Ship them somewhere tamper-evident with a + retention policy that matches your compliance needs. +- **Containers need mlock support.** To use `mlock` inside a container, use a + storage driver that supports it (e.g. `overlay2`) and raise the container + runtime's `LimitMEMLOCK`. + +## Pitfalls + +- **The host is the trust boundary.** Encryption at rest does not protect a key + sitting in swap or a core dump. Skipping the memory-protection steps is the + most consequential omission. +- **Misconfigured SPIRE silently weakens everything.** A wildcard selector or a + privileged user running a component undoes attestation. The protections exist + only if configured correctly. +- **Storage tampering is still possible.** SPIKE encrypts data at rest, but an + attacker with write access to the store can corrupt or delete it. Restrict + store access independent of encryption. +- **Don't treat this as one-time.** Cipher suites, key lengths, and defaults + change across versions. Hardening is continuous; keep a frequent upgrade + cadence. See [Upgrading SPIKE](/recipes/upgrading-spike/). + +## Cross-Links + +- [Deploying SPIKE](/recipes/deploying-spike/) +- [Backup and restore](/recipes/backup-and-restore/) +- [Break-the-glass disaster recovery](/recipes/break-the-glass-recovery/) +- Reference: [Production Setup guide](/operations/production/), + [Security model](/architecture/security-model/) + +## What's Next + +When something still will not come up, work the symptoms: +[Troubleshooting](/recipes/troubleshooting/). diff --git a/docs-src/content/recipes/root-key-keepers-recovery.md b/docs-src/content/recipes/root-key-keepers-recovery.md new file mode 100644 index 00000000..6000cc78 --- /dev/null +++ b/docs-src/content/recipes/root-key-keepers-recovery.md @@ -0,0 +1,78 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Where the Root Key Lives" +weight = 3 +sort_by = "weight" ++++ + +# Where the Root Key Lives: Keepers, Shamir, and Recovery + +## Problem + +SPIKE Nexus encrypts everything with a single **root key**. Where is that key, +how does it survive a Nexus restart without a human typing it in, and why does +Nexus talk to "keepers" on startup? Understanding this explains why `lite`/ +`sqlite` need keepers and why a missing keeper isn't fatal. + +## TL;DR + +The root key is never written to disk. It's split with **Shamir's Secret +Sharing** into N shares; each **SPIKE Keeper** holds one share in memory. On +startup Nexus collects any `threshold` shares from the keepers and +reconstructs the key in memory. Lose one keeper and the key still recovers; +lose more than `N − threshold` and you fall back to +[break-the-glass recovery](/recipes/break-the-glass-recovery/). + +## Workflow (What Happens Automatically) + +1. **Bootstrap** generates the root key, splits it into `SPIKE_NEXUS_SHAMIR_SHARES` + shares, and seeds the keepers (one share each). See + [Bootstrapping](/recipes/bootstrapping-spike/). +2. **Nexus startup** (`lite`/`sqlite`): `InitializeBackingStoreFromKeepers` + iterates the keepers, gathers shares until it has + `SPIKE_NEXUS_SHAMIR_THRESHOLD` of them, and reconstructs the canonical root + key (the seed reduced into a P-256 scalar). It then keys its cipher / + opens its store and serves the API. +3. **Ongoing sync:** Nexus runs `SendShardsPeriodically`, re-pushing shares to + the keepers on an interval so restarted/replaced keepers get re-hydrated. +4. **Keeper restart:** a keeper holds its share only in memory, so a restarted + keeper is empty until Nexus re-syncs it, which is why a single keeper + bouncing is harmless as long as `threshold` others are up. + +## Tips + +- **`memory` mode has no root key and no keepers**: it's the only standalone + mode. `lite` and `sqlite` always recover from keepers. +- Pick `shares`/`threshold` for your failure tolerance: you can lose up to + `shares − threshold` keepers and still recover automatically. +- The reconstructed key lives only in Nexus memory; harden the host + accordingly (see [Production hardening](/recipes/production-hardening/)). + +## Pitfalls + +- **Canonical key ≠ raw seed.** The AES key is the Shamir secret *scalar* + marshalled to bytes, not the raw random seed (the seed is reduced mod the + P-256 group order). Anything that needs the actual key (e.g. the bootstrap + verify probe) must derive it the same way, not use the seed. +- **All keepers empty = stuck Nexus, not a crash.** If no keeper has a share + (fresh deploy without bootstrap, or all keepers restarted before re-sync), + Nexus retries recovery indefinitely by design. See + [Troubleshooting](/recipes/troubleshooting/). +- **Keepers are not a secret store.** They hold only root-key shares, never + your secrets. + +## Cross-Links + +- [Bootstrapping a fresh SPIKE](/recipes/bootstrapping-spike/) +- [Break-the-glass disaster recovery](/recipes/break-the-glass-recovery/) +- [Backup and restore](/recipes/backup-and-restore/) +- Architecture: [System overview](/architecture/system-overview/) · + [Security model](/architecture/security-model/) + +## What's Next + +Plan for the day the keepers can't recover the key: +[Break-the-glass disaster recovery](/recipes/break-the-glass-recovery/). diff --git a/docs-src/content/recipes/storing-and-reading-secrets.md b/docs-src/content/recipes/storing-and-reading-secrets.md new file mode 100644 index 00000000..cde1c095 --- /dev/null +++ b/docs-src/content/recipes/storing-and-reading-secrets.md @@ -0,0 +1,124 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Storing and Reading Secrets" +weight = 4 +sort_by = "weight" ++++ + +# Storing and Reading Secrets + +## Problem + +You have SPIKE up and running and you want to do the everyday thing: write a +secret, read it back, list what is there, and clean up old ones. You also want +to know what happens when you overwrite a secret (does the old value vanish?) +and how to recover one you deleted by mistake. + +## TL;DR + +Secrets are **versioned key-value maps** stored at a namespaced path. Use +`spike secret` from SPIKE Pilot: + +```bash +spike secret put tenants/acme/db/creds user=acme pass=SPIKERocks +spike secret get tenants/acme/db/creds +spike secret list +spike secret delete tenants/acme/db/creds # soft delete (recoverable) +spike secret undelete tenants/acme/db/creds # bring it back +``` + +Every `put` to an existing path creates a **new version**; old versions are +retained until you explicitly delete them. + +## Workflow + +1. **Write a secret.** A secret is one or more `key=value` pairs at a path: + + ```bash + spike secret put tenants/acme/db/creds user=acme pass=SPIKERocks + ``` + + This is an upsert. Writing the same path again stores a new version rather + than mutating the old one. + +2. **Read it back.** Get the whole map, a single key, or a specific version: + + ```bash + spike secret get tenants/acme/db/creds # all keys, current version + spike secret get tenants/acme/db/creds pass # just one key + spike secret get tenants/acme/db/creds -v 2 # version 2 (0 = current) + spike secret get tenants/acme/db/creds -f json # plain | yaml | json + ``` + +3. **List paths.** `list` shows every secret path you are allowed to see: + + ```bash + spike secret list + spike secret list -f json + ``` + +4. **Inspect metadata** without revealing the value (versions, timestamps, + current version): + + ```bash + spike secret metadata get tenants/acme/db/creds + spike secret metadata get tenants/acme/db/creds -v 2 + ``` + +5. **Delete and undelete.** Delete is a *soft* delete: the version is marked + deleted, not destroyed, so it can be restored. Versions are given as a + comma-separated list with `-v`; `0` means the current version (the default + when `-v` is omitted): + + ```bash + spike secret delete tenants/acme/db/creds # current version + spike secret delete tenants/acme/db/creds -v 1,2,3 # specific versions + spike secret undelete tenants/acme/db/creds -v 1,2,3 # restore them + ``` + +## Tips + +- **Multiple keys per path.** One path can hold a whole map + (`put .../creds user=acme pass=… host=db.internal`). Group related fields + under one path instead of scattering them. +- **`-v` differs by command.** For `get` and `metadata get`, `-v/--version` + takes a single integer. For `delete` and `undelete`, `-v/--versions` takes a + comma-separated list. `0` always means the current version. +- **Output formats.** `get`, `list`, and `metadata get` accept + `-f/--format` with `plain`/`p`, `yaml`/`y`, or `json`/`j`. Use `json` when + piping into scripts. +- **Persistence depends on the backend.** In `memory` mode everything is gone + on restart; `sqlite` persists to disk; `lite` keeps no secrets at all (it is + encryption-only). See + [Choosing a backend store](/recipes/choosing-a-backend-store/). + +## Pitfalls + +- **Paths are namespaces, not filesystem paths.** Use `tenants/acme/db/creds`, + never `/tenants/acme/db/creds`. A leading slash is wrong, and trailing + slashes are discouraged. +- **`list` takes no path argument.** It lists all paths you can access; it does + not filter by prefix. Filter in your shell if you need a subset. +- **Reading needs a policy.** SPIKE Pilot authenticates with its SPIFFE ID, but + it still needs a policy granting `read`/`write` on the path. "I can `put` but + another workload can't `get`" is almost always a missing policy, not a + storage problem. See + [Writing access policies](/recipes/writing-access-policies/). +- **Overwrite does not destroy history.** `put` over an existing path keeps the + old version. If you must scrub a value, delete the specific versions. + +## Cross-Links + +- [Choosing a backend store](/recipes/choosing-a-backend-store/) +- [Writing access policies](/recipes/writing-access-policies/) +- [Granting a workload access to secrets](/recipes/granting-a-workload-access/) +- Reference: [SPIKE CLI](/usage/cli/) and the + [command reference](/usage/commands/) + +## What's Next + +Control who can read and write these secrets: +[Writing access policies](/recipes/writing-access-policies/). diff --git a/docs-src/content/recipes/troubleshooting.md b/docs-src/content/recipes/troubleshooting.md new file mode 100644 index 00000000..73d1b36f --- /dev/null +++ b/docs-src/content/recipes/troubleshooting.md @@ -0,0 +1,129 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Troubleshooting" +weight = 12 +sort_by = "weight" ++++ + +# Troubleshooting + +## Problem + +Something is wrong and the error message points at a symptom, not a cause. +Nexus will not go Ready, a workload gets `403` even though you wrote a policy, +or bootstrap hangs. This recipe is organized **symptom first**: find the line +that matches what you see, then work the checklist under it. + +## TL;DR + +| Symptom | Most likely cause | +|---------|-------------------| +| Nexus never Ready / loops in keeper recovery | Keepers unseeded; bootstrap | +| `403 Forbidden` on a secret | Missing policy, or pattern is a glob not regex | +| Bootstrap hangs / never completes | A keeper unreachable, or verify can't reach Nexus | +| `no registration entry found` | SPIRE entry missing or selectors mismatch | +| `connection refused` (SVID) | SPIRE Agent down or wrong socket path | + +## Nexus Never Becomes Ready (Stuck in Keeper Recovery) + +This is the classic fresh-deployment failure. Nexus rebuilds its root key from +the keepers on startup and **waits forever** until it can; if the keepers are +empty, it loops and the readiness probe keeps restarting it. + +Work down this list: + +1. **Did bootstrap run?** On a fresh `lite`/`sqlite` deployment the keepers + start empty. Until bootstrap seeds them, Nexus *cannot* recover. This is the + number-one cause. Run it. See + [Bootstrapping a fresh SPIKE](/recipes/bootstrapping-spike/). +2. **Did you `helm install --wait`?** That deadlocks: Nexus is not Ready until + the keepers are seeded, which happens *after* install. Install without + `--wait`, run bootstrap, then wait on the Nexus rollout. +3. **Are all keepers reachable?** Bootstrap needs every keeper in + `SPIKE_NEXUS_KEEPER_PEERS` reachable, and Nexus needs `threshold` of them to + reconstruct. Check the peer list and that each keeper is up. +4. **Is `SPIKE_NEXUS_API_URL` resolvable?** In Kubernetes use the + fully-qualified `*.svc.cluster.local` name; the short `service.namespace` + form can be NXDOMAIN. +5. **Are all trust roots set?** Nexus validates callers against the configured + trust roots, including `SPIKE_TRUST_ROOT_NEXUS`. A missing root silently + rejects otherwise-valid identities. + +## Policy Created but Access Denied (403) + +The workload has an identity but is not authorized for what it tried. + +1. **Does a policy actually match?** Both the `spiffeid-pattern` **and** the + `path-pattern` must match. A policy that "looks right" usually has one too + narrow or unanchored. +2. **Are the patterns regex, not globs?** `^tenants/acme/.*$`, not + `tenants/acme/*`. A glob-style `*` silently matches the wrong set or nothing. + See [Writing access policies](/recipes/writing-access-policies/). +3. **Did you escape the dots?** `example\.org`, not `example.org` (an unescaped + `.` matches any character, sometimes masking the real problem). +4. **Right permission?** `read` to read, `write` to create/update/delete, + `list` to enumerate. A reader with only `list` still cannot `get`. +5. **Path is a namespace.** No leading slash; `tenants/acme/db/creds`, and the + policy path and request path must agree. + +## Bootstrap Hangs or Never Completes + +1. **Keepers not all up.** Bootstrap requires exactly `SHARES` reachable + keepers; a wrong or incomplete peer list stalls or fails it. +2. **Verify cannot reach Nexus.** The post-seed verification calls the Nexus + API; if `SPIKE_NEXUS_API_URL` is wrong, verification fails even though the + shares landed. +3. **Re-run did nothing.** That is idempotency working: the + `spike-bootstrap-state` ConfigMap records completion. To deliberately re-key, + set `SPIKE_BOOTSTRAP_FORCE=true` (this orphans data under the old key). + +## SVID / SPIRE Errors + +- **`no registration entry found`**: the SPIRE entry is missing, or its + selectors do not match the pod/process. Create the entry and confirm the + selectors. See + [Granting a workload access](/recipes/granting-a-workload-access/). +- **`connection refused` acquiring an SVID**: the SPIRE Agent is down or + `SPIFFE_ENDPOINT_SOCKET` points at the wrong socket. Start the agent and fix + the path. + +## Tips + +- **Read the audit log carefully.** Audit entries (`[AUDIT]:`) can log + "enter/exit success" for a route even when the request fell through to a + fallback and returned an error. Cross-check the actual HTTP status, not just + the audit line. +- **Local clusters cache images by tag.** With `imagePullPolicy: Never`, kind + and minikube reuse the cached image for the *same* tag even after a fresh + load. Use a unique tag (or force a re-pull) when an image change "isn't taking + effect." +- **Isolate the layer.** Confirm SPIRE issues the SVID, *then* that SPIKE + authorizes it, *then* that the data operation works. Most "SPIKE" failures are + actually identity or policy failures one layer down. + +## Pitfalls + +- **Treating the symptom, not the cause.** A restarting Nexus pod is almost + never a Nexus bug; it is usually unseeded keepers. Fix the cause (bootstrap), + not the symptom (probe tuning). +- **Assuming a 403 is a storage problem.** It is authorization. Check the + policy and its patterns before touching the secret store. +- **Forgetting `lite` needs keepers too.** "Encryption-only" does not mean + "no bootstrap." `lite` still recovers a root key from keepers and shows the + exact same stuck-in-recovery symptom if unseeded. + +## Cross-Links + +- [Bootstrapping a fresh SPIKE](/recipes/bootstrapping-spike/) +- [Where the root key lives](/recipes/root-key-keepers-recovery/) +- [Writing access policies](/recipes/writing-access-policies/) +- [Deploying SPIKE](/recipes/deploying-spike/) +- Reference: [Configuration](/usage/configuration/) + +## What's Next + +Once it is healthy, read secrets from your own code: +[Integrating the Go SDK](/recipes/go-sdk-integration/). diff --git a/docs-src/content/recipes/upgrading-spike.md b/docs-src/content/recipes/upgrading-spike.md new file mode 100644 index 00000000..647a298a --- /dev/null +++ b/docs-src/content/recipes/upgrading-spike.md @@ -0,0 +1,128 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Upgrading SPIKE" +weight = 14 +sort_by = "weight" ++++ + +# Upgrading SPIKE + +## Problem + +SPIKE is actively hardened and patched, so you want to stay current, but two +SPIKE-specific facts make upgrades more than a binary swap. First, there is no +built-in database migration between versions, so you cannot assume a new Nexus +reads an old store. Second, component identity is often bound to the binary's +SHA-256 in SPIRE, so a new binary fails attestation until you update the +registration entry. Upgrade without accounting for both and the system either +will not start or will not trust itself. + +## TL;DR + +```text +1. Read the changelog for breaking changes (config, key lengths, schema) +2. Back up first: database + root-key shards +3. Verify the new binaries' SHA-256 checksums +4. Update SPIRE entries if they pin the binary SHA selector +5. Upgrade in a staging environment, verify, then production +``` + +Back up before, verify checksums, update the SHA selectors, and rehearse in +staging. Never upgrade production as the first place you try the new version. + +## Workflow + +1. **Read the changelog and release notes** for the target version. Look + specifically for changes to configuration, environment variables, default + key lengths or cipher suites, and the storage schema. See + [Changelog](/tracking/changelog/). + +2. **Back up everything first.** Capture the database and export fresh + root-key shards before you touch any binary: + + ```bash + sqlite3 ~/.spike/data/spike.db "PRAGMA wal_checkpoint(FULL);" + sqlite3 ~/.spike/data/spike.db \ + ".backup '/backup/pre-upgrade-$(date +%Y%m%d).sqlite'" + spike operator recover # export + secure the shards + ``` + + See [Backup and restore](/recipes/backup-and-restore/). + +3. **Verify the new binaries.** Official SPIKE binaries publish SHA-256 + checksums. Verify each before installing: + + ```bash + sha256sum -c spike-.sha256 + ``` + +4. **Update SPIRE registration entries if they pin the SHA.** If your entries + bind a `unix:sha256:` selector (recommended hardening), the new binary + has a new hash and will fail attestation until you re-register it: + + ```bash + spire-server entry create \ + -spiffeID spiffe://spike.ist/spike/keeper \ + -parentID "spiffe://spike.ist/spire-agent" \ + -selector unix:uid:"$KEEPER_UID" \ + -selector unix:path:"$KEEPER_PATH" \ + -selector unix:sha256:"$NEW_KEEPER_SHA" + ``` + +5. **Upgrade in staging, verify, then production.** Roll the new version into a + staging environment that mirrors production. Confirm Nexus reaches Ready and + secrets round-trip: + + ```bash + sqlite3 ~/.spike/data/spike.db "PRAGMA integrity_check;" + spike secret get path/to/test/secret + ``` + + Only then promote to production. + +## Tips + +- **Keep a frequent cadence.** Small, regular upgrades are far less risky than + rare jumps across many versions, where breaking changes accumulate. +- **Upgrade order.** Bring keepers and Nexus to the new version together, and + expect Nexus to recover its root key from the keepers on restart, exactly as + on first boot. If it stalls, see [Troubleshooting](/recipes/troubleshooting/). +- **The root key is version-independent.** Upgrading binaries does not re-key. + Your existing shards and encrypted data remain valid as long as you do not + re-bootstrap. +- **Automate checksum verification** in your deployment pipeline so an + unverified binary can never reach a node. + +## Pitfalls + +- **No cross-version DB migration.** SPIKE ships no tool to migrate the store + between incompatible versions. If a release changes the schema, plan a + deliberate migration; do not point new Nexus at an old database and hope. +- **Stale SHA selectors lock you out.** Forgetting step 4 makes the upgraded + component fail SPIRE attestation, so it gets no SVID and the rest of the + system refuses to talk to it. This looks like a connectivity failure but is an + identity failure. +- **No backup, no rollback.** If the upgrade goes wrong and you skipped the + backup, there is nothing to restore to. The backup in step 2 is the rollback + plan. +- **Defaults can change silently.** A new version may tighten key lengths or + cipher suites. Re-read the configuration reference after upgrading rather than + assuming your old settings are still optimal. See + [Configuration](/usage/configuration/). + +## Cross-Links + +- [Backup and restore](/recipes/backup-and-restore/) +- [Production hardening](/recipes/production-hardening/) +- [Troubleshooting](/recipes/troubleshooting/) +- Reference: [Changelog](/tracking/changelog/), + [Configuration](/usage/configuration/) + +## What's Next + +You have completed the recipe set. Revisit the +[concepts](/recipes/choosing-a-backend-store/) any time the fundamentals feel +fuzzy, or browse all [Recipes](/recipes/). diff --git a/docs-src/content/recipes/writing-access-policies.md b/docs-src/content/recipes/writing-access-policies.md new file mode 100644 index 00000000..b150a73b --- /dev/null +++ b/docs-src/content/recipes/writing-access-policies.md @@ -0,0 +1,131 @@ ++++ +# \\ SPIKE: Secure your secrets with SPIFFE. — https://spike.ist/ +# \\\\\ Copyright 2024-present SPIKE contributors. +# \\\\\\\ SPDX-License-Identifier: Apache-2.0 + +title = "Writing Access Policies" +weight = 5 +sort_by = "weight" ++++ + +# Writing Access Policies + +## Problem + +A workload can authenticate to SPIKE with its SPIFFE ID, but authentication is +not authorization. Until a **policy** says "this identity may do these things +on these paths," every read and write is denied. You need to write that policy, +and the two fields that decide who and what (`spiffeid-pattern` and +`path-pattern`) are **regular expressions**, which is the single most common +place people trip. + +## TL;DR + +A policy binds a **SPIFFE ID regex** and a **path regex** to a set of +**permissions** (`read`, `write`, `list`, `super`): + +```bash +spike policy create \ + --name "acme-db" \ + --spiffeid-pattern '^spiffe://example\.org/acme/db/.*$' \ + --path-pattern '^tenants/acme/db/.*$' \ + --permissions 'read,write' +``` + +`create` fails if the name already exists. Use `apply` for upsert (and for +applying a YAML file). + +## Workflow + +1. **Decide the four inputs:** + - **name**: a unique label for the policy. + - **spiffeid-pattern**: a regex matching the workload SVIDs it applies to. + - **path-pattern**: a regex matching the secret paths it covers. + - **permissions**: any of `read`, `write`, `list`, `super`. + +2. **Create the policy:** + + ```bash + spike policy create \ + --name "acme-db" \ + --spiffeid-pattern '^spiffe://example\.org/acme/db/.*$' \ + --path-pattern '^tenants/acme/db/.*$' \ + --permissions 'read,write' + ``` + +3. **Or apply from YAML** (upsert: creates if new, updates if the name exists): + + ```yaml + # acme-db.yaml + name: acme-db + spiffeidPattern: ^spiffe://example\.org/acme/db/.*$ + pathPattern: ^tenants/acme/db/.*$ + permissions: + - read + - write + ``` + + ```bash + spike policy apply --file acme-db.yaml + ``` + +4. **Verify and inspect:** + + ```bash + spike policy list + spike policy list --path-pattern '^tenants/acme/.*$' + spike policy get --name acme-db + spike policy get --name acme-db --format json + ``` + +5. **Delete when no longer needed** (by name or ID; prompts to confirm): + + ```bash + spike policy delete --name acme-db + ``` + +## Tips + +- **`create` vs `apply`.** `create` is strict: it errors if a policy with that + name already exists, which is what you want in scripts that must not clobber. + `apply` is upsert and is the only form that reads a `--file`. Use `apply` for + declarative, re-runnable config. +- **Permissions.** `read` reads secrets, `write` creates/updates/deletes, + `list` lists resources, and `super` is administrative (grants all). Grant the + narrowest set that works; reserve `super` for operators. +- **Patterns can be broad or pinned.** `^tenants/acme/db/.*$` covers a subtree; + `^tenants/acme/db/creds$` pins one exact path. Anchor with `^` and `$` so a + pattern does not match more than you intend. +- **`policy list` filters.** Filter by `--path-pattern` or `--spiffeid-pattern` + (not both at once) to find which policies touch a path or an identity. + +## Pitfalls + +- **Patterns are regex, not globs.** This is the big one. + - Correct: `^tenants/acme/db/.*$`, `^spiffe://example\.org/web/.*$` + - Wrong: `tenants/acme/db/*`, `spiffe://example.org/web/*` + + In a glob, `*` means "anything"; in regex it means "zero or more of the + previous character." A glob-style pattern silently matches the wrong set. +- **Escape the dots in SPIFFE IDs.** `.` matches any character in regex. Write + `example\.org`, not `example.org`, or the pattern will also match + `exampleXorg`. +- **Paths are namespaces, not filesystem paths.** Match `^tenants/acme/.*$`, + never `^/tenants/acme/.*$`. A leading slash is wrong here just as it is when + storing secrets. +- **Both patterns must match.** Access is granted only when the caller's + SPIFFE ID matches `spiffeid-pattern` **and** the target path matches + `path-pattern`. A policy that "looks right" but denies access usually has one + of the two patterns too narrow or unanchored. + +## Cross-Links + +- [Storing and reading secrets](/recipes/storing-and-reading-secrets/) +- [Granting a workload access to secrets](/recipes/granting-a-workload-access/) +- Reference: [Configuration](/usage/configuration/) and the + [command reference](/usage/commands/) + +## What's Next + +Put the policy to work end to end: +[Granting a workload access to secrets](/recipes/granting-a-workload-access/). diff --git a/docs-src/content/tracking/_index.md b/docs-src/content/tracking/_index.md index 70fb9c0b..bc79c815 100644 --- a/docs-src/content/tracking/_index.md +++ b/docs-src/content/tracking/_index.md @@ -4,7 +4,7 @@ # \\\\\\\ SPDX-License-Identifier: Apache-2. title = "Tracking" -weight = 7 +weight = 8 sort_by = "weight" +++ diff --git a/docs-src/content/usage/_index.md b/docs-src/content/usage/_index.md index d164e4c8..723076bf 100644 --- a/docs-src/content/usage/_index.md +++ b/docs-src/content/usage/_index.md @@ -4,10 +4,14 @@ # \\\\\\\ SPDX-License-Identifier: Apache-2. title = "Using SPIKE" -weight = 4 +weight = 5 sort_by = "weight" +++ # Using SPIKE +Looking for task-first walkthroughs rather than reference material? The +[Recipes](/recipes/) section covers storing secrets, writing access +policies, granting a workload access, encryption, and recovery, step by step. + {{ toc_usage() }} diff --git a/docs-src/content/usage/commands/cipher.md b/docs-src/content/usage/commands/cipher.md index 23ac55b8..e50ad81d 100644 --- a/docs-src/content/usage/commands/cipher.md +++ b/docs-src/content/usage/commands/cipher.md @@ -49,7 +49,7 @@ spike cipher encrypt [--file=] [--out=] Encrypts data via **SPIKE Nexus**. The command supports two modes of operation: -#### Stream Mode (default) +#### Stream Mode (Default) Reads data from a file or stdin and writes encrypted data to a file or stdout. This mode handles binary data transparently. @@ -92,7 +92,7 @@ spike cipher decrypt [--file=] [--out=] Decrypts data via **SPIKE Nexus**. The command supports two modes of operation: -#### Stream Mode (default) +#### Stream Mode (Default) Reads encrypted data from a file or stdin and writes decrypted plaintext to a file or stdout. This mode handles binary data transparently. diff --git a/docs-src/content/usage/configuration.md b/docs-src/content/usage/configuration.md index 79ceafad..1af2d41a 100644 --- a/docs-src/content/usage/configuration.md +++ b/docs-src/content/usage/configuration.md @@ -40,6 +40,7 @@ configure the SPIKE components: | All | `SPIKE_TRUST_ROOT_LITE_WORKLOAD` | The SPIFFE trust root used for lite workload instances. Can be a single entry, or a comma-delimited list of suitable trust roots. | `"spike.ist"` | | All | `SPIKE_TRUST_ROOT_NEXUS` | The SPIFFE trust root used for SPIKE Nexus instances. Can be a single entry, or a comma-delimited list of suitable trust roots. | `"spike.ist"` | | All | `SPIKE_TRUST_ROOT_PILOT` | The SPIFFE trust root used for SPIKE Pilot instances. Can be a single entry, or a comma-delimited list of suitable trust roots. | `"spike.ist"` | +| SPIKE Bootstrap | `SPIKE_BOOTSTRAP_CONFIGMAP_NAME` | The name of the Kubernetes ConfigMap SPIKE Bootstrap uses to record completion (idempotency state). | `"spike-bootstrap-state"` | | SPIKE Bootstrap | `SPIKE_BOOTSTRAP_FORCE` | Whether to force SPIKE Bootstrap to run even if the system has already bootstrapped before. | `false` | | SPIKE Bootstrap | `SPIKE_BOOTSTRAP_KEEPER_MAX_RETRIES` | Maximum retry attempts per keeper before failing. | `5` | | SPIKE Bootstrap | `SPIKE_BOOTSTRAP_KEEPER_RETRY_INITIAL_INTERVAL` | Initial interval between retry attempts when broadcasting to keepers. Uses exponential backoff. | `"2s"` | @@ -51,7 +52,7 @@ configure the SPIKE components: | SPIKE Nexus | `SPIKE_NEXUS_BACKEND_STORE` | The backend store SPIKE Nexus uses to store secrets (memory, lite, sqlite). | `"sqlite"` | | SPIKE Nexus | `SPIKE_NEXUS_CRYPTO_MAX_CIPHERTEXT_SIZE` | The maximum allowed ciphertext size in bytes for encryption operations. | `65536` | | SPIKE Nexus | `SPIKE_NEXUS_DATA_DIR` | Custom directory for Nexus data storage. Falls back to `~/.spike/data` or `/tmp/.spike-$USER/data`. | `~/.spike/data` | -| SPIKE Nexus | `SPIKE_NEXUS_DB_BUSY_TIMEOUT_MS` | The timeout for the database to wait for a lock. | `1000` | +| SPIKE Nexus | `SPIKE_NEXUS_DB_BUSY_TIMEOUT_MS` | The timeout for the database to wait for a lock, in milliseconds. | `5000` | | SPIKE Nexus | `SPIKE_NEXUS_DB_CONN_MAX_LIFETIME` | The maximum lifetime of a database connection. | `"1h"` | | SPIKE Nexus | `SPIKE_NEXUS_DB_INITIALIZATION_TIMEOUT` | The maximum initialization time for SPIKE Nexus DB before bailing out | `"30s"` | | SPIKE Nexus | `SPIKE_NEXUS_DB_JOURNAL_MODE` | The journal mode for the SQLite database. | `"WAL"` | diff --git a/docs/about/index.html b/docs/about/index.html index e688c75a..2be3463a 100644 --- a/docs/about/index.html +++ b/docs/about/index.html @@ -253,6 +253,69 @@ SPIKE Relase Management + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+ +

Backup and restore

+

Problem

+

A full SPIKE backup is two independent things, and people routinely save +one and forget the other. The SQLite database holds your encrypted secrets; the +root-key shards hold the only thing that can decrypt them. A database backup +without the key is undecryptable noise. The key without the database has nothing +to unlock. You need both, backed up on their own schedules, and a restore +procedure that puts them back in the right order.

+
+

memory and lite modes have no database to back up. For them, only the +root-key shards matter.

+
+

TL;DR

+
# 1. Back up the encrypted secret store (sqlite mode)
+sqlite3 ~/.spike/data/spike.db "PRAGMA wal_checkpoint(FULL);"
+sqlite3 ~/.spike/data/spike.db \
+  ".backup '/backup/spike-$(date +%Y%m%d).sqlite'"
+
+# 2. Back up the root key as recovery shards (all modes)
+spike operator recover   # then encrypt + store the shards offline
+

Restore is the reverse: put the database back, then reconstruct the root key +from shards if Nexus cannot auto-recover.

+

Workflow

+

Backup

+
    +
  1. +

    Database (sqlite mode). Use SQLite’s online .backup, not a file copy, +so you get a consistent snapshot. Checkpoint the WAL first:

    +
    sqlite3 ~/.spike/data/spike.db "PRAGMA wal_checkpoint(FULL);"
    +sqlite3 ~/.spike/data/spike.db \
    +  ".backup '/backup/spike-$(date +%Y%m%d_%H%M%S).sqlite'"
    +sqlite3 /backup/spike-*.sqlite "PRAGMA integrity_check;"
  2. +
  3. +

    Root-key shards (all modes). Export and secure them as covered in +break-the-glass recovery:

    +
    spike operator recover   # writes spike.recovery.N.txt; then encrypt + erase
  4. +
  5. +

    Supporting state. Also capture what you need to rebuild identity:

    +
    spire-server entry show > /backup/spire-entries-$(date +%Y%m%d).txt
    +# plus SPIRE server/agent config and SPIKE configuration
  6. +
+

Restore

+
    +
  1. +

    Database. Stop Nexus, swap the file in, lock it down, restart:

    +
    cp /backup/spike-TIMESTAMP.sqlite ~/.spike/data/spike.db
    +chmod 600 ~/.spike/data/spike.db
  2. +
  3. +

    Root key. If Nexus cannot auto-recover from the keepers, reconstruct it +from shards (needs the restore role):

    +
    spike operator restore   # paste shards until the threshold is met
  4. +
  5. +

    Verify. Confirm the store is intact and crypto round-trips:

    +
    sqlite3 ~/.spike/data/spike.db "PRAGMA integrity_check;"
    +spike secret get path/to/test/secret
  6. +
+

Tips

+
    +
  • Two assets, two cadences. Back up the database daily (it changes with +every secret write). Re-export root-key shards only after initial setup and +after any deliberate root-key rotation; the key does not change otherwise.
  • +
  • The database is encrypted at rest. Its contents are useless without the +root key, so the database backup is far less sensitive than the shards. Guard +the shards like the crown jewels; the database like ordinary backups.
  • +
  • Test restores, not just backups. A backup you have never restored is a +hypothesis. Rehearse the full restore into a throwaway environment on a +schedule.
  • +
  • DB location. The SQLite store lives at ~/.spike/data/spike.db on the +Nexus host.
  • +
+

Pitfalls

+
    +
  • Database without key is unrecoverable. The most common mistake is backing +up spike.db and never running spike operator recover. Encrypted secrets +with no key are gone. Always pair the two.
  • +
  • File-copy backups corrupt. Copying spike.db while Nexus is running can +capture a torn write. Use SQLite’s .backup (and checkpoint the WAL) for a +consistent snapshot.
  • +
  • Restore order matters. Put the database in place first, then restore the +root key. Restoring the key into an empty store leaves nothing to decrypt.
  • +
  • No cross-version DB migration. SPIKE has no built-in migration between +versions. Restore into the same (or a compatible) SPIKE version you backed up +from; plan version upgrades separately. See +Upgrading SPIKE.
  • +
+ + +

What’s next

+

Stand the whole thing up cleanly in production: +Deploying SPIKE.

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ + + + + + + + + + \ No newline at end of file diff --git a/docs/recipes/bootstrapping-spike/index.html b/docs/recipes/bootstrapping-spike/index.html new file mode 100644 index 00000000..b0219b3c --- /dev/null +++ b/docs/recipes/bootstrapping-spike/index.html @@ -0,0 +1,1005 @@ + + + + + + + + + SPIKE | Bootstrapping a fresh SPIKE + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+ +

Bootstrapping a fresh SPIKE

+

Problem

+

On a brand-new lite or sqlite deployment the SPIKE Keepers start empty. +SPIKE Nexus recovers its root key from the keepers, so until something +generates a root key and seeds the keepers, Nexus can never initialize — it +loops in keeper recovery and its readiness probe keeps killing it. Bootstrap is +the one-time step that breaks this chicken-and-egg.

+
+

memory mode needs no bootstrap — skip this recipe.

+
+

TL;DR

+

SPIKE Bootstrap generates a 256-bit root key, splits it into Shamir shares, and +distributes one share to each keeper. Run it once after the keepers are up:

+
# bare-metal
+make bootstrap
+
+# Kubernetes: run the spike-bootstrap workload (Job) with the bootstrap SVID
+kubectl apply -f bootstrap.yaml
+

After it succeeds, Nexus reconstructs the root key from the keepers and becomes +ready.

+

Workflow

+
    +
  1. Deploy keepers first. Bring up SPIKE_NEXUS_SHAMIR_SHARES keepers +(default 3) and make sure each is reachable at its +SPIKE_NEXUS_KEEPER_PEERS URL.
  2. +
  3. Run bootstrap with the spike/bootstrap SPIFFE identity and the shared +config (SPIKE_NEXUS_KEEPER_PEERS, SPIKE_NEXUS_SHAMIR_SHARES, +SPIKE_NEXUS_SHAMIR_THRESHOLD, the trust roots). It: +
      +
    • generates the root key and splits it (Shamir over P-256, via CIRCL);
    • +
    • POSTs one share to each keeper’s /v1/store/contribute (with retries);
    • +
    • verifies initialization by asking Nexus to decrypt a probe encrypted with +the canonical root key;
    • +
    • records completion in the spike-bootstrap-state ConfigMap (Kubernetes).
    • +
    +
  4. +
  5. Nexus recovers. On the next loop Nexus collects threshold shares, +reconstructs the root key, initializes its backend, and becomes ready. It +then re-syncs shares to keepers periodically.
  6. +
+

Tips

+
    +
  • Shares vs threshold: SHARES keepers each hold one share; any +THRESHOLD of them can reconstruct the key (e.g. 3 shares / threshold 2 +tolerates one keeper down). Production guidance is 5 shares / threshold 3.
  • +
  • Idempotency: the spike-bootstrap-state ConfigMap makes re-runs no-ops. +Grant the bootstrap ServiceAccount RBAC to read/write that ConfigMap, or a +retried Job could re-bootstrap with a new root key and orphan the data +encrypted under the old one. Set SPIKE_BOOTSTRAP_FORCE=true only when you +deliberately want to re-key.
  • +
  • Bootstrap waits for the SPIRE agent socket (init container in Kubernetes) +before it runs.
  • +
+

Pitfalls

+
    +
  • No --wait race. Don’t helm install --wait the chart and expect Nexus +Ready before bootstrap runs — Nexus can’t be ready until the keepers are +seeded. Install without --wait, run bootstrap, then wait on the Nexus +rollout.
  • +
  • Keepers not all up. Bootstrap requires exactly SHARES reachable keepers; +if some aren’t resolvable yet it retries, but a wrong peer list fails it.
  • +
  • Verify needs to reach Nexus. The post-seed verification calls Nexus’s +API; set SPIKE_NEXUS_API_URL to a resolvable address (in Kubernetes, the +fully-qualified service DNS).
  • +
+ + +

What’s next

+

Understand the moving parts you just wired up: +Where the root key lives.

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/docs/recipes/break-the-glass-recovery/index.html b/docs/recipes/break-the-glass-recovery/index.html new file mode 100644 index 00000000..e251b5e7 --- /dev/null +++ b/docs/recipes/break-the-glass-recovery/index.html @@ -0,0 +1,1025 @@ + + + + + + + + + SPIKE | Break-the-glass disaster recovery + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+ +

Break-the-glass disaster recovery

+

Problem

+

Normally SPIKE recovers itself: Nexus rebuilds its root key from the keepers on +startup. But if you lose enough keepers at once (the whole cluster, the node, +the data center) there is nothing left to auto-recover from. Break-the-glass +recovery is the human-held fallback: a set of recovery shards an operator +exports ahead of time and feeds back in after a catastrophe.

+

The catch is in the timing. The shards must be exported while the system is +healthy. If you wait until the outage, it is too late.

+

TL;DR

+

Two operator commands, two different moments:

+
# BEFORE disaster, while Nexus is healthy: export recovery shards
+spike operator recover
+
+# AFTER disaster, when Nexus cannot auto-recover: feed shards back in
+spike operator restore   # prompts for one shard at a time; repeat
+

recover needs the recover role; restore needs the restore role. Store +the exported shards encrypted, offline, and split across custodians.

+

Workflow

+

Phase 1 — Export shards (do this now, while healthy)

+
    +
  1. +

    As an operator with the recover role, run:

    +
    spike operator recover
  2. +
  3. +

    SPIKE writes the recovery shards to the recovery directory as +spike.recovery.0.txt, spike.recovery.1.txt, … Each file holds one +shard in spike:<index>:<hex> format.

    +
  4. +
  5. +

    Immediately secure them. Encrypt each shard, move it to safe offline +storage (ideally different custodians/locations), and securely erase the +plaintext files from the recovery directory. SPIKE prints this reminder for +a reason: if you lose these shards, a total crash is unrecoverable.

    +
  6. +
+

Phase 2 — Restore (only after a catastrophe)

+
    +
  1. +

    When Nexus cannot auto-recover (keepers gone, no root key), an operator with +the restore role runs:

    +
    spike operator restore
  2. +
  3. +

    Paste one recovery shard when prompted. Input is hidden. SPIKE reports +progress:

    +
    Shards collected:  1
    +Shards remaining:  1
    +Please run `spike operator restore` again to provide the remaining shards.
  4. +
  5. +

    Repeat with the next shard until SPIKE collects the threshold and prints +SPIKE is now restored and ready to use.

    +
  6. +
+

Tips

+
    +
  • recover vs restore. recover exports shards from a healthy system +(proactive backup). restore imports them into a broken one (reactive +rebuild). They are not opposites of one command; they are two halves of one +drill.
  • +
  • Threshold, not all. Restore needs threshold shards, not every shard, so +you can tolerate losing some custodians. This is the same Shamir threshold +that backs keeper auto-recovery. See +Where the root key lives.
  • +
  • Rehearse it. Schedule a recovery drill: export shards, stand up a +throwaway Nexus, and restore into it. A break-the-glass procedure no one has +run is a guess, not a plan.
  • +
  • Roles are separate identities. The recover and restore roles are +distinct SPIFFE-ID roles, separate from day-to-day Pilot access. Provision +them deliberately to the humans who hold the glass.
  • +
+

Pitfalls

+
    +
  • You cannot export after the disaster. recover talks to a healthy +Nexus. If you skipped Phase 1, there is no second chance once the keepers are +gone. Export shards as part of going to production, not as an afterthought.
  • +
  • Shards are root-key material. Anyone with threshold shards can rebuild +the root key and decrypt everything. Treat them like the keys to the kingdom: +encrypted, offline, split, audited.
  • +
  • Shard format is exact. A shard is spike:<index>:<hex> where the hex is +64 characters (32 bytes). Truncated or reformatted shards are rejected. Keep +them byte-for-byte.
  • +
  • Re-keying invalidates old shards. If you re-bootstrap with a new root key, +previously exported shards no longer restore the current system. Re-export +after any deliberate root-key rotation.
  • +
+ + +

What’s next

+

Pair key recovery with data backup: +Backup and restore.

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/docs/recipes/choosing-a-backend-store/index.html b/docs/recipes/choosing-a-backend-store/index.html new file mode 100644 index 00000000..80a8547c --- /dev/null +++ b/docs/recipes/choosing-a-backend-store/index.html @@ -0,0 +1,1003 @@ + + + + + + + + + SPIKE | Choosing a backend store + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+ +

Choosing a backend store: memory, lite, or sqlite

+

Problem

+

SPIKE Nexus can run with one of three backend stores, set by +SPIKE_NEXUS_BACKEND_STORE: memory, lite, or sqlite. They differ on two +independent axes — whether secrets are persisted, and whether a root key +(and therefore SPIKE Keepers) is required. Picking the wrong one leads to +confusing failures: a Nexus that waits forever for keepers that were never +deployed, or an in-memory store that silently loses everything on restart.

+

TL;DR

+ + + + +
BackendPersists secrets?Root key?Keepers required?Use it for
memoryNo (in-process)No (must be nil)Nolocal dev / tests
liteNo (no store at all)YesYesencryption-as-a-service; secrets live elsewhere (e.g. S3)
sqliteYes (~/.spike/data/spike.db, AES-256-GCM at rest)YesYesproduction (default)
+

Rule of thumb: sqlite for production, memory for throwaway dev, and +lite only when SPIKE is your encrypt/decrypt service and something else +stores the ciphertext.

+

Workflow

+

Set the mode on SPIKE Nexus:

+
export SPIKE_NEXUS_BACKEND_STORE=sqlite   # or: lite | memory
+
    +
  • memory — Nexus initializes a volatile in-process store and does not +contact keepers. No bootstrap, no keepers, no root key. Nexus logs a +“not for production” warning at startup. Restarting Nexus wipes all secrets.
  • +
  • lite and sqlite — Nexus recovers its root key from the SPIKE Keepers +on startup (Shamir reconstruction), so you must deploy keepers and seed +them once via SPIKE Bootstrap. See +Bootstrapping a fresh SPIKE. +
      +
    • sqlite then opens/creates the encrypted database and serves the full +secret + policy API.
    • +
    • lite keeps no local store (it embeds a no-op backend) and serves +only the cipher API — it is an encryption-only service.
    • +
    +
  • +
+

Tips

+
    +
  • The default is sqlite; you only need to set the variable to choose +lite or memory.
  • +
  • memory is the only mode that runs standalone — no keepers, no bootstrap. +Reach for it in unit/integration tests and quick local experiments.
  • +
  • Use lite when secrets are stored externally (e.g. S3-compatible storage) +and you just need SPIKE to encrypt/decrypt with a SPIFFE-gated key. See +Using SPIKE as an encryption service.
  • +
  • For sqlite, point SPIKE_NEXUS_DATA_DIR at durable, access-controlled +storage and back it up — see Backup and restore.
  • +
+

Pitfalls

+
    +
  • “lite doesn’t need keepers.” It does. lite and sqlite both recover the +root key from keepers on startup; only memory is keeper-free. If you deploy +lite without seeded keepers, Nexus loops forever in keeper recovery and +never becomes ready (see Troubleshooting).
  • +
  • “lite is an in-memory store.” It isn’t — lite has no store (it’s +encryption-only). The in-memory secret store is memory.
  • +
  • memory and a root key are mutually exclusive. In memory mode the root +key must be nil; passing one is treated as an initialization bug. Conversely +lite/sqlite refuse to start with a nil/empty root key.
  • +
  • memory loses data on restart. Never use it where you expect secrets to +survive a process restart.
  • +
+ + +

What’s next

+

If you chose lite or sqlite, set up keepers and seed them: +Bootstrapping a fresh SPIKE.

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/docs/recipes/deploying-spike/index.html b/docs/recipes/deploying-spike/index.html new file mode 100644 index 00000000..73cfe5c8 --- /dev/null +++ b/docs/recipes/deploying-spike/index.html @@ -0,0 +1,1016 @@ + + + + + + + + + SPIKE | Deploying SPIKE (Kubernetes and bare-metal) + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+ +

Deploying SPIKE (Kubernetes and bare-metal)

+

Problem

+

SPIKE is not a single binary you start. It is a small constellation of +components on top of SPIRE: Nexus (the secret store), one or more Keepers (root- +key shard holders), Pilot (the CLI), and a one-shot Bootstrap step. Standing +them up in the wrong order, or skipping bootstrap, leaves Nexus stuck in keeper +recovery and never Ready. This recipe is the map of what you deploy and in +what order; the linked guides have the full command-by-command walkthrough.

+

TL;DR

+

The order is always: SPIRE -> Keepers + Nexus -> Bootstrap -> ready.

+
1. SPIRE server + agent (identity substrate)
+2. SPIKE Keepers and Nexus (Nexus waits in keeper recovery)
+3. SPIKE Bootstrap (seeds the keepers with root-key shards)  <-- the easy miss
+4. Nexus reconstructs the root key and becomes Ready
+

On Kubernetes that is the SPIFFE Helm chart plus a bootstrap Job; on bare-metal +it is the SPIRE binaries plus the SPIKE make targets. See +Quickstart (Kubernetes) and +SPIKE on Linux (bare-metal) for the exact commands.

+

Workflow

+

Kubernetes

+
    +
  1. Install SPIRE via the hardened SPIFFE Helm chart. This gives every +component (including spike/bootstrap) a SPIFFE identity.
  2. +
  3. Deploy the SPIKE components (Keepers, Nexus). Install without +--wait: Nexus cannot become Ready until the keepers are seeded, so a +--wait install hangs.
  4. +
  5. Run the Bootstrap Job with the spike/bootstrap SVID. It generates the +root key, splits it into Shamir shares, and seeds the keepers. Give its +ServiceAccount RBAC for the spike-bootstrap-state ConfigMap so re-runs are +idempotent.
  6. +
  7. Wait on the Nexus rollout. Once the keepers hold threshold shares, +Nexus reconstructs the root key, initializes its backend, and goes Ready.
  8. +
+

Bare-metal

+
    +
  1. Run SPIRE server and agent, and register the SPIKE component identities +(the hack/bare-metal/entry scripts do this).
  2. +
  3. Start the Keepers and Nexus from the SPIKE binaries / make targets.
  4. +
  5. Bootstrap with make bootstrap to generate and distribute the root-key +shares.
  6. +
  7. Use Pilot. spike talks to Nexus over mTLS once Nexus is Ready.
  8. +
+

Tips

+
    +
  • Pick the backend deliberately. memory for a throwaway dev box (no +keepers, no bootstrap), sqlite for persistent production, lite for +encryption-only. The mode changes whether you even need bootstrap. See +Choosing a backend store.
  • +
  • Shares and threshold are deployment-wide. Decide SHARES and THRESHOLD +before bootstrap; they determine how many keepers you run and how many can +fail. Production guidance is 5 shares / threshold 3.
  • +
  • Use fully-qualified DNS in Kubernetes. Point SPIKE_NEXUS_API_URL at the +*.svc.cluster.local name; the short service.namespace form is NXDOMAIN in +some setups.
  • +
  • Set all the trust roots. Nexus checks identities against the configured +trust roots (including SPIKE_TRUST_ROOT_NEXUS); a missing one silently +rejects callers.
  • +
+

Pitfalls

+
    +
  • Bootstrap is not optional for lite/sqlite. Both need keepers and a +root key. Forgetting bootstrap is the number-one reason a fresh deployment +never reaches Ready. See +Bootstrapping a fresh SPIKE.
  • +
  • helm install --wait deadlocks. Nexus is not Ready until the keepers are +seeded, which happens after install. Install without --wait, bootstrap, +then wait on the Nexus rollout.
  • +
  • Image cache traps (local clusters). With imagePullPolicy: Never, kind +and minikube reuse a cached image for the same tag even after a fresh load. +Use a unique tag (or force a re-pull) when iterating on images.
  • +
  • Order is not negotiable. Keepers and Nexus before bootstrap; bootstrap +before expecting Ready. Out of order, you chase phantom failures.
  • +
+ + +

What’s next

+

Lock the deployment down before it carries real secrets: +Production hardening.

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/docs/recipes/encryption-as-a-service/index.html b/docs/recipes/encryption-as-a-service/index.html new file mode 100644 index 00000000..92d6a526 --- /dev/null +++ b/docs/recipes/encryption-as-a-service/index.html @@ -0,0 +1,1018 @@ + + + + + + + + + SPIKE | Using SPIKE as an encryption service + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+ +

Using SPIKE as an encryption service

+

Problem

+

Sometimes you do not want SPIKE to store your data; you want it to encrypt +data you store somewhere else (an object store, a database column, a file on +disk). You keep custody of the ciphertext; SPIKE holds the key and does the +crypto. This is “encryption as a service,” and it pairs naturally with lite +mode, where Nexus has a root key and keepers but no secret store at all.

+

TL;DR

+

The spike cipher command encrypts and decrypts through Nexus without +persisting anything:

+
# encrypt a file (stream mode), keep the ciphertext yourself
+spike cipher encrypt -f plan.txt -o plan.enc
+
+# decrypt it back
+spike cipher decrypt -f plan.enc -o plan.txt
+

The plaintext is never stored in SPIKE; only the key (derived from the root +key) lives there. Run Nexus in lite mode when this is the only thing you +need from it.

+

Workflow

+
    +
  1. +

    Encrypt. Stream mode reads a file or stdin and writes ciphertext to a +file or stdout; it handles binary data transparently:

    +
    spike cipher encrypt -f secret-plan.txt -o secret-plan.enc
    +echo "transient token" | spike cipher encrypt -o token.enc
  2. +
  3. +

    Store the ciphertext wherever you like — S3/minio, a database BLOB, a +git-crypt-style file. SPIKE is out of the loop until you need it back.

    +
  4. +
  5. +

    Decrypt by feeding the ciphertext back through Nexus:

    +
    spike cipher decrypt -f secret-plan.enc -o secret-plan.txt
    +cat token.enc | spike cipher decrypt
  6. +
  7. +

    For programmatic callers, use JSON mode. Encrypt accepts base64 +--plaintext and returns the version byte, nonce, and ciphertext; decrypt +takes those three back:

    +
    spike cipher encrypt --plaintext "$(printf 'hello' | base64)"
    +# -> JSON with {version, nonce, ciphertext} (all base64)
    +
    +spike cipher decrypt \
    +  --version 1 \
    +  --nonce "<base64-nonce>" \
    +  --ciphertext "<base64-ciphertext>"
  8. +
+

Tips

+
    +
  • Stream mode for files, JSON mode for code. Stream mode (-f/-o or +stdin/stdout) is the easy path for files and pipelines. JSON mode (passing +--plaintext, or any of --version/--nonce/--ciphertext) is for callers +that want to persist the components separately.
  • +
  • Keep the version byte. Decryption needs the version, nonce, and +ciphertext that encryption produced. Store all three with your data; losing +the nonce or version makes the ciphertext undecryptable.
  • +
  • Pair with lite mode. If encryption is all you need, lite gives you the +cipher routes (and the root key/keepers that back them) without a secret +store to operate, back up, or persist.
  • +
  • Access still needs a policy. The caller authenticates with its SPIFFE ID +and needs permission to use the cipher routes, the same as any other SPIKE +operation.
  • +
+

Pitfalls

+
    +
  • lite still needs keepers and a root key. “No secret store” does not mean +“no setup.” lite is encryption-only, but the key that encrypts your data is +the root key, which is reconstructed from the keepers. You must bootstrap it +exactly like sqlite. See +Bootstrapping a fresh SPIKE.
  • +
  • You own the ciphertext durability. SPIKE does not keep a copy. If you lose +the ciphertext, SPIKE cannot recover the plaintext; it only holds the key.
  • +
  • Re-keying invalidates old ciphertext. The key is derived from the root +key. If you re-bootstrap with a new root key, data encrypted under the old key +can no longer be decrypted. Treat root-key rotation as a deliberate migration.
  • +
  • --plaintext is base64. In JSON mode the plaintext is base64-encoded, not +raw text. Encode on the way in and decode on the way out.
  • +
+ + +

What’s next

+

Make sure you can recover the key that all this depends on: +Break-the-glass disaster recovery.

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/docs/recipes/go-sdk-integration/index.html b/docs/recipes/go-sdk-integration/index.html new file mode 100644 index 00000000..97f66154 --- /dev/null +++ b/docs/recipes/go-sdk-integration/index.html @@ -0,0 +1,1046 @@ + + + + + + + + + SPIKE | Integrating the Go SDK + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+ +

Integrating the Go SDK

+

Problem

+

You want your Go application to read (and maybe write) secrets from SPIKE +directly, without shelling out to the spike CLI. The SDK does this, and it +hides the hard parts: acquiring the SVID from the SPIRE Agent, setting up mTLS, +rotating certificates, and talking to Nexus. Your code just asks for a path. +The work is mostly making sure the environment around the code is right.

+

TL;DR

+
import spike "github.com/spiffe/spike-sdk-go/api"
+
+api, err := spike.New()          // uses the default Workload API socket
+if err != nil { /* handle */ }
+defer api.Close()
+
+secret, err := api.GetSecret("tenants/myapp/db/creds")
+if err != nil { /* handle */ }
+fmt.Println(secret.Data["password"])
+

The workload needs a SPIRE entry, a SPIKE policy granting access to the path, +and SPIFFE_ENDPOINT_SOCKET / SPIKE_NEXUS_API_URL set. See +Granting a workload access for the +identity and policy half.

+

Workflow

+
    +
  1. +

    Add the dependency.

    +
    go get github.com/spiffe/spike-sdk-go/api
  2. +
  3. +

    Create the client and read a secret. spike.New() connects via the +default Workload API socket; GetSecret returns a struct whose Data is the +key-value map stored at the path:

    +
    package main
    +
    +import (
    +    "fmt"
    +
    +    spike "github.com/spiffe/spike-sdk-go/api"
    +)
    +
    +func main() {
    +    api, err := spike.New()
    +    if err != nil {
    +        fmt.Println("connect:", err)
    +        return
    +    }
    +    defer api.Close()
    +
    +    secret, err := api.GetSecret("tenants/myapp/db/creds")
    +    if err != nil {
    +        fmt.Println("read:", err)
    +        return
    +    }
    +    fmt.Println("user:", secret.Data["username"])
    +}
  4. +
  5. +

    Write a secret (if the workload’s policy grants write):

    +
    err = api.PutSecret("tenants/myapp/db/creds", map[string]string{
    +    "username": "dbuser",
    +    "password": "s3cr3t",
    +})
  6. +
  7. +

    Read a specific version with options:

    +
    opts := &spike.GetSecretOptions{Version: 1}
    +old, err := api.GetSecretWithOptions("tenants/myapp/db/creds", opts)
  8. +
  9. +

    Wire the runtime so the SDK can find SPIRE and Nexus:

    +
    export SPIFFE_ENDPOINT_SOCKET=unix:///run/spire/sockets/agent.sock
    +export SPIKE_NEXUS_API_URL=https://spike-nexus:8553
  10. +
+

Tips

+
    +
  • Pick a fetch pattern that fits the workload. +
      +
    • Startup fetch — read all secrets once at boot. Simple; the app restarts +to pick up changes.
    • +
    • On-demand fetch — read per request. Always fresh; more calls to Nexus.
    • +
    • Cached with refresh — cache and refresh on a ticker. Balances freshness +and load; guard the cache with a mutex.
    • +
    +
  • +
  • Reuse the client. spike.New() sets up the SVID source and mTLS; create +it once and reuse it, and defer api.Close().
  • +
  • Versioning is built in. Every PutSecret to a path creates a new version; +read old ones with GetSecretWithOptions. See +Storing and reading secrets.
  • +
  • In Kubernetes, mount the SPIRE Agent socket into the pod and set the two +environment variables; the +SDK Integration Guide has a full Deployment +manifest.
  • +
+

Pitfalls

+
    +
  • The error usually names the layer. Map it before debugging SPIKE: +
      +
    • no registration entry found -> SPIRE entry / selectors.
    • +
    • 403 Forbidden -> missing or mismatched SPIKE policy.
    • +
    • connection refused (SVID) -> SPIRE Agent down or wrong socket.
    • +
    • connection refused (Nexus) -> SPIKE_NEXUS_API_URL wrong or Nexus down.
    • +
    +
  • +
  • Data is a map, read the field. GetSecret returns the whole key-value +map; pull secret.Data["password"], not the struct itself.
  • +
  • Paths are namespaces. tenants/myapp/db/creds, never with a leading +slash, and identical to the path in the policy.
  • +
  • Don’t log secrets. It is easy to fmt.Println(secret.Data) while +debugging and leave it in. The value is sensitive; keep it out of logs.
  • +
+ + +

What’s next

+

Keep your deployment current and patched: +Upgrading SPIKE.

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/docs/recipes/granting-a-workload-access/index.html b/docs/recipes/granting-a-workload-access/index.html new file mode 100644 index 00000000..dd7a2bdf --- /dev/null +++ b/docs/recipes/granting-a-workload-access/index.html @@ -0,0 +1,1060 @@ + + + + + + + + + SPIKE | Granting a workload access to secrets + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+ +

Granting a workload access to secrets

+

Problem

+

You have a running application and a secret in SPIKE, and now you want the app +to read that secret. This is the recipe that connects the others end to end: +the workload needs a SPIFFE identity (from SPIRE), a SPIKE policy that +authorizes that identity, and a few lines of SDK code. Miss any one of the +three and the read fails, usually with a confusing error.

+

TL;DR

+

Three links in the chain, in order:

+
# 1. SPIRE: give the workload an identity
+spire-server entry create \
+  -spiffeID spiffe://example.org/acme/web \
+  -parentID spiffe://example.org/spire/agent/k8s_psat/node1 \
+  -selector k8s:ns:default \
+  -selector k8s:pod-label:app:web
+
+# 2. SPIKE: authorize that identity on the path
+spike policy create \
+  --name "acme-web" \
+  --spiffeid-pattern '^spiffe://example\.org/acme/web$' \
+  --path-pattern     '^tenants/acme/db/.*$' \
+  --permissions      'read'
// 3. App: read the secret with the SDK
+api, _ := spike.New()
+defer api.Close()
+secret, _ := api.GetSecret("tenants/acme/db/creds")
+fmt.Println(secret.Data["password"])

Workflow

+
    +
  1. +

    Register the workload in SPIRE. The SPIFFE ID is what SPIKE matches a +policy against; the selectors are how SPIRE decides which process gets that +ID.

    +
    # Kubernetes
    +spire-server entry create \
    +  -spiffeID spiffe://example.org/acme/web \
    +  -parentID spiffe://example.org/spire/agent/k8s_psat/node1 \
    +  -selector k8s:ns:default \
    +  -selector k8s:pod-label:app:web
    +
    +# Bare-metal
    +spire-server entry create \
    +  -spiffeID spiffe://example.org/acme/web \
    +  -parentID spiffe://example.org/spire/agent/unix/hostname \
    +  -selector unix:uid:1001
  2. +
  3. +

    Write the SPIKE policy that grants this identity access to the path. +Grant the least privilege the workload needs (here, read only):

    +
    spike policy create \
    +  --name "acme-web" \
    +  --spiffeid-pattern '^spiffe://example\.org/acme/web$' \
    +  --path-pattern     '^tenants/acme/db/.*$' \
    +  --permissions      'read'
  4. +
  5. +

    Read from the workload using the SDK. The SDK acquires the SVID from the +SPIRE Agent, sets up mTLS, and talks to Nexus. Your code just asks for the +path:

    +
    package main
    +
    +import (
    +    "fmt"
    +
    +    spike "github.com/spiffe/spike-sdk-go/api"
    +)
    +
    +func main() {
    +    api, err := spike.New() // uses the default Workload API socket
    +    if err != nil {
    +        fmt.Println("connect:", err)
    +        return
    +    }
    +    defer api.Close()
    +
    +    secret, err := api.GetSecret("tenants/acme/db/creds")
    +    if err != nil {
    +        fmt.Println("read:", err)
    +        return
    +    }
    +    fmt.Println("password:", secret.Data["password"])
    +}
  6. +
  7. +

    Wire the runtime. The SDK needs to find the SPIRE Agent socket and +Nexus:

    +
    export SPIFFE_ENDPOINT_SOCKET=unix:///run/spire/sockets/agent.sock
    +export SPIKE_NEXUS_API_URL=https://spike-nexus:8553
    +./web
  8. +
+

Tips

+
    +
  • Match the identity exactly, then widen if needed. Pin a single workload +with an anchored pattern (^spiffe://example\.org/acme/web$). Use .* only +when you deliberately want a whole family of SVIDs to share the policy.
  • +
  • Least privilege. A reader only needs read. Add write/list only for +workloads that store or enumerate secrets, and never hand a workload super.
  • +
  • The SDK handles the hard parts — SVID acquisition, mTLS, certificate +rotation, retries. Your app focuses on business logic, not transport.
  • +
  • In Kubernetes, mount the SPIRE Agent socket into the pod and set +SPIFFE_ENDPOINT_SOCKET and SPIKE_NEXUS_API_URL. See the SDK guide for a +full Deployment manifest.
  • +
+

Pitfalls

+
    +
  • All three links are required. A missing SPIRE entry, a missing policy, or +an unset socket each break the chain independently: +
      +
    • no registration entry found -> the SPIRE entry is missing or its +selectors do not match the pod/process.
    • +
    • 403 Forbidden / permission denied -> the workload has an SVID but no +policy authorizes it on that path.
    • +
    • connection refused on SVID acquisition -> the SPIRE Agent socket is wrong +or the agent is down.
    • +
    +
  • +
  • Policy patterns are regex. ^spiffe://example\.org/acme/web$, not +spiffe://example.org/acme/web*. Escape the dots; anchor the ends. See +Writing access policies.
  • +
  • Paths are namespaces. The policy path and the SDK path must agree, and +neither starts with a slash: tenants/acme/db/creds.
  • +
  • GetSecret returns a map. Read the field you want from secret.Data +(e.g. secret.Data["password"]); the value is the whole key-value map stored +at that path.
  • +
+ + +

What’s next

+

Skip storing secrets entirely and use SPIKE to encrypt your own data: +Using SPIKE as an encryption service.

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/docs/recipes/index.html b/docs/recipes/index.html new file mode 100644 index 00000000..643567b4 --- /dev/null +++ b/docs/recipes/index.html @@ -0,0 +1,930 @@ + + + + + + + + + SPIKE | Recipes + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+

Recipes

+

Task-first guides for SPIKE. Each recipe states the problem you’re trying +to solve, gives a TL;DR, walks the workflow step by step, then lists +tips, pitfalls, and where to go next. For exhaustive option lists +see Configuration and the +command reference; for the why, see +Architecture.

+

Concepts & decisions

+ +

Day-to-day usage

+ +

Operations & lifecycle

+ +

Integration & advanced

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/docs/recipes/production-hardening/index.html b/docs/recipes/production-hardening/index.html new file mode 100644 index 00000000..eb100a19 --- /dev/null +++ b/docs/recipes/production-hardening/index.html @@ -0,0 +1,1048 @@ + + + + + + + + + SPIKE | Production hardening + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+ +

Production hardening

+

Problem

+

SPIKE keeps its most sensitive material (the root key, decrypted secrets) in +memory by design. That makes the host the trust boundary: if an attacker can +read process memory, swap, or core dumps, encryption at rest no longer helps. +Going to production means closing those host-level gaps and hardening the SPIRE +identity plane SPIKE depends on. This recipe is the prioritized checklist; the +Production Setup guide has the full rationale.

+

TL;DR

+

Protect memory, run unprivileged, lock down the identity plane, and restrict +the backing store:

+
# Keep secrets out of disk-backed memory
+swapoff -a                                   # disable swap
+ulimit -c 0                                  # disable core dumps (RLIMIT_CORE)
+# allow mlock for the spike user (limits.conf / LimitMEMLOCK=infinity)
+# restrict debugging
+echo 'kernel.yama.ptrace_scope = 2' | sudo tee /etc/sysctl.d/10-ptrace.conf
+

Then: non-root service accounts, mTLS-only SPIRE, granular registration +entries (no wildcards), and least-privilege access to ~/.spike/data.

+

Workflow

+
    +
  1. +

    Protect memory (highest value). SPIKE attempts mlockall to keep keys +out of swap; give the spike user the memlock limit so it succeeds.

    +
      +
    • Disable swap (swapoff -a), or use encrypted swap if you cannot.
    • +
    • Disable core dumps (RLIMIT_CORE=0, or LimitCORE=0 in systemd).
    • +
    • Restrict ptrace: set kernel.yama.ptrace_scope to 2 (root-only) or 3 +(off). This applies to both Nexus and the Keepers.
    • +
    • Keep ASLR on (kernel.randomize_va_space = 2).
    • +
    +
  2. +
  3. +

    Run unprivileged and isolated.

    +
      +
    • Run every component as a dedicated non-root user with minimal +permissions. Never run as root.
    • +
    • Single-tenant the Nexus host (node affinity in Kubernetes); it should be +the only significant process on the box.
    • +
    • In Kubernetes: allowPrivilegeEscalation: false, privileged: false, +readOnlyRootFilesystem: true, non-root runAsUser/runAsGroup, Pod +Security Admission, and NetworkPolicies.
    • +
    +
  4. +
  5. +

    Harden the SPIRE identity plane. SPIKE’s security rests on it.

    +
      +
    • Isolate the SPIRE server (separate cluster or dedicated hardware); consider +a KMS plugin for its keys.
    • +
    • Write granular registration entries; avoid wildcard selectors.
    • +
    • Bind component identities to binary sha256 selectors so a swapped binary +fails attestation and gets no SVID.
    • +
    • mTLS everywhere; rotate workload certs frequently.
    • +
    +
  6. +
  7. +

    Restrict the backing store and backups.

    +
      +
    • Limit write access to ~/.spike/data to the Nexus process only.
    • +
    • For external stores (S3/minio/DB), assume untrusted: TLS in transit, +restricted access, encrypted at rest.
    • +
    • Encrypt backups; guard root-key shards far more strictly than the (already +encrypted) database. See +Backup and restore.
    • +
    +
  8. +
  9. +

    Set the Shamir parameters for your scale.

    +
    export SPIKE_NEXUS_SHAMIR_SHARES=5      # total keepers
    +export SPIKE_NEXUS_SHAMIR_THRESHOLD=3   # needed to reconstruct
    + + + + +
    DeploymentThresholdShares
    Dev/Test23
    Small Prod35
    Large Prod57
    Critical710
    +
  10. +
+

Tips

+
    +
  • Defense in depth. No single control is sufficient. Memory locking plus no +swap plus no core dumps plus ptrace restriction together make memory +extraction genuinely hard.
  • +
  • Verify binary integrity. SPIKE binaries ship with SHA-256 checksums. +Verify on install and re-check periodically; binding the SHA into SPIRE +entries makes this load-bearing, not just advisory.
  • +
  • Audit logs are evidence. Audit entries are prefixed [AUDIT]: on stdout +(not yet a separate stream). Ship them somewhere tamper-evident with a +retention policy that matches your compliance needs.
  • +
  • Containers need mlock support. To use mlock inside a container, use a +storage driver that supports it (e.g. overlay2) and raise the container +runtime’s LimitMEMLOCK.
  • +
+

Pitfalls

+
    +
  • The host is the trust boundary. Encryption at rest does not protect a key +sitting in swap or a core dump. Skipping the memory-protection steps is the +most consequential omission.
  • +
  • Misconfigured SPIRE silently weakens everything. A wildcard selector or a +privileged user running a component undoes attestation. The protections exist +only if configured correctly.
  • +
  • Storage tampering is still possible. SPIKE encrypts data at rest, but an +attacker with write access to the store can corrupt or delete it. Restrict +store access independent of encryption.
  • +
  • Don’t treat this as one-time. Cipher suites, key lengths, and defaults +change across versions. Hardening is continuous; keep a frequent upgrade +cadence. See Upgrading SPIKE.
  • +
+ + +

What’s next

+

When something still will not come up, work the symptoms: +Troubleshooting.

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/docs/recipes/root-key-keepers-recovery/index.html b/docs/recipes/root-key-keepers-recovery/index.html new file mode 100644 index 00000000..33f6facb --- /dev/null +++ b/docs/recipes/root-key-keepers-recovery/index.html @@ -0,0 +1,992 @@ + + + + + + + + + SPIKE | Where the root key lives + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+ +

Where the root key lives: keepers, Shamir, and recovery

+

Problem

+

SPIKE Nexus encrypts everything with a single root key. Where is that key, +how does it survive a Nexus restart without a human typing it in, and why does +Nexus talk to “keepers” on startup? Understanding this explains why lite/ +sqlite need keepers and why a missing keeper isn’t fatal.

+

TL;DR

+

The root key is never written to disk. It’s split with Shamir’s Secret +Sharing into N shares; each SPIKE Keeper holds one share in memory. On +startup Nexus collects any threshold shares from the keepers and +reconstructs the key in memory. Lose one keeper and the key still recovers; +lose more than N − threshold and you fall back to +break-the-glass recovery.

+

Workflow (what happens automatically)

+
    +
  1. Bootstrap generates the root key, splits it into SPIKE_NEXUS_SHAMIR_SHARES +shares, and seeds the keepers (one share each). See +Bootstrapping.
  2. +
  3. Nexus startup (lite/sqlite): InitializeBackingStoreFromKeepers +iterates the keepers, gathers shares until it has +SPIKE_NEXUS_SHAMIR_THRESHOLD of them, and reconstructs the canonical root +key (the seed reduced into a P-256 scalar). It then keys its cipher / +opens its store and serves the API.
  4. +
  5. Ongoing sync: Nexus runs SendShardsPeriodically, re-pushing shares to +the keepers on an interval so restarted/replaced keepers get re-hydrated.
  6. +
  7. Keeper restart: a keeper holds its share only in memory, so a restarted +keeper is empty until Nexus re-syncs it — which is why a single keeper +bouncing is harmless as long as threshold others are up.
  8. +
+

Tips

+
    +
  • memory mode has no root key and no keepers — it’s the only standalone +mode. lite and sqlite always recover from keepers.
  • +
  • Pick shares/threshold for your failure tolerance: you can lose up to +shares − threshold keepers and still recover automatically.
  • +
  • The reconstructed key lives only in Nexus memory; harden the host +accordingly (see Production hardening).
  • +
+

Pitfalls

+
    +
  • Canonical key ≠ raw seed. The AES key is the Shamir secret scalar +marshalled to bytes, not the raw random seed (the seed is reduced mod the +P-256 group order). Anything that needs the actual key (e.g. the bootstrap +verify probe) must derive it the same way, not use the seed.
  • +
  • All keepers empty = stuck Nexus, not a crash. If no keeper has a share +(fresh deploy without bootstrap, or all keepers restarted before re-sync), +Nexus retries recovery indefinitely by design. See +Troubleshooting.
  • +
  • Keepers are not a secret store. They hold only root-key shares, never +your secrets.
  • +
+ + +

What’s next

+

Plan for the day the keepers can’t recover the key: +Break-the-glass disaster recovery.

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/docs/recipes/storing-and-reading-secrets/index.html b/docs/recipes/storing-and-reading-secrets/index.html new file mode 100644 index 00000000..bc0fe483 --- /dev/null +++ b/docs/recipes/storing-and-reading-secrets/index.html @@ -0,0 +1,1020 @@ + + + + + + + + + SPIKE | Storing and reading secrets + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+ +

Storing and reading secrets

+

Problem

+

You have SPIKE up and running and you want to do the everyday thing: write a +secret, read it back, list what is there, and clean up old ones. You also want +to know what happens when you overwrite a secret (does the old value vanish?) +and how to recover one you deleted by mistake.

+

TL;DR

+

Secrets are versioned key-value maps stored at a namespaced path. Use +spike secret from SPIKE Pilot:

+
spike secret put   tenants/acme/db/creds user=acme pass=SPIKERocks
+spike secret get   tenants/acme/db/creds
+spike secret list
+spike secret delete tenants/acme/db/creds      # soft delete (recoverable)
+spike secret undelete tenants/acme/db/creds    # bring it back
+

Every put to an existing path creates a new version; old versions are +retained until you explicitly delete them.

+

Workflow

+
    +
  1. +

    Write a secret. A secret is one or more key=value pairs at a path:

    +
    spike secret put tenants/acme/db/creds user=acme pass=SPIKERocks
    +

    This is an upsert. Writing the same path again stores a new version rather +than mutating the old one.

    +
  2. +
  3. +

    Read it back. Get the whole map, a single key, or a specific version:

    +
    spike secret get tenants/acme/db/creds          # all keys, current version
    +spike secret get tenants/acme/db/creds pass      # just one key
    +spike secret get tenants/acme/db/creds -v 2      # version 2 (0 = current)
    +spike secret get tenants/acme/db/creds -f json   # plain | yaml | json
  4. +
  5. +

    List paths. list shows every secret path you are allowed to see:

    +
    spike secret list
    +spike secret list -f json
  6. +
  7. +

    Inspect metadata without revealing the value (versions, timestamps, +current version):

    +
    spike secret metadata get tenants/acme/db/creds
    +spike secret metadata get tenants/acme/db/creds -v 2
  8. +
  9. +

    Delete and undelete. Delete is a soft delete: the version is marked +deleted, not destroyed, so it can be restored. Versions are given as a +comma-separated list with -v; 0 means the current version (the default +when -v is omitted):

    +
    spike secret delete   tenants/acme/db/creds          # current version
    +spike secret delete   tenants/acme/db/creds -v 1,2,3 # specific versions
    +spike secret undelete tenants/acme/db/creds -v 1,2,3 # restore them
  10. +
+

Tips

+
    +
  • Multiple keys per path. One path can hold a whole map +(put .../creds user=acme pass=… host=db.internal). Group related fields +under one path instead of scattering them.
  • +
  • -v differs by command. For get and metadata get, -v/--version +takes a single integer. For delete and undelete, -v/--versions takes a +comma-separated list. 0 always means the current version.
  • +
  • Output formats. get, list, and metadata get accept +-f/--format with plain/p, yaml/y, or json/j. Use json when +piping into scripts.
  • +
  • Persistence depends on the backend. In memory mode everything is gone +on restart; sqlite persists to disk; lite keeps no secrets at all (it is +encryption-only). See +Choosing a backend store.
  • +
+

Pitfalls

+
    +
  • Paths are namespaces, not filesystem paths. Use tenants/acme/db/creds, +never /tenants/acme/db/creds. A leading slash is wrong, and trailing +slashes are discouraged.
  • +
  • list takes no path argument. It lists all paths you can access; it does +not filter by prefix. Filter in your shell if you need a subset.
  • +
  • Reading needs a policy. SPIKE Pilot authenticates with its SPIFFE ID, but +it still needs a policy granting read/write on the path. “I can put but +another workload can’t get” is almost always a missing policy, not a +storage problem. See +Writing access policies.
  • +
  • Overwrite does not destroy history. put over an existing path keeps the +old version. If you must scrub a value, delete the specific versions.
  • +
+ + +

What’s next

+

Control who can read and write these secrets: +Writing access policies.

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/docs/recipes/troubleshooting/index.html b/docs/recipes/troubleshooting/index.html new file mode 100644 index 00000000..aa5974a8 --- /dev/null +++ b/docs/recipes/troubleshooting/index.html @@ -0,0 +1,1049 @@ + + + + + + + + + SPIKE | Troubleshooting + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+ +

Troubleshooting

+

Problem

+

Something is wrong and the error message points at a symptom, not a cause. +Nexus will not go Ready, a workload gets 403 even though you wrote a policy, +or bootstrap hangs. This recipe is organized symptom first: find the line +that matches what you see, then work the checklist under it.

+

TL;DR

+ + + + + + +
SymptomMost likely cause
Nexus never Ready / loops in keeper recoveryKeepers unseeded; bootstrap
403 Forbidden on a secretMissing policy, or pattern is a glob not regex
Bootstrap hangs / never completesA keeper unreachable, or verify can’t reach Nexus
no registration entry foundSPIRE entry missing or selectors mismatch
connection refused (SVID)SPIRE Agent down or wrong socket path
+

Nexus never becomes Ready (stuck in keeper recovery)

+

This is the classic fresh-deployment failure. Nexus rebuilds its root key from +the keepers on startup and waits forever until it can; if the keepers are +empty, it loops and the readiness probe keeps restarting it.

+

Work down this list:

+
    +
  1. Did bootstrap run? On a fresh lite/sqlite deployment the keepers +start empty. Until bootstrap seeds them, Nexus cannot recover. This is the +number-one cause. Run it. See +Bootstrapping a fresh SPIKE.
  2. +
  3. Did you helm install --wait? That deadlocks: Nexus is not Ready until +the keepers are seeded, which happens after install. Install without +--wait, run bootstrap, then wait on the Nexus rollout.
  4. +
  5. Are all keepers reachable? Bootstrap needs every keeper in +SPIKE_NEXUS_KEEPER_PEERS reachable, and Nexus needs threshold of them to +reconstruct. Check the peer list and that each keeper is up.
  6. +
  7. Is SPIKE_NEXUS_API_URL resolvable? In Kubernetes use the +fully-qualified *.svc.cluster.local name; the short service.namespace +form can be NXDOMAIN.
  8. +
  9. Are all trust roots set? Nexus validates callers against the configured +trust roots, including SPIKE_TRUST_ROOT_NEXUS. A missing root silently +rejects otherwise-valid identities.
  10. +
+

Policy created but access denied (403)

+

The workload has an identity but is not authorized for what it tried.

+
    +
  1. Does a policy actually match? Both the spiffeid-pattern and the +path-pattern must match. A policy that “looks right” usually has one too +narrow or unanchored.
  2. +
  3. Are the patterns regex, not globs? ^tenants/acme/.*$, not +tenants/acme/*. A glob-style * silently matches the wrong set or nothing. +See Writing access policies.
  4. +
  5. Did you escape the dots? example\.org, not example.org (an unescaped +. matches any character, sometimes masking the real problem).
  6. +
  7. Right permission? read to read, write to create/update/delete, +list to enumerate. A reader with only list still cannot get.
  8. +
  9. Path is a namespace. No leading slash; tenants/acme/db/creds, and the +policy path and request path must agree.
  10. +
+

Bootstrap hangs or never completes

+
    +
  1. Keepers not all up. Bootstrap requires exactly SHARES reachable +keepers; a wrong or incomplete peer list stalls or fails it.
  2. +
  3. Verify cannot reach Nexus. The post-seed verification calls the Nexus +API; if SPIKE_NEXUS_API_URL is wrong, verification fails even though the +shares landed.
  4. +
  5. Re-run did nothing. That is idempotency working: the +spike-bootstrap-state ConfigMap records completion. To deliberately re-key, +set SPIKE_BOOTSTRAP_FORCE=true (this orphans data under the old key).
  6. +
+

SVID / SPIRE errors

+
    +
  • no registration entry found — the SPIRE entry is missing, or its +selectors do not match the pod/process. Create the entry and confirm the +selectors. See +Granting a workload access.
  • +
  • connection refused acquiring an SVID — the SPIRE Agent is down or +SPIFFE_ENDPOINT_SOCKET points at the wrong socket. Start the agent and fix +the path.
  • +
+

Tips

+
    +
  • Read the audit log carefully. Audit entries ([AUDIT]:) can log +“enter/exit success” for a route even when the request fell through to a +fallback and returned an error. Cross-check the actual HTTP status, not just +the audit line.
  • +
  • Local clusters cache images by tag. With imagePullPolicy: Never, kind +and minikube reuse the cached image for the same tag even after a fresh +load. Use a unique tag (or force a re-pull) when an image change “isn’t taking +effect.”
  • +
  • Isolate the layer. Confirm SPIRE issues the SVID, then that SPIKE +authorizes it, then that the data operation works. Most “SPIKE” failures are +actually identity or policy failures one layer down.
  • +
+

Pitfalls

+
    +
  • Treating the symptom, not the cause. A restarting Nexus pod is almost +never a Nexus bug; it is usually unseeded keepers. Fix the cause (bootstrap), +not the symptom (probe tuning).
  • +
  • Assuming a 403 is a storage problem. It is authorization. Check the +policy and its patterns before touching the secret store.
  • +
  • Forgetting lite needs keepers too. “Encryption-only” does not mean +“no bootstrap.” lite still recovers a root key from keepers and shows the +exact same stuck-in-recovery symptom if unseeded.
  • +
+ + +

What’s next

+

Once it is healthy, read secrets from your own code: +Integrating the Go SDK.

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/docs/recipes/upgrading-spike/index.html b/docs/recipes/upgrading-spike/index.html new file mode 100644 index 00000000..ff4a235e --- /dev/null +++ b/docs/recipes/upgrading-spike/index.html @@ -0,0 +1,1029 @@ + + + + + + + + + SPIKE | Upgrading SPIKE + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+ +

Upgrading SPIKE

+

Problem

+

SPIKE is actively hardened and patched, so you want to stay current, but two +SPIKE-specific facts make upgrades more than a binary swap. First, there is no +built-in database migration between versions, so you cannot assume a new Nexus +reads an old store. Second, component identity is often bound to the binary’s +SHA-256 in SPIRE, so a new binary fails attestation until you update the +registration entry. Upgrade without accounting for both and the system either +will not start or will not trust itself.

+

TL;DR

+
1. Read the changelog for breaking changes (config, key lengths, schema)
+2. Back up first: database + root-key shards
+3. Verify the new binaries' SHA-256 checksums
+4. Update SPIRE entries if they pin the binary SHA selector
+5. Upgrade in a staging environment, verify, then production
+

Back up before, verify checksums, update the SHA selectors, and rehearse in +staging. Never upgrade production as the first place you try the new version.

+

Workflow

+
    +
  1. +

    Read the changelog and release notes for the target version. Look +specifically for changes to configuration, environment variables, default +key lengths or cipher suites, and the storage schema. See +Changelog.

    +
  2. +
  3. +

    Back up everything first. Capture the database and export fresh +root-key shards before you touch any binary:

    +
    sqlite3 ~/.spike/data/spike.db "PRAGMA wal_checkpoint(FULL);"
    +sqlite3 ~/.spike/data/spike.db \
    +  ".backup '/backup/pre-upgrade-$(date +%Y%m%d).sqlite'"
    +spike operator recover   # export + secure the shards
    +

    See Backup and restore.

    +
  4. +
  5. +

    Verify the new binaries. Official SPIKE binaries publish SHA-256 +checksums. Verify each before installing:

    +
    sha256sum -c spike-<version>.sha256
  6. +
  7. +

    Update SPIRE registration entries if they pin the SHA. If your entries +bind a unix:sha256:<hash> selector (recommended hardening), the new binary +has a new hash and will fail attestation until you re-register it:

    +
    spire-server entry create \
    +  -spiffeID spiffe://spike.ist/spike/keeper \
    +  -parentID "spiffe://spike.ist/spire-agent" \
    +  -selector unix:uid:"$KEEPER_UID" \
    +  -selector unix:path:"$KEEPER_PATH" \
    +  -selector unix:sha256:"$NEW_KEEPER_SHA"
  8. +
  9. +

    Upgrade in staging, verify, then production. Roll the new version into a +staging environment that mirrors production. Confirm Nexus reaches Ready and +secrets round-trip:

    +
    sqlite3 ~/.spike/data/spike.db "PRAGMA integrity_check;"
    +spike secret get path/to/test/secret
    +

    Only then promote to production.

    +
  10. +
+

Tips

+
    +
  • Keep a frequent cadence. Small, regular upgrades are far less risky than +rare jumps across many versions, where breaking changes accumulate.
  • +
  • Upgrade order. Bring keepers and Nexus to the new version together, and +expect Nexus to recover its root key from the keepers on restart, exactly as +on first boot. If it stalls, see Troubleshooting.
  • +
  • The root key is version-independent. Upgrading binaries does not re-key. +Your existing shards and encrypted data remain valid as long as you do not +re-bootstrap.
  • +
  • Automate checksum verification in your deployment pipeline so an +unverified binary can never reach a node.
  • +
+

Pitfalls

+
    +
  • No cross-version DB migration. SPIKE ships no tool to migrate the store +between incompatible versions. If a release changes the schema, plan a +deliberate migration; do not point new Nexus at an old database and hope.
  • +
  • Stale SHA selectors lock you out. Forgetting step 4 makes the upgraded +component fail SPIRE attestation, so it gets no SVID and the rest of the +system refuses to talk to it. This looks like a connectivity failure but is an +identity failure.
  • +
  • No backup, no rollback. If the upgrade goes wrong and you skipped the +backup, there is nothing to restore to. The backup in step 2 is the rollback +plan.
  • +
  • Defaults can change silently. A new version may tighten key lengths or +cipher suites. Re-read the configuration reference after upgrading rather than +assuming your old settings are still optimal. See +Configuration.
  • +
+ + +

What’s next

+

You have completed the recipe set. Revisit the +concepts any time the fundamentals feel +fuzzy, or browse all Recipes.

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/docs/recipes/writing-access-policies/index.html b/docs/recipes/writing-access-policies/index.html new file mode 100644 index 00000000..cbc75c82 --- /dev/null +++ b/docs/recipes/writing-access-policies/index.html @@ -0,0 +1,1038 @@ + + + + + + + + + SPIKE | Writing access policies + + + +
+ + + + + +
+
+
+ + +
+ +
+
+ Waiting for input... +
+
+
+ + + + + + Star SPIKE on GitHub + + +
+
+ + + + + + +
+ +

Writing access policies

+

Problem

+

A workload can authenticate to SPIKE with its SPIFFE ID, but authentication is +not authorization. Until a policy says “this identity may do these things +on these paths,” every read and write is denied. You need to write that policy, +and the two fields that decide who and what (spiffeid-pattern and +path-pattern) are regular expressions, which is the single most common +place people trip.

+

TL;DR

+

A policy binds a SPIFFE ID regex and a path regex to a set of +permissions (read, write, list, super):

+
spike policy create \
+  --name "acme-db" \
+  --spiffeid-pattern '^spiffe://example\.org/acme/db/.*$' \
+  --path-pattern     '^tenants/acme/db/.*$' \
+  --permissions      'read,write'
+

create fails if the name already exists. Use apply for upsert (and for +applying a YAML file).

+

Workflow

+
    +
  1. +

    Decide the four inputs:

    +
      +
    • name — a unique label for the policy.
    • +
    • spiffeid-pattern — a regex matching the workload SVIDs it applies to.
    • +
    • path-pattern — a regex matching the secret paths it covers.
    • +
    • permissions — any of read, write, list, super.
    • +
    +
  2. +
  3. +

    Create the policy:

    +
    spike policy create \
    +  --name "acme-db" \
    +  --spiffeid-pattern '^spiffe://example\.org/acme/db/.*$' \
    +  --path-pattern     '^tenants/acme/db/.*$' \
    +  --permissions      'read,write'
  4. +
  5. +

    Or apply from YAML (upsert: creates if new, updates if the name exists):

    +
    # acme-db.yaml
    +name: acme-db
    +spiffeidPattern: ^spiffe://example\.org/acme/db/.*$
    +pathPattern: ^tenants/acme/db/.*$
    +permissions:
    +  - read
    +  - write
    spike policy apply --file acme-db.yaml
  6. +
  7. +

    Verify and inspect:

    +
    spike policy list
    +spike policy list --path-pattern '^tenants/acme/.*$'
    +spike policy get --name acme-db
    +spike policy get --name acme-db --format json
  8. +
  9. +

    Delete when no longer needed (by name or ID; prompts to confirm):

    +
    spike policy delete --name acme-db
  10. +
+

Tips

+
    +
  • create vs apply. create is strict: it errors if a policy with that +name already exists, which is what you want in scripts that must not clobber. +apply is upsert and is the only form that reads a --file. Use apply for +declarative, re-runnable config.
  • +
  • Permissions. read reads secrets, write creates/updates/deletes, +list lists resources, and super is administrative (grants all). Grant the +narrowest set that works; reserve super for operators.
  • +
  • Patterns can be broad or pinned. ^tenants/acme/db/.*$ covers a subtree; +^tenants/acme/db/creds$ pins one exact path. Anchor with ^ and $ so a +pattern does not match more than you intend.
  • +
  • policy list filters. Filter by --path-pattern or --spiffeid-pattern +(not both at once) to find which policies touch a path or an identity.
  • +
+

Pitfalls

+
    +
  • +

    Patterns are regex, not globs. This is the big one.

    +
      +
    • Correct: ^tenants/acme/db/.*$, ^spiffe://example\.org/web/.*$
    • +
    • Wrong: tenants/acme/db/*, spiffe://example.org/web/*
    • +
    +

    In a glob, * means “anything”; in regex it means “zero or more of the +previous character.” A glob-style pattern silently matches the wrong set.

    +
  • +
  • +

    Escape the dots in SPIFFE IDs. . matches any character in regex. Write +example\.org, not example.org, or the pattern will also match +exampleXorg.

    +
  • +
  • +

    Paths are namespaces, not filesystem paths. Match ^tenants/acme/.*$, +never ^/tenants/acme/.*$. A leading slash is wrong here just as it is when +storing secrets.

    +
  • +
  • +

    Both patterns must match. Access is granted only when the caller’s +SPIFFE ID matches spiffeid-pattern and the target path matches +path-pattern. A policy that “looks right” but denies access usually has one +of the two patterns too narrow or unanchored.

    +
  • +
+ + +

What’s next

+

Put the policy to work end to end: +Granting a workload access to secrets.

+ + +
+ +
+ Copyright © 2024-present SPIKE Contributors.
+ SPIKE's code + is distributed under Apache (v2.0). +
+ The documentation on this website + is distributed under CC-BY-4.0. +

+ We do not collect your data. + This site does not use any tracking cookies or scripts. +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/docs/search_index.en.js b/docs/search_index.en.js index b7cb3e30..2cdad66a 100644 --- a/docs/search_index.en.js +++ b/docs/search_index.en.js @@ -1 +1 @@ -window.searchIndex = {"fields":["title","body"],"pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5","index":{"body":{"root":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":7,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"2":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"3":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"2":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"3":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"5":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"6":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"8":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"2":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"3":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"4":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"5":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"6":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"7":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"8":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"9":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28}},"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"1":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"2":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"3":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"4":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29,"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":1}},"5":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"6":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29},"7":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29},"8":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29},"9":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29}},"2":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"1":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":30,"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}},"2":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29},"3":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"4":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29},"5":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29},"6":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"7":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29},"8":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"9":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":29}},"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"1":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":29},"2":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":29}}},"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":4},"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":5},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":12},"4":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3},"5":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1},"6":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":2}}},"7":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772}},"df":1}}},"8":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4},"9":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3},"x":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}},"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":12,".":{"docs":{},"df":0,"2":{"docs":{},"df":0,"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"5":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"3":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}},"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":21,"7":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"2":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":3.4641016151377544},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772}},"df":30,"3":{"docs":{},"df":0,"]":{"docs":{},"df":0,"$":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}},"^":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":3},"4":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2,"0":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772}},"df":1,".":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"5":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1},"6":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1,"g":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}}},"7":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1,"1":{"docs":{},"df":0,"7":{"docs":{},"df":0,"9":{"docs":{},"df":0,"8":{"docs":{},"df":0,"6":{"docs":{},"df":0,"9":{"docs":{},"df":0,"1":{"docs":{},"df":0,"8":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}}}}}}}}}},"8":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1},"9":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2},"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":15,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5,"0":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}}}},"2":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":21},"5":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":4.242640687119285}},"df":15}},"7":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}},"9":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}},"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4,"8":{"docs":{},"df":0,"7":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"2":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4},"4":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"5":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1,"5":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1},"6":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6}},"7":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":2,"1":{"docs":{},"df":0,"4":{"docs":{},"df":0,"4":{"docs":{},"df":0,"7":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"8":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2},"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":10,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"2":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":1},"8":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}},"4":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1,"7":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"4":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":30,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"5":{"docs":{},"df":0,"3":{"docs":{},"df":0,"3":{"docs":{},"df":0,"7":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"8":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{},"df":0,"s":{"docs":{},"df":0,"\"":{"docs":{},"df":0,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}},"7":{"docs":{},"df":0,"9":{"docs":{},"df":0,"1":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"8":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}},"5":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1},"8":{"docs":{},"df":0,"1":{"docs":{},"df":0,"8":{"docs":{},"df":0,"1":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"6":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}},"7":{"docs":{},"df":0,"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}},"8":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":3}}},"9":{"docs":{},"df":0,".":{"docs":{},"df":0,"_":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}},"6":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":2}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":4}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":3}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":36}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/about/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":3.872983346207417},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":5.0},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/presentations/":{"tf":2.8284271247461903},"https://spike.ist/development/sdk-integration/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":2.449489742783178},"https://spike.ist/operations/production/":{"tf":5.744562646538029},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/policy/":{"tf":4.47213595499958},"https://spike.ist/usage/commands/secret/":{"tf":3.605551275463989}},"df":46}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":8}}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":2}}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772}},"df":5}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":2}},"k":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}}}}}}}},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.4142135623730951}},"df":12}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}},"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":4}}}}},"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":6.244997998398398}},"df":9,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":22,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979}},"df":29,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":6}}}}},"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":5}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}},"j":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.6457513110645907},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":33,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.872983346207417},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":3.605551275463989},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":40,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"’":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"o":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951}},"df":3}}},"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":5.656854249492381},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":6.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":5.916079783099616},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":5.916079783099616},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":6.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":5.916079783099616},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":5.916079783099616},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":6.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":6.082762530298219},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":6.082762530298219},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":6.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":5.916079783099616},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":5.916079783099616},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":6.164414002968976},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":6.082762530298219},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":5.916079783099616},"https://spike.ist/architecture/architectural-decision-records/":{"tf":6.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":36,"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":2},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":3}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}}}},"e":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.23606797749979},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":30,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0}},"df":5}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}},"n":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":4,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.8284271247461903},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":34}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907}},"df":5,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951}},"df":3}}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}}}},"i":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1},"m":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":2},"r":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772}},"df":4}}},"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":4,"\"":{"docs":{},"df":0,"6":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}},"a":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1},"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":13}},"v":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0}},"df":2},"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/secret/":{"tf":2.6457513110645907},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":22,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}},"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"_":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"g":{"docs":{"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5}}}}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":11}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":18}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":10}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"z":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":2}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":7}},"z":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772}},"df":1}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3}}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":4}}},"y":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":3}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":2.0},"https://spike.ist/community/resources/":{"tf":1.7320508075688772},"https://spike.ist/development/api-docs/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":42,"\"":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,":":{"docs":{},"df":0,"6":{"docs":{},"df":0,"7":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,":":{"docs":{},"df":0,"7":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":4,"/":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"y":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}}}}}}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/release/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}},"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979}},"df":2}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.8284271247461903}},"df":6,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":11}},"y":{"docs":{},"df":0,"—":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":39,"—":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}}}}}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":11}}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":60}}}}}},"v":{"docs":{"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":4},"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}}}}},"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907}},"df":2}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0}},"df":2}}}}}}},"s":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":4},"l":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":3,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":3}},"t":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":8}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":4}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":5,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29}}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":29,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}},"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951}},"df":1,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.605551275463989},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1},"k":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":3.1622776601683795},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.3166247903554},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":17,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":13}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":3.0}},"df":2}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}}}}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}}},"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":7.0710678118654755},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":3.7416573867739413},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979}},"df":37,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979}},"df":1},"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}},"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":39,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979}},"df":15}}},"o":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"m":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":11,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.449489742783178},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772}},"df":15}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/api-docs/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":42,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":2}}}}}}}}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":3.1622776601683795}},"df":14}}}},"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}}},"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/operations/recovery/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.23606797749979}},"df":40,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":4.358898943540674},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":3.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":33}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":2,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":1}}}}},"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":5.830951894845301},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":14,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":1}}}}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5}}}}}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":7}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":3},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.6457513110645907},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":47,"6":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":7}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951}},"df":1}}},"ş":{"docs":{},"df":0,"k":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":9,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":9}}},"d":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":19,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}}}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795}},"df":9}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}},"w":{"docs":{"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":4}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":17}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":19}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":15}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":17}}}}},"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":5}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":3.1622776601683795},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":3.1622776601683795},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":2.23606797749979}},"df":11}}}},"r":{"docs":{"https://spike.ist/community/hello/":{"tf":1.4142135623730951}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/hello/":{"tf":1.4142135623730951}},"df":1}}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":4},"z":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772}},"df":1},"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":6,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":2}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":4.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.4641016151377544},"https://spike.ist/usage/configuration/":{"tf":2.6457513110645907}},"df":9,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979}},"df":18},"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":3}}}}}},"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":34,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":3}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3}},"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0}},"df":2}},"k":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.8284271247461903}},"df":9}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0}},"df":3}},"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":1,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":1}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.872983346207417}},"df":4,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":1}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":3.0},"https://spike.ist/development/local-deployment/":{"tf":2.449489742783178},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":2.23606797749979},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":17},"t":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":12,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":2}}}}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}},"ş":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"ı":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":7}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1},"i":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":5}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":3.3166247903554},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":33,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772}},"df":1,".":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951}},"df":1}}}}}}},":":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"s":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":31,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":9,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":2,"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":3}}}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}},"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"p":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}}}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":20}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.4142135623730951}},"df":1},"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":5,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":16,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":4}}}}}}},"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951}},"df":1}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178}},"df":4},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":4}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":11}}},"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772}},"df":5}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":8}}}}},"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":2.449489742783178},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":4.58257569495584},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":25,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":4}}},"s":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":5}}}}}}}},"t":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":2.0},"https://spike.ist/getting-started/quickstart/":{"tf":3.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178}},"df":4}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":3}},"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":25,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":3}},"o":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":3,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.6457513110645907},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":11,".":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"g":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":7}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":2,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":3,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2}},"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":2}}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":26,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}}},"i":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":4.898979485566356},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":41,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.23606797749979}},"df":10,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}}},"’":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":2},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"u":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":8}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":2.6457513110645907},"https://spike.ist/community/presentations/":{"tf":3.0},"https://spike.ist/development/local-deployment/":{"tf":2.449489742783178},"https://spike.ist/getting-started/quickstart/":{"tf":2.23606797749979},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6,"—":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"n":{"docs":{},"df":0,"(":{"docs":{},"df":0,")":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{},"df":0,"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}}},"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"’":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}},"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.47213595499958},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.6457513110645907},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.4641016151377544},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":16,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":10}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}}}}},"g":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1},"z":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772}},"df":4}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3},"m":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.6457513110645907}},"df":2,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.3166247903554},"https://spike.ist/usage/cli/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/operator/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/policy/":{"tf":3.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":17}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0}},"df":3}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":10,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.6457513110645907},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/":{"tf":1.7320508075688772},"https://spike.ist/community/contact/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":2.23606797749979},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":56}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":5,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}}}}},"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":33}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979}},"df":9}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":15},"x":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":31}},"i":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":11},"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":3}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":3.3166247903554},"https://spike.ist/architecture/system-overview/":{"tf":3.872983346207417},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":2.6457513110645907},"https://spike.ist/operations/production/":{"tf":3.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":41,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979}},"df":6}}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":11,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":9}}},"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951}},"df":5,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2}}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3}}}}},"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}},"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":3.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/architecture/system-overview/":{"tf":3.1622776601683795},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":2.8284271247461903},"https://spike.ist/operations/production/":{"tf":5.830951894845301},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.3166247903554},"https://spike.ist/usage/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":2.449489742783178}},"df":49,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}},"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}}}}},"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":6}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":3}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}}},"j":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":2.6457513110645907}},"df":10,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"1":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}},"q":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":33}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.6457513110645907}},"df":21,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":15}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":22}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":6}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}},"m":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":7,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0}},"df":5}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/local-deployment/":{"tf":3.4641016151377544},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":4.47213595499958},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":19,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":5,"d":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"’":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":6}},"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":34,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951}},"df":1},"—":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":36}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3}}}}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.3166247903554},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/community/presentations/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":3.1622776601683795},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":46,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"—":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.6457513110645907}},"df":6}},"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":2}},"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":5}}}}},"p":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":4}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":14},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3}}}},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.3166247903554}},"df":3},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}}}}}},"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":3}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":4}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951}},"df":2,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":4,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/operations/release/":{"tf":3.4641016151377544},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":2,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":2}},"q":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":2.8284271247461903},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":10}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/community/contact/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.7416573867739413},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":3.872983346207417},"https://spike.ist/usage/commands/secret/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":32,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}},"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"b":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}},"—":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":9,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}}}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/":{"tf":1.4142135623730951}},"df":1}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":4}}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.449489742783178},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772}},"df":17,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"7":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":2.449489742783178},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":11}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":3}}}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":3}},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.605551275463989},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":12,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"+":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/operations/release/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"+":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":27,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979}},"df":1}}}}}}}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":9}}}},"t":{"docs":{"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907}},"df":1}},"w":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.4641016151377544},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":3.3166247903554},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":4.242640687119285},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":44,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":3.7416573867739413},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":16,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"5":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"q":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":35}},"y":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}},"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":10}}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1},"s":{"docs":{"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":38}},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":12}}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0}},"df":3}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":13}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":6}},"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.6457513110645907}},"df":12,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"e":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":4},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":3.605551275463989},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":3.1622776601683795}},"df":14,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.6457513110645907}},"df":2}}},"v":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979}},"df":1}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0}},"df":2}}},"o":{"docs":{"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":4.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":8,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.0}},"df":2}}}}}},"n":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":15}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/development/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":2.0},"https://spike.ist/getting-started/quickstart/":{"tf":3.3166247903554},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.7416573867739413},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":27,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"—":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.449489742783178},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0}},"df":4}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":3},"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979}},"df":5,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":2.449489742783178},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":39}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951}},"df":1}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":30}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.872983346207417},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.0}},"df":17}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":5,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}},"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951}},"df":6,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":2,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}}}}},"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"2":{"docs":{},"df":0,"3":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}},"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/contact/":{"tf":1.4142135623730951},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":2.6457513110645907},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/":{"tf":1.4142135623730951},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":35,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}}}}}}}}}}}}},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":2}},"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.0}},"df":1}},"o":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.8284271247461903},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":3.605551275463989}},"df":1}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":24,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}}}}}}}},"g":{"docs":{"https://spike.ist/usage/cli/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}}},"l":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":35,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":10}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":38}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":3.4641016151377544},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":4}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":3.3166247903554},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":16}}},"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772}},"df":1}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}}}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951}},"df":5}}}},"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.449489742783178},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":10},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":30}}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.6457513110645907},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":15}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1},"s":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":1}}}},"n":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951}},"df":1},"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4,"c":{"docs":{"https://spike.ist/operations/release/":{"tf":1.7320508075688772}},"df":1,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":3.1622776601683795},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"k":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":29}}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/resources/":{"tf":1.7320508075688772},"https://spike.ist/development/api-docs/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":2.449489742783178},"https://spike.ist/tracking/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":5.385164807134504},"https://spike.ist/tracking/snapshots/":{"tf":2.23606797749979},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":45}}}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":3},"’":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":8}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":3}}},"w":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951}},"df":1,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":1,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0}},"df":3},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":7}}}},"o":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":3}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":15},"m":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1},"p":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.1622776601683795}},"df":2}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":2.6457513110645907}},"df":2}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":15}},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2}}},"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}},"ü":{"docs":{},"df":0,"n":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":19}},"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":3.1622776601683795},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":17}},"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":6,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":9}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":3}}}}}}}},"d":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":3},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":13}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":11}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":4}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951}},"df":1}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":4}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/community/contact/":{"tf":1.7320508075688772}},"df":1}}},"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":8}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":4}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":3.605551275463989},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":15,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.23606797749979}},"df":2,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,")":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":3}}}}},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":2.23606797749979},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.6457513110645907},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":3.1622776601683795},"https://spike.ist/operations/production/":{"tf":3.3166247903554},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":4.69041575982343},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":30,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":3,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":5}}}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":34}}}},"g":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/community/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951}},"df":1}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":13}}}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772}},"df":1}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":7}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":3.0},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":4.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":28}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772}},"df":3}}}}}},"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":9},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}}}},"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.3166247903554},"https://spike.ist/operations/recovery/":{"tf":3.3166247903554},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.449489742783178}},"df":17,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178}},"df":1,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"“":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"v":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":2.0}},"df":1,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":3.3166247903554},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":19,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}},"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1,"s":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}},"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":6.164414002968976},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":6.928203230275509},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":5.5677643628300215},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":34,"\"":{"docs":{},"df":0,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772}},"df":1}}}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0}},"df":3},"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.0}},"df":2}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":8}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":12}}}}}}}},"t":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}}}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"w":{"docs":{},"df":0,"s":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}},"d":{"docs":{"https://spike.ist/about/intro/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":5}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":15,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":11,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":2}}},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.7320508075688772}},"df":6}},"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":2}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":2}}}},"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.0}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/secret/":{"tf":3.1622776601683795},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":23,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":1}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2},"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":2}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772}},"df":1}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":5}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":12,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":2.449489742783178}},"df":23}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":4}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":14}},"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":8,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"t":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951}},"df":1}}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951}},"df":3}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.4142135623730951}},"df":6}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":6}}}}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}},"r":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":5}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":5,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":7}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":3.4641016151377544}},"df":30}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":7}},"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772}},"df":6}}},"r":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":1,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":3}}},"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}}},"ğ":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}},"f":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":4},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":4}}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":16,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"5":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772}},"df":17}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":3,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951}},"df":3}}}},"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}}}}}},"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":4},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}},"v":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":16}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3}}},"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772}},"df":1}}}}},"l":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":4}}},"w":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772}},"df":5}}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":2.0}},"df":5,"b":{"docs":{},"df":0,"y":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":3.605551275463989},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/cipher/":{"tf":3.872983346207417},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":43,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6}}}}}},"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":4}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":10},"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":10,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}},"p":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":2.6457513110645907},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":2},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":37}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":2},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":6.557438524302},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":6}},"j":{"docs":{},"df":0,"c":{"docs":{},"df":0,"5":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":7,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":2}}}}}}}}},"k":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}},"w":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":17}}}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":3.1622776601683795},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4}},"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"m":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"(":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772}},"df":1}}}}}}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":14}}},"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":5}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":3.3166247903554},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":3.4641016151377544},"https://spike.ist/development/local-deployment/":{"tf":3.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.449489742783178},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":33,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"—":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}}}}}}},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1}}}}}},"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}},"m":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":31,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":2.6457513110645907}},"df":11,"=":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":4}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":7}}}},"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951}},"df":1}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":8}}}}}}},"e":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0}},"df":4,"z":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951}},"df":1}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2,"y":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772}},"df":3}}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951}},"df":2}}}}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":13,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}},"n":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.872983346207417},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":38,".":{"docs":{},"df":0,"6":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":6}}}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":8}}}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":20}}}},"v":{"docs":{},"df":0,"9":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":2}}}}}}}}}},"p":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.6457513110645907},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":32}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":2.6457513110645907},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":21,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":1}}}}}},"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":28,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.4142135623730951},"https://spike.ist/community/resources/":{"tf":1.4142135623730951},"https://spike.ist/development/api-docs/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":8}}},"o":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":2}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":6}}},"o":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":3.1622776601683795}},"df":1,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951}},"df":2,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}},"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/community/resources/":{"tf":1.4142135623730951},"https://spike.ist/development/api-docs/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":3.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":5.0990195135927845},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":13,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"=":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"1":{"docs":{},"df":0,"4":{"docs":{},"df":0,"0":{"docs":{},"df":0,"=":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2,"n":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"1":{"docs":{},"df":0,"4":{"docs":{},"df":0,"0":{"docs":{},"df":0,"=":{"docs":{},"df":0,"v":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}}}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"x":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":5,"b":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":1}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}},"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":5}},"p":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":2},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":10}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":5},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"q":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":3}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"w":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":8}}}},"d":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":5.196152422706632},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":30,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"y":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.8284271247461903},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.6457513110645907},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":16,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":13}}}}}}},"ü":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}},"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":4,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":2.6457513110645907},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1,"i":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":28,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}},"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}},"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}}}}}}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.8284271247461903},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":4,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772}},"df":1}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"—":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}}}}}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0}},"df":2}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":3.3166247903554},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":8},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}},"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772}},"df":2,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951}},"df":2}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.4142135623730951}},"df":1,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772}},"df":5,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772}},"df":2}}}},"v":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2},"l":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0}},"df":5}},"m":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":3.1622776601683795},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178}},"df":4},"p":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":13,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":17,"’":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}},"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":1}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{"https://spike.ist/community/contact/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":2}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":4,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}}}}}}},"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":32,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772}},"df":2,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}}}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":11}}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951}},"df":6,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":30}}}},"m":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/operations/build/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.0}},"df":3,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"’":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":3.3166247903554}},"df":32,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"%":{"docs":{},"df":0,"2":{"docs":{},"df":0,"7":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"k":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"k":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"df":0,"w":{"docs":{},"df":0,"w":{"docs":{},"df":0,".":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":31}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951}},"df":1}}}},"y":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951}},"df":1}}}},"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2}}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":1}}}}}},"i":{"docs":{},"df":0,".":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":5},"/":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}},"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":4.358898943540674},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":17,"e":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/contact/":{"tf":1.0}},"df":1,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":3}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/":{"tf":1.7320508075688772},"https://spike.ist/about/intro/":{"tf":2.23606797749979},"https://spike.ist/architecture/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":3.605551275463989},"https://spike.ist/community/presentations/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/policy/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/secret/":{"tf":2.8284271247461903}},"df":18,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0}},"df":1,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":8}}}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}},"l":{"docs":{"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":1},"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0}},"df":1}},"f":{"docs":{},"df":0,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}},"g":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"ı":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"l":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}},"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0}},"df":2}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":3.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":9}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":15,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.23606797749979},"https://spike.ist/operations/production/":{"tf":3.872983346207417},"https://spike.ist/tracking/changelog/":{"tf":3.7416573867739413},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":38,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6}},"s":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":4.358898943540674}},"df":12}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}},"d":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}}}}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":24}}},"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":8}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":14}},"d":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":3}}}},"x":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":2},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951}},"df":5}}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":3}}}}}},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":13,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"5":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":13}}}}}}}}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":3.3166247903554},"https://spike.ist/community/contact/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.605551275463989},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":20,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":5}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":3,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":2.449489742783178},"https://spike.ist/getting-started/quickstart/":{"tf":3.605551275463989},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":9},"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":2.449489742783178}},"df":12},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":4.123105625617661},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":8}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":7}}}}},"u":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":2.449489742783178},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":21}},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}},"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":30,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":9}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":19}}},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":8,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1,":":{"docs":{},"df":0,"4":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"/":{"docs":{},"df":0,"g":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}}}}}}}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772}},"df":1}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772}},"df":1}}}}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951}},"df":1}}}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":4,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":5,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"—":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":2.6457513110645907},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":8,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.23606797749979}},"df":1},"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":5}}}}},"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979}},"df":2,"v":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2}}}}}}}},"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":3.0}},"df":9}},"s":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":2.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":20,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2},"r":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":8}}}},"—":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"’":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":7,"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/community/contact/":{"tf":1.0}},"df":1}}}},"̇":{"docs":{},"df":0,"ç":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}},"j":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0}},"df":2}}}}}}}}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}},"j":{"docs":{},"df":0,"9":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0}},"df":1,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":7,"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":3,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":2}}}}}}},"k":{"docs":{},"df":0,"8":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1},"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"ı":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"k":{"docs":{},"df":0,"ı":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":18,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":5.916079783099616},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":4.242640687119285},"https://spike.ist/architecture/system-overview/":{"tf":6.164414002968976},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":2.449489742783178},"https://spike.ist/operations/production/":{"tf":5.291502622129181},"https://spike.ist/operations/recovery/":{"tf":3.1622776601683795},"https://spike.ist/tracking/changelog/":{"tf":3.605551275463989},"https://spike.ist/usage/configuration/":{"tf":3.0}},"df":39,"(":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":5.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":4.795831523312719},"https://spike.ist/architecture/system-overview/":{"tf":6.082762530298219},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":4.795831523312719},"https://spike.ist/operations/production/":{"tf":4.898979485566356},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/cipher/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":3.4641016151377544},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":49,".":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}}}},"’":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772}},"df":2}},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}},"m":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":6,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":5}}}},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":3}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}},"ş":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951}},"df":3}}},"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":4.47213595499958},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":2.0},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":3.605551275463989},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":12,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}},"—":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}}}}}}}}},"v":{"docs":{},"df":0,".":{"docs":{},"df":0,"k":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":6}},"g":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":6},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4}}}},"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":14}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":6,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772}},"df":1}}},"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979}},"df":3,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":2}}},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":10}},"v":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1},"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}}}}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1,"’":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":2.0}},"df":3}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":18},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":7}}}}}},"i":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}},"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":3},"y":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"k":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}}}}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951}},"df":1}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":35}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}}}}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":5}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":2}}}}}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":22,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"=":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"=":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":8,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}},"k":{"docs":{"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":3},"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.0},"https://spike.ist/development/local-deployment/":{"tf":2.449489742783178},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.449489742783178},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":10}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":2.8284271247461903}},"df":13,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":2,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":7}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":10,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":3.605551275463989},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.6457513110645907},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":15},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":11,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.8284271247461903},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":10,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"/":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":1}}}}},"g":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":6.082762530298219},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":4.69041575982343},"https://spike.ist/tracking/changelog/":{"tf":4.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":35,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}},"l":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":13},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3}},"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":4,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":5}}}},"o":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3,"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"p":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":3},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":8},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":9}},"t":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":3},"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772}},"df":3}}}},"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":2.23606797749979},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.8284271247461903},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":10,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":1}},"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":6}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":39}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":8}}}}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.8284271247461903},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":2.8284271247461903},"https://spike.ist/tracking/changelog/":{"tf":3.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":23,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":1}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":2}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/intro/":{"tf":2.8284271247461903},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.872983346207417},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/architecture/system-overview/":{"tf":3.7416573867739413},"https://spike.ist/community/presentations/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.449489742783178},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/operator/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":3.0},"https://spike.ist/usage/commands/secret/":{"tf":3.3166247903554}},"df":52,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":3,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":4}}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.449489742783178},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":14}}}},"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":4.69041575982343},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":34,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":2}}},"x":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.8284271247461903}},"df":4}}}}}},"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":13,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0}},"df":3}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.0}},"df":5}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":39}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":5}}}},"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}},"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":3.605551275463989},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":6.164414002968976},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":4.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":42}}}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}},"u":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":4}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.69041575982343},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":31,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}}},"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":3.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":8}}}},"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":2.449489742783178}},"df":2}}}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795}},"df":34}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":3}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}}}}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.23606797749979}},"df":9}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"i":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1,"k":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":2.8284271247461903},"https://spike.ist/getting-started/quickstart/":{"tf":3.605551275463989}},"df":3}}},"m":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178}},"df":38,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28}}}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":4}}},"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":2}},"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.4142135623730951}},"df":1}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":6,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"—":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":4},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}}}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":10}}},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":2}},"k":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"(":{"docs":{},"df":0,"m":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/cipher/":{"tf":4.358898943540674},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":11,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.3166247903554},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":37},"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9}}},"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":4}}},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.8284271247461903}},"df":19}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":27,"o":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178}},"df":5,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":35}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":5}},"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":36,"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":22}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3}}}}}},"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979}},"df":36,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":32}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}},"v":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":10}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":4}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}},"b":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":28}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951}},"df":1},"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":13}}}}}}},"e":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":3.605551275463989},"https://spike.ist/development/bare-metal/":{"tf":2.0},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":2.23606797749979},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":44,"s":{"docs":{},"df":0,"–":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}}}},"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":29,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":2}}}},"t":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}}}}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":11,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":6}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":10}}},"w":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":2.6457513110645907},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":21,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6},"u":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":4.58257569495584},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":4.795831523312719},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":3.605551275463989},"https://spike.ist/architecture/system-overview/":{"tf":6.782329983125268},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":2.449489742783178},"https://spike.ist/operations/backup/":{"tf":3.1622776601683795},"https://spike.ist/operations/production/":{"tf":4.242640687119285},"https://spike.ist/operations/recovery/":{"tf":3.605551275463989},"https://spike.ist/tracking/changelog/":{"tf":6.4031242374328485},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/operator/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":3.1622776601683795}},"df":47,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"b":{"docs":{},"df":0,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"b":{"docs":{},"df":0,"k":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{},"df":0,"2":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}},"’":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}},"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":3.0}},"df":1,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":9}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0}},"df":4}},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":11,"c":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":4.242640687119285},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":31,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/cli/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":7}}}},"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}},"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":25},"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2},"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951}},"df":1,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}},"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":6.557438524302},"https://spike.ist/usage/cli/":{"tf":1.4142135623730951}},"df":9}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":3.1622776601683795},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":3.4641016151377544}},"df":9}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":3}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":3}}}},"f":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":7}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":6}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":2}}},"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/usage/cli/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":18,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,":":{"docs":{},"df":0,"8":{"docs":{},"df":0,"4":{"docs":{},"df":0,"4":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}},"5":{"docs":{},"df":0,"5":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":11},"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":4}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}}}},"p":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0}},"df":1,"q":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":6,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0}},"df":1}}},"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":4.47213595499958},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.872983346207417},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":6.082762530298219},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":5.291502622129181},"https://spike.ist/architecture/system-overview/":{"tf":4.47213595499958},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":2.23606797749979},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.0},"https://spike.ist/operations/recovery/":{"tf":3.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.3166247903554},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":3.605551275463989},"https://spike.ist/usage/commands/operator/":{"tf":4.242640687119285},"https://spike.ist/usage/commands/policy/":{"tf":3.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":61,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"1":{"docs":{},"df":0,"5":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}},"6":{"docs":{},"df":0,"5":{"docs":{},"df":0,"5":{"docs":{},"df":0,"3":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}},"’":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"=":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}},"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":19}}}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.6457513110645907}},"df":7,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":2}}}}}}}}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":5}}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":7,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":17,"\"":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}},"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":6}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":5}}},"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":8}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":2}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":10,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":15,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":3}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":1.0}},"df":31}}}},"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":5}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}}}}}}}}},"p":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":31}}}},"g":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":9}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"r":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":2.6457513110645907}},"df":1}},"m":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951}},"df":1},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":8}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":4,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":3}}}}}}}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":13,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"h":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":4.898979485566356},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/cipher/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":4.242640687119285},"https://spike.ist/usage/commands/secret/":{"tf":6.782329983125268},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":41,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":5.291502622129181},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/policy/":{"tf":6.324555320336759},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":38,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}},"b":{"docs":{},"df":0,"k":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2,"s":{"docs":{},"df":0,"—":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":7,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":27}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":10}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":4.69041575982343},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":13,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"—":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":35,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"(":{"docs":{},"df":0,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":4.123105625617661}},"df":1}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772}},"df":3}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":2.0}},"df":1}}}},"e":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":3.4641016151377544},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":39,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6}}}}},"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}},"k":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/development/api-docs/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":7,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":30,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.449489742783178}},"df":3,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}}}}}}},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.0}},"df":6,"e":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":7}},"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9}}}}},"y":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":5}}},"u":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1,"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":4.69041575982343},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":32}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951}},"df":1}}}}},"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0}},"df":2,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":8}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":4.898979485566356},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":4.898979485566356},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":4.47213595499958},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.8284271247461903},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":5.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":9.0},"https://spike.ist/usage/commands/secret/":{"tf":2.8284271247461903}},"df":28,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}}}},"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"—":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}}}},"’":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":1}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"l":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772}},"df":31,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}},"p":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":2,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":30}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":15}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":3,"g":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"q":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":19}}}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}},"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":3.3166247903554},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":21}}}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":2}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772}},"df":2}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":3}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":5}},"i":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3}}},"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951}},"df":1}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":4}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":1}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0}},"df":7}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0}},"df":2},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.23606797749979},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":9}},"r":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}},"s":{"docs":{"https://spike.ist/operations/release/":{"tf":1.4142135623730951}},"df":1,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.4641016151377544},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":20}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":5,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4}}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":35,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":4}}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":13}}}},"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":1}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.6457513110645907},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.7416573867739413},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":13,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"=":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,")":{"docs":{},"df":0,"—":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951}},"df":1},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":10,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":2}}}}}},"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":3.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":15}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":4.242640687119285},"https://spike.ist/operations/release/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":25}}}},"d":{"docs":{},"df":0,"3":{"docs":{},"df":0,"5":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}},"5":{"docs":{},"df":0,"7":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"t":{"docs":{"https://spike.ist/":{"tf":1.4142135623730951},"https://spike.ist/about/project-status/":{"tf":1.7320508075688772},"https://spike.ist/architecture/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.3166247903554},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":21}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":3}}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}}}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":2.23606797749979},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":8,"’":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"y":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951}},"df":1}},"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":17,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":7}},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":3},"y":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":2}}}}}}}},"o":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":3}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.7416573867739413},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":4.123105625617661},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":19,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951}},"df":3}}},"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":2}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/architecture/system-overview/":{"tf":3.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":39},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772}},"df":2}}},"x":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979}},"df":2,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/development/api-docs/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":1}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":3},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":8}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":1.4142135623730951}},"df":3}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951}},"df":4}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4}}}}},"u":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":3}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772}},"df":6}}}}}}}},"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1,"a":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.449489742783178}},"df":1}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}}},"g":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":18}}}}}},"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":2}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}},"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772}},"df":9,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":4,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,":":{"docs":{},"df":0,"8":{"docs":{},"df":0,"5":{"docs":{},"df":0,"5":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":23,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":31}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":6},"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"y":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":11}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}}}}},"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":7}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":5}},"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":14}}}}},"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951}},"df":2}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":6}}}}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":35}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":3.4641016151377544},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":2.6457513110645907},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":14,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1,"i":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":5.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.4641016151377544},"https://spike.ist/architecture/system-overview/":{"tf":4.123105625617661},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":3.1622776601683795},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.1622776601683795},"https://spike.ist/operations/recovery/":{"tf":3.1622776601683795},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":5.5677643628300215},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":48},"y":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":3}}}}}}}},"o":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":24},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":8,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979}},"df":2}}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.7320508075688772}},"df":22}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951}},"df":1}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":4}}},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":4,"p":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":2.449489742783178}},"df":2}}}}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772}},"df":9,"i":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.7416573867739413},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":3.4641016151377544}},"df":36,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":7}}}}}}},"h":{"docs":{},"df":0,"y":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951}},"df":10}}}},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":10},"x":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"y":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":4.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":9}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":10}},"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":6,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.0}},"df":14}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":14}},"p":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3}}},"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907}},"df":10}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772}},"df":1}}},"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":6},"y":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":3,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}}}},"o":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":2.0}},"df":2,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":3.3166247903554},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":7}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":8}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":1}}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":16,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":1}}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":3.1622776601683795},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.449489742783178},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":45}}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":2.0}},"df":5}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":4},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":10}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":2}},"v":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":4.123105625617661}},"df":14}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":41}}}},"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":13,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":12,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":1}}}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.4641016151377544},"https://spike.ist/architecture/system-overview/":{"tf":3.1622776601683795},"https://spike.ist/operations/backup/":{"tf":4.123105625617661},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":3.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":4.358898943540674},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":39,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.4641016151377544},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":35}}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":9}},"m":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":2}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":4,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"v":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":14}}},"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.872983346207417},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":11}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":1}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":8}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951}},"df":1},"k":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":1}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":5}}},"s":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":14,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":12,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":3.1622776601683795},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":3.7416573867739413}},"df":8,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":2}}}}}},"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":4.242640687119285},"https://spike.ist/architecture/system-overview/":{"tf":5.385164807134504},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":4.358898943540674},"https://spike.ist/operations/production/":{"tf":4.47213595499958},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.8284271247461903},"https://spike.ist/usage/configuration/":{"tf":2.6457513110645907}},"df":43,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":2.449489742783178}},"df":1}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":4.58257569495584},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979}},"df":10,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":4.69041575982343},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907}},"df":31,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":10}},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":3.7416573867739413},"https://spike.ist/development/local-deployment/":{"tf":2.6457513110645907},"https://spike.ist/development/sdk-integration/":{"tf":2.0},"https://spike.ist/getting-started/quickstart/":{"tf":3.3166247903554},"https://spike.ist/operations/build/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":4.69041575982343},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":3.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":18,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}}}},"e":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772}},"df":8}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":5.291502622129181},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":30,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":1}}}}}},"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772}},"df":1}},"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":12,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4},"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}},"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":9},"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":7}}},"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":5}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":9}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":6}},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":16}}}},"e":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":3}}},"m":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979}},"df":6}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.8284271247461903},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":17}}},"u":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"d":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.3166247903554},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/community/resources/":{"tf":1.4142135623730951},"https://spike.ist/development/api-docs/":{"tf":2.0},"https://spike.ist/development/sdk-integration/":{"tf":2.6457513110645907},"https://spike.ist/operations/release/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":6.164414002968976}},"df":11,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":2}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951}},"df":2,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951}},"df":1}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/":{"tf":1.7320508075688772},"https://spike.ist/about/intro/":{"tf":5.916079783099616},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":4.69041575982343},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":5.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":4.0},"https://spike.ist/architecture/system-overview/":{"tf":4.47213595499958},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":4.58257569495584},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":3.7416573867739413},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":3.1622776601683795},"https://spike.ist/operations/production/":{"tf":3.1622776601683795},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":4.69041575982343},"https://spike.ist/usage/cli/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/secret/":{"tf":8.0},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":55,"#":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"?":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"\\":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"*":{"docs":{},"df":0,"*":{"docs":{},"df":0,"^":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,".":{"docs":{},"df":0,"*":{"docs":{},"df":0,"$":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"^":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"[":{"docs":{},"df":0,"^":{"docs":{},"df":0,"/":{"docs":{},"df":0,"]":{"docs":{},"df":0,"*":{"docs":{},"df":0,"$":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}},"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951}},"df":1,"*":{"docs":{},"df":0,"^":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,".":{"docs":{},"df":0,"*":{"docs":{},"df":0,"$":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":2}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}},"v":{"docs":{},"df":0,"1":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":1}}}}}},"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":3.1622776601683795},"https://spike.ist/architecture/":{"tf":2.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":3.872983346207417},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":6.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.872983346207417},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.23606797749979},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":5.196152422706632},"https://spike.ist/architecture/system-overview/":{"tf":5.196152422706632},"https://spike.ist/community/hello/":{"tf":2.0},"https://spike.ist/community/presentations/":{"tf":2.8284271247461903},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":3.4641016151377544},"https://spike.ist/operations/production/":{"tf":8.426149773176359},"https://spike.ist/operations/recovery/":{"tf":2.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":4.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":4.358898943540674},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":2.8284271247461903}},"df":52,"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}},"e":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":13,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1},"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}},"g":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}},"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951}},"df":3},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979}},"df":2}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":5,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"—":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"s":{"docs":{"https://spike.ist/usage/cli/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":2}},"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":4.123105625617661},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":16}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":3.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2}}}}}},"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772}},"df":2},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":40}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"v":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":13,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.605551275463989},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":5.0990195135927845},"https://spike.ist/operations/recovery/":{"tf":2.6457513110645907},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":15,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"5":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}},"’":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":18,"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}}}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":3.872983346207417},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.0}},"df":29}}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/local-deployment/":{"tf":2.6457513110645907},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":4.69041575982343},"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":17,"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":16}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979}},"df":6}}}},"g":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"h":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2,"2":{"docs":{},"df":0,"5":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}},"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":6,"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":6}}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.4641016151377544},"https://spike.ist/architecture/system-overview/":{"tf":6.855654600401044},"https://spike.ist/operations/backup/":{"tf":4.358898943540674},"https://spike.ist/operations/production/":{"tf":3.605551275463989},"https://spike.ist/operations/recovery/":{"tf":3.0},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/operator/":{"tf":5.5677643628300215},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":39,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.6457513110645907},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":3.1622776601683795},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":16}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":3}},"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}},"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}},"w":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.23606797749979},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":10,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":2}}},"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":2}}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.6457513110645907},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":6,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}}}}},"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}},"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":9,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":3}}}}}},"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":13,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":12},"f":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":16}}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":3}}}}}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":2.449489742783178}},"df":24},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":2}}}},"z":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":4.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":32,"1":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}},"3":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":2}}}}},"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":5}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/community/contact/":{"tf":2.23606797749979},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951}},"df":3}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":3.7416573867739413}},"df":3}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951}},"df":5}}}}}},"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.4142135623730951}},"df":1}}},"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3,"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":2}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":2.23606797749979}},"df":3}}}}}},"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/cli/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":4}}}},"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":1,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":3}}}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":4},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":14}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":2.0},"https://spike.ist/development/local-deployment/":{"tf":2.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":17,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":4}},"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}},"w":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}},"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":2.8284271247461903}},"df":26,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":6}}}},"e":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1},"f":{"docs":{"https://spike.ist/":{"tf":1.7320508075688772},"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/about/project-status/":{"tf":1.4142135623730951},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.0},"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/community/contact/":{"tf":2.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.8284271247461903},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.6457513110645907},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":3.0},"https://spike.ist/operations/recovery/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":3.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":4.0},"https://spike.ist/usage/commands/secret/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":2.8284271247461903}},"df":53,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":5}}}}},":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"$":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":3}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":4}}}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":3}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}}}},"\\":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}}}}}}}},"’":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0}},"df":2}}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/":{"tf":1.4142135623730951},"https://spike.ist/about/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":3.3166247903554},"https://spike.ist/about/project-status/":{"tf":2.6457513110645907},"https://spike.ist/architecture/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":4.358898943540674},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":5.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":4.47213595499958},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":4.358898943540674},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":4.58257569495584},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":7.0710678118654755},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":6.928203230275509},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":5.385164807134504},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":5.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":4.58257569495584},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":5.477225575051661},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":4.358898943540674},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":4.123105625617661},"https://spike.ist/architecture/architectural-decision-records/":{"tf":4.47213595499958},"https://spike.ist/architecture/security-model/":{"tf":8.660254037844387},"https://spike.ist/architecture/system-overview/":{"tf":12.041594578792296},"https://spike.ist/community/contact/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":2.6457513110645907},"https://spike.ist/community/presentations/":{"tf":5.916079783099616},"https://spike.ist/community/resources/":{"tf":2.6457513110645907},"https://spike.ist/development/":{"tf":1.7320508075688772},"https://spike.ist/development/api-docs/":{"tf":3.605551275463989},"https://spike.ist/development/bare-metal/":{"tf":6.6332495807108},"https://spike.ist/development/local-deployment/":{"tf":4.58257569495584},"https://spike.ist/development/sdk-integration/":{"tf":4.0},"https://spike.ist/getting-started/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":5.656854249492381},"https://spike.ist/operations/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":5.744562646538029},"https://spike.ist/operations/build/":{"tf":3.1622776601683795},"https://spike.ist/operations/production/":{"tf":9.643650760992955},"https://spike.ist/operations/recovery/":{"tf":7.211102550927978},"https://spike.ist/operations/release/":{"tf":4.242640687119285},"https://spike.ist/tracking/changelog/":{"tf":9.9498743710662},"https://spike.ist/tracking/snapshots/":{"tf":2.0},"https://spike.ist/usage/":{"tf":2.0},"https://spike.ist/usage/cli/":{"tf":4.242640687119285},"https://spike.ist/usage/commands/":{"tf":3.0},"https://spike.ist/usage/commands/cipher/":{"tf":4.898979485566356},"https://spike.ist/usage/commands/operator/":{"tf":5.0990195135927845},"https://spike.ist/usage/commands/policy/":{"tf":6.48074069840786},"https://spike.ist/usage/commands/secret/":{"tf":5.916079783099616},"https://spike.ist/usage/configuration/":{"tf":7.745966692414834}},"df":68,"'":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":3},")":{"docs":{},"df":0,"&":{"docs":{},"df":0,"n":{"docs":{},"df":0,"b":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1}}}}}},".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}}},"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}}}}},"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}}}},"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"_":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"=":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}},"’":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.449489742783178},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":38}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":2.449489742783178},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":4.123105625617661},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":3.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":6.782329983125268},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":15,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}}},"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":1}},"o":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"w":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}},"q":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.8284271247461903},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":34,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"s":{"docs":{},"df":0,"q":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"3":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":3}}}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}}}},"s":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":4}},"l":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}},"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":4}},"g":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":3.605551275463989},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":35}}}}},"r":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":4.358898943540674},"https://spike.ist/development/local-deployment/":{"tf":2.0},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":2.8284271247461903},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":32,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":2}},"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":8,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1}}}}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":14,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}},"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":31}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":7}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}},"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":33,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}},"y":{"docs":{"https://spike.ist/tracking/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":2.0}},"df":1}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.0}},"df":3}}}},"e":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.4142135623730951}},"df":10}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":7}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}},"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951}},"df":8},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":4.58257569495584},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":5.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":4.358898943540674},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":4.795831523312719},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.6457513110645907},"https://spike.ist/architecture/architectural-decision-records/":{"tf":2.449489742783178},"https://spike.ist/architecture/security-model/":{"tf":3.3166247903554},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":2.23606797749979},"https://spike.ist/operations/production/":{"tf":3.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":41,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}},"e":{"docs":{"https://spike.ist/":{"tf":1.4142135623730951},"https://spike.ist/about/intro/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":3.3166247903554},"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.449489742783178},"https://spike.ist/operations/production/":{"tf":3.7416573867739413},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":47,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":31}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.8284271247461903}},"df":4,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":8,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5}}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772}},"df":1}},"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":4}},"p":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":13,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":11,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}},"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}}}},"u":{"docs":{"https://spike.ist/operations/recovery/":{"tf":2.0}},"df":1,"b":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":4}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}},"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":4,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":1}}}}}}},"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":3}}}}}}}}},"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9}},"d":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":8}},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.449489742783178}},"df":3}}}}},"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"’":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":5,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"l":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}},"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0}},"df":7}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":42,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":6},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":13}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.449489742783178},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":12}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.605551275463989},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":30}}}}},"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":3,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951}},"df":1}}}},"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":31}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":5}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":4.47213595499958},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.23606797749979},"https://spike.ist/architecture/architectural-decision-records/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":4.58257569495584},"https://spike.ist/architecture/system-overview/":{"tf":5.477225575051661},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":4.69041575982343},"https://spike.ist/operations/recovery/":{"tf":3.3166247903554},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":3.7416573867739413},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":50,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}},"d":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":2},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}},"—":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":9}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772}},"df":1,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}},"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":34},"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}},"l":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":5}}}},"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":5}}}},"s":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":6,"@":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0}},"df":2}}}}}}}}}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5},"q":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/hello/":{"tf":1.0}},"df":2}}}}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":4.0}},"df":1,"a":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,"1":{"docs":{},"df":0,"/":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1},"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772}},"df":2,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":2.6457513110645907},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":3.0},"https://spike.ist/tracking/changelog/":{"tf":3.872983346207417},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":40,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}},"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":30}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.4142135623730951}},"df":3}},"t":{"docs":{},"df":0,"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":7}}},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}},"’":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"’":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":7},"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951}},"df":1}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951}},"df":1}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":5}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":8,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772}},"df":1}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":4},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":4,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":1}}}},"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":29,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":3}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":3,"m":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":2}},"m":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":19,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"6":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.6457513110645907}},"df":3}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5}}}}}}}},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":6},"m":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":2}}}}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}},"o":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":4.58257569495584},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":4}}},"o":{"docs":{},"df":0,".":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"l":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":35,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772}},"df":2,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":3}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":6}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.7320508075688772}},"df":2}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":2}}}},"k":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":35}},"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":6,"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":12},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951}},"df":2}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":3}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951}},"df":1}}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":34}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":2}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":4}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}},"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":1}},"i":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.7320508075688772}},"df":4,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":2}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":3}}}}}}}}}},"u":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":4},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.1622776601683795},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":3.605551275463989}},"df":40,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}}}},"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":4}},"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":8}},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":7,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":4}},"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"ü":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{},"df":0,"ç":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,".":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1},"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951}},"df":1}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"ş":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":11}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":6}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772}},"df":1}}}},"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951}},"df":1}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":4,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}},"r":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":3}}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":2}}}}}},"x":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":4}}}}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1},"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}},"q":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":7}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":5},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0}},"df":5}}}},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":5}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":7}}},"i":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.4142135623730951}},"df":1,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":10,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}}}}}}}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":3}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"u":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1}}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":14,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":2.0},"https://spike.ist/tracking/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":5.477225575051661},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":23,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":2,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3}}}}}}},"r":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.6457513110645907},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":4}},"s":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":2.8284271247461903},"https://spike.ist/about/project-status/":{"tf":1.4142135623730951},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":4.358898943540674},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":4.358898943540674},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":4.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":4.795831523312719},"https://spike.ist/architecture/system-overview/":{"tf":4.123105625617661},"https://spike.ist/community/contact/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":3.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":4.242640687119285},"https://spike.ist/development/local-deployment/":{"tf":2.8284271247461903},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":3.872983346207417},"https://spike.ist/operations/backup/":{"tf":2.6457513110645907},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":6.4031242374328485},"https://spike.ist/operations/recovery/":{"tf":3.0},"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":4.358898943540674},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":3.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/operator/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/policy/":{"tf":5.291502622129181},"https://spike.ist/usage/commands/secret/":{"tf":3.7416573867739413},"https://spike.ist/usage/configuration/":{"tf":3.605551275463989}},"df":64,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}},"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":13}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":3.4641016151377544},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":21,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}},"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"~":{"docs":{},"df":0,"/":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}},"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}}}}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}},"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}}}}}},"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":4}}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":1}}},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"v":{"docs":{},"df":0,"$":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"2":{"docs":{},"df":0,"5":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1}}},"2":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1}}},"3":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1}}},"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"2":{"docs":{},"df":0,"5":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}},"1":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1},"2":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1},"3":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1}}},"5":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1}}},"6":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.4142135623730951}},"df":1}}}}},"2":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":3.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":24,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":2.8284271247461903},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":11,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":8,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907}},"df":11}}},"s":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":1}}}}},"e":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":3,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":9,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":18}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":4.58257569495584},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":5.0990195135927845},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":21,"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}},"’":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}},"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":21},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0}},"df":6}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"’":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}},"m":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"=":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":2}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":7,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":1}}}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":6}}}}}},"w":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":2}},"l":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":2.8284271247461903},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":10}},"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":7},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/cli/":{"tf":1.0}},"df":1}}},"y":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":15}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":2}}}},"b":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"k":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3}}},"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":15}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2}},"’":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"’":{"docs":{"https://spike.ist/operations/build/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2},"v":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":4}},"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":3}}}}},"e":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":9}}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":10}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":22}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":2.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":21,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772}},"df":1}}}}}},"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":8}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":2.449489742783178},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/secret/":{"tf":3.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":17,"’":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/community/contact/":{"tf":2.0},"https://spike.ist/community/hello/":{"tf":1.0}},"df":2}}}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0}},"df":3}},"m":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":2,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":3}}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":14,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":3.0}},"df":1,"’":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"9":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}},"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"9":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}}}}}}}},"8":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":3.4641016151377544},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3}},"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"ı":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}},"z":{"docs":{},"df":0,"ı":{"docs":{},"df":0,"l":{"docs":{},"df":0,"ı":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":2,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}},"’":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":3}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951}},"df":1}}}}},"z":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2},"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":17}}},"g":{"docs":{},"df":0,"ü":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":30,"]":{"docs":{},"df":0,")":{"docs":{},"df":0,"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}},"title":{"root":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1},"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0}},"df":1},"4":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1},"5":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":2},"7":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0}},"df":1},"8":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":1},"9":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}},"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":1},"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1},"4":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1},"5":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951}},"df":1},"6":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1},"7":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1},"8":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0}},"df":1},"9":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":1}},"2":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1},"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1},"4":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1},"5":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1},"6":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1},"7":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1},"8":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1},"9":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}},"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1},"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}},"1":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}},"4":{"docs":{},"df":0,"0":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}}},"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0}},"df":2}}}}},"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0}},"df":3}}}}}}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":33}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0}},"df":3},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":3}}}}}}}}}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":3}}},"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/build/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.0}},"df":4}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/usage/commands/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":2}}}},"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/contact/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/build/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":2}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/development/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":4}}}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}}}},"x":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}}}},"g":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/getting-started/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":2}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0}},"df":1}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0}},"df":1}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":3}}}},"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":3}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"/":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}}}}},"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}}}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":4}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":2}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/operations/build/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"q":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2}}}}}},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/community/resources/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0}},"df":2}},"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1},"d":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}}}},"z":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/usage/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":31,"'":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":3}}}}},"q":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/getting-started/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":6}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":4}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":3}}}}}}},"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":5}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}},"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/tracking/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/usage/":{"tf":1.0}},"df":5}},"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1}}}}}}},"documentStore":{"save":true,"docs":{"https://spike.ist/":{"body":"\n“It is really cool to see a new secret store built on top of SPIFFE\nnatively. This is a great way to show how a common production\nidentity framework can make other things much simpler and automated.”\n— Joe Beda, creator of SPIFFE, co-creator of Kubernetes.\n\n\nSecure Production Identity for Key Encryption (SPIKE) \n\nSPIKE is a lightweight secrets store that uses SPIFFE\nas its identity control plane.\nSPIKE protects your secrets and helps your ops, SREs, and sysadmins\n#sleepmore.\n","id":"https://spike.ist/","title":"index"},"https://spike.ist/about/":{"body":"About\n\nAbout SPIKE\nEarly Access Notice\n\n","id":"https://spike.ist/about/","title":"About"},"https://spike.ist/about/intro/":{"body":"A Brief Introduction to SPIKE\nAbout SPIKE\nSPIKE is a lightweight secrets store that uses SPIFFE as its\nidentity control plane.\nUsing SPIFFE as the identity layer ensures strong, verifiable workload\nidentities without relying on static credentials like API keys or passwords.\nThis enables SPIKE to authenticate and authorize workloads dynamically,\nreducing the attack surface and preventing key sprawl. Additionally,\nSPIFFE’s automatic identity rotation and short-lived cryptographic\nidentities enhance security and resilience, making it an ideal foundation\nfor a zero-trust secrets management system.\nWhy Not Use Kubernetes Secrets\nOne of the most misunderstood aspects of Kubernetes secrets is that\nKubernetes secrets are not truly secrets. While Kubernetes provides a\nmechanism to store and manage sensitive information, it is not a dedicated\nsecrets management solution.\nHere’s why relying on Kubernetes secrets can be problematic:\nLimited Scope & Portability\nIf a service outside Kubernetes—or in another cluster—needs access to a\nKubernetes secret, it introduces significant authentication and authorization\nchallenges.\nKubernetes Secrets are designed to work within a single cluster, making it\ndifficult to share them securely across different environments\n(e.g., multiple clusters, bare-metal infrastructure, or cloud-based services).\nThis limitation can lead to inconsistent security policies and fragmented secret\nmanagement practices.\nA robust secrets management strategy should consider secrets’ scope beyond a\nsingle cluster.\nStatic Nature of the Secrets\nKubernetes secrets are static once created. They are stored in etcd and\ninjected into pods at startup, meaning updates require manual\nintervention—modifying the secret, redeploying affected applications, and\nensuring no stale or expired secrets remain in use.\nUpdating a Kubernetes Secret does not automatically notify or reload the\nworkloads consuming it. Applications typically need to be restarted or\nre-deployed to pick up the new secret, adding operational complexity and\npotential downtime if not managed carefully.\nThis lack of flexibility introduces security risks and operational overhead.\nSecurity and Governance Limitations\nKubernetes Secrets are governed by Kubernetes RBAC. Using Kubernetes Secrets, it\ncan be tricky to enforce a platform-agnostic security policy that spans\nmultiple environments. This often leads to fragmented governance and\npotential misconfigurations.\nA dedicated secrets manager offers dynamic cross-environment compatibility\nand stronger security controls—making it a better choice for modern,\ndistributed architectures.\nKubernetes Secrets Are Not Encrypted By Default\nKubernetes Secrets are stored in etcd, and unless encryption at rest is\nexplicitly enabled, they are stored in plaintext. This means that anyone with\naccess to etcd (including certain privileged users or attackers who compromise\nthe cluster) can retrieve sensitive data without needing Kubernetes API access.\nMoreover, even with encryption at rest, the security model of Kubernetes Secrets\nremains weaker than a dedicated secrets store. While encryption prevents direct\nretrieval of plaintext secrets from etcd storage, an attacker with right\nprivileges can get the encryption key. Additionally, the Kubernetes API must\ndecrypt secrets when serving them to workloads, meaning any user or process\nwith sufficient API permissions can still retrieve secrets in plaintext.\nSo not only etcd itself, but also API-layer access is also a risk factor\nin enforcing the security of Kubernetes Secrets.\nWhen Are Kubernetes Secrets Useful?\nDespite these challenges, Kubernetes Secrets can still be useful in simple,\ncluster-contained workloads where:\n\nSecrets do not need frequent rotation.\nAll applications consuming the secrets reside in the same cluster.\nRBAC policies are well-configured to prevent accidental exposure.\n\nHowever, for any multi-cluster, dynamic, or zero-trust architecture, a\ndedicated secrets management solution is a better approach—providing\nfine-grained access control, cross-environment compatibility, and stronger\nsecurity guarantees.\nThat part taken care of, we can get our hands dirty with SPIKE in the\nSPIKE Quickstart Guide.\n \n\n\nSPIKE Quickstart Guide\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/about/intro/","title":"About SPIKE"},"https://spike.ist/about/project-status/":{"body":"Project Maturity\n\nSPIKE is a SPIFFE-affiliated project that has reached Development\nmaturity as defined in the SPIFFE Project Lifecycle.\nThis means:\n\nSPIKE is functionally stable and suitable for broader experimentation and\ncommunity involvement.\nSPIKE is not yet production-ready, and certain features or interfaces may\ncontinue to evolve.\nStability and polish are improving, but users should expect occasional bugs or\nbreaking changes.\n\nWe invite developers and early adopters to explore, test, and contribute. Your\ninput is invaluable in helping us shape a robust and reliable product.\nUse in critical systems is not advised at this time.\nWe’ll announce when the project is ready for production adoption.\n🦔 Thanks for your patience and support. We welcome your thoughts at\n📬 team@spike.ist.\n \n\n\nSPIKE Quickstart Guide\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/about/project-status/","title":"Project Maturity"},"https://spike.ist/architecture/":{"body":"SPIKE (Secure Production Identity for Key Encryption) is a secure,\nlightweight, performant Secrets Manager that uses SPIFFE\n(Secure Production Identity Framework for Everyone) as its identity control\nplane.\nFollow the White Rabbit 🐇\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/","title":"SPIKE Architecture"},"https://spike.ist/architecture/adrs/":{"body":"Architecture Decision Records\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n","id":"https://spike.ist/architecture/adrs/","title":"Architectural Decision Records"},"https://spike.ist/architecture/adrs/adr-0001/":{"body":"ADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\nStatus: accepted\nDate: 2024-10-28\nTags: Security, Operations, Convenience\n\nContext and Problem Statement\nThe SPIKE Pilot admin interface needs to provide access to secrets for\nadministrative purposes. We need to determine the most secure and practical way\nto display these secrets while maintaining system security and operational\nefficiency.\nDecision Drivers\n\nSecurity of sensitive information\nOperational efficiency for administrators\nPrevention of workarounds that could increase attack surface\nAuditability of secret access\nUser experience for administrators\n\nConsidered Options\n\nDisplay secrets in plain text\nDisplay only encrypted secrets\nNever display secrets through an admin interface\n\nDecision\nDisplay secrets in plain text in the SPIKE Pilot admin CLI, while providing\nadditional interfaces to view only keys or metadata when full secret values\naren’t needed.\nRationale\n\nAdministrators who can write and delete secrets should logically be able to\nview them.\nEncrypting displayed secrets provides false security since:\n\nAdmins with access likely have decryption keys anyway\nIt only adds inconvenience without meaningful security benefits\n\n\nPreventing secret viewing would likely lead to:\n\nCreation of throwaway secret consumer apps\nIncreased attack surface through workarounds\n\n\nExisting security measures provide adequate protection:\n\nmTLS for secret fetching\nShort-lived sessions\nAudit logging through SPIKE Nexus\nAuthentication and authorization checks\n\n\n\nConsequences\nPositive\n\nSimplified admin operations\nReduced likelihood of workarounds\nClear audit trail of secret access\nConsistent with the principle of least surprise\n\nNegative\n\nPotential for secrets to appear in logs or command history\nIncreased responsibility on admin access control\n\nImplementation Notes\n\nImplement separate interfaces for:\n\nFull secret display\nKeys-only view\nMetadata-only view\n\n\nEnsure proper audit logging of all secret access\nDocument proper terminal/session management for admins\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0001/","title":"ADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI"},"https://spike.ist/architecture/adrs/adr-0002/":{"body":"ADR-0002: Use Docsify for Documentation System\n\n\nStatus:\n\nSuperseded by ADR-0020: Switch to Zola for Documentation System\n\n\nDate: 2025-02-20\nHistory:\n\n2024-11-03: Accepted\n2025-02-20: Superseded by ADR-0020\n\n\nTags: Documentation\n\nContext\nWe need a documentation system that:\n\nIntegrates well with our Git workflow\nSupports Markdown formatting\nRequires minimal setup and maintenance effort\nIs easy for developers to contribute to\nCan serve documentation directly from source control\n\nDecision\nWe will use Docsify as our documentation system.\nConsequences\nPositive\n\nGit-native: Documentation lives directly in the repository as Markdown files\nZero build process: Docsify generates documentation on the fly\nMarkdown support: Developers can write documentation in familiar Markdown syntax\nMinimal setup: Only requires a single HTML file and basic configuration\nNo static HTML files: Documentation is generated on-demand from Markdown\nEasy to maintain: No separate build pipeline or compilation step is needed\nGood search capabilities out of the box\nSupport for plugins and themes\n\nNegative\n\nRequires JavaScript to be enabled in the browser\nNo static HTML generation means reduced SEO capabilities\nDocumentation loading might be slightly slower compared to pre-built static sites\nLimited compared to full-featured documentation systems like MkDocs or Sphinx\n\nReferences\n\nDocsify Official Documentation\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0002/","title":"ADR-0002: Use Docsify for Documentation System"},"https://spike.ist/architecture/adrs/adr-0003/":{"body":"ADR-0003: Root Key Management and Storage Strategy\n\n\nStatus: accepted\nDate: 2024-11-03\nTags: Security, Storage, Encryption\n\nContext\nWe need a secure strategy for managing the root key that SPIKE Nexus\nuses. This key is critical for the system’s security and requires:\n\nSecure storage\nHigh availability\nDisaster recovery capabilities\nProtection against unauthorized access\nBalance between security and operational needs\n\nDecision\nWe will implement a multi-layered approach for root key management:\n1. Runtime Storage:\n\nRoot key will be stored in memory only as plain text\nThis applies to both SPIKE Nexus and SPIKE Keeper components\n\n2. Persistent Storage:\n\nRoot key will be stored in a PostgreSQL database\nThe stored version will be:\n\nSalted\nEncrypted\nProtected by admin user’s password\n\n\n\nConsequences\nPositive\n\nEnhanced security through memory-only plain text storage\nReduced attack surface as the plain text key never touches the disk\nRecovery is possible through encrypted backup in PostgreSQL\nAdmin password dependency ensures authorized access only\nSalting provides protection against rainbow table attacks\nSeparation of concerns between runtime and persistent storage\n\nNegative\n\nMemory-only storage means the key is lost on service restart\nDependency on admin user’s password for recovery\nNeed to manage salt generation and storage\nPotential performance impact from encryption/decryption operations\nRisk of key loss if both admin password and memory contents are lost\nAdditional complexity in key recovery procedures\n\nSecurity Considerations\n\nMemory must be properly zeroed when the key is no longer needed\nPostgreSQL access must be properly secured\nAdmin password strength becomes critical for system security\nSalt management and storage must be handled securely\nEncryption algorithm and key derivation function must be carefully chosen\n\nImplementation Notes\n1. Memory Storage:\n\nImplement secure memory handling\nUse secure string implementations where available\n\n2. PostgreSQL Storage:\n\nUse strong encryption algorithm (e.g., AES-256)\nImplement secure key derivation from the admin password\nEnsure proper salt generation and storage\n\nReferences\n\nOWASP Cryptographic Storage Cheat Sheet\nNIST Guidelines for Key Management\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0003/","title":"ADR-0003: Root Key Management and Storage Strategy"},"https://spike.ist/architecture/adrs/adr-0004/":{"body":"ADR-0004: SPIKE Keeper Minimalist Design Approach\n\n\nStatus: accepted\nDate: 2024-11-03\nTags: Security, Redundancy, Availability\n\nContext\nSPIKE Keeper serves as a critical component in our system’s key management\ninfrastructure, working alongside SPIKE Nexus. We need to establish clear\ndesign principles for SPIKE Keeper to ensure it fulfills its role\neffectively and reliably.\nKey considerations:\n\nSPIKE Keeper co-exists with SPIKE Nexus on the same machine/node\n(this restriction can be removed if we further secure the communication\nbetween SPIKE Keeper and SPIKE Nexus with double encryption)\nIt serves as a recovery mechanism for SPIKE Nexus crashes\nSystem reliability is crucial for key management\nService complexity often correlates with failure rates\n\nDecision\nWe will implement SPIKE Keeper following a strict minimalist design\nphilosophy:\n\n\nCore Functionality:\n\nSingle responsibility: maintain the root key in memory\nNo additional features beyond key retention\nMinimal API surface area\n\n\n\nImplementation Constraints:\n\nNo optional or “nice-to-have” features\nNo additional endpoints unless absolutely necessary for core functionality\nResist feature creep and scope expansion\nAvoid unnecessary dependencies\n\n\n\nConsequences\nPositive\n\nReduced points of failure\nEasier to maintain and debug\nLower resource consumption\nFaster startup time\nSimplified testing\nHigher reliability due to reduced complexity\nClear and focused code base\nEasier security auditing\nReduced attack surface\n\nNegative\n\nMay need to reject potentially useful features\nCould require additional services for new functionality\nMight seem limited compared to full-featured alternatives\nMay face pressure to add features over time\n\nImplementation Guidelines\nCode Organization\n\nKeep the codebase small and focused\nImplement only essential error handling\nMinimize external dependencies\n\nFeature Evaluation Criteria\n\nIs it essential for key retention?\nIs it required for recovery scenarios?\nCan it be handled by another service?\n\nPerformance Considerations\n\nOptimize for memory usage\nKeep startup time minimal\nMaintain a low CPU footprint\n\nMonitoring Guidelines\n\nFocus on essential metrics only:\n\nMemory usage\nKey presence\nBasic health checks\n\n\nAvoid complex monitoring implementations\n\nReferences\n\nUnix philosophy of doing one thing well\nMicroservice design principles\nKISS (Keep It Simple, Stupid) principle\n\nNotes\n\nFuture feature requests should be evaluated against this ADR’s principles.\nAny deviation from the minimalist approach requires strong justification and\npossibly a new ADR.\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0004/","title":"ADR-0004: SPIKE Keeper Minimalist Design Approach"},"https://spike.ist/architecture/adrs/adr-0005/":{"body":"ADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\n\n\nStatus: accepted\nDate: 2024-11-03\nTags: Security, Networking, SPIFFE, SPIRE\n\nContext\nOur system requires secure communication between various components with:\n\nStrong mutual authentication\nNetwork-level security\nIdentity management for services\nAutomated certificate management\nZero-trust security model\n\nCurrent challenges in service-to-service authentication include:\n\nManaging service identities\nCertificate distribution and renewal\nSecure communication channels\nIdentity verification between components\n\nDecision\nWe will implement SPIFFE with mTLS for all inter-component\ncommunication and authentication:\n\n\nAuthentication Mechanism:\n\nUse SPIFFE SVIDs (SPIFFE Verifiable Identity Document) for component identification\nImplement mutual TLS (mTLS) for all service-to-service communication\n\n\n\nIdentity Management:\n\nEach component will be assigned a unique SPIFFE ID\nComponents will authenticate using their SVIDs\n\n\n\nSecurity Layer:\n\nNetwork security will be handled at the TLS layer using SPIFFE-issued certificates\nAll communication will be encrypted using mTLS\n\n\n\nConsequences\nPositive\n\nStrong cryptographic identity for each workload\nAutomated certificate management\nZero-trust security model implementation\nDynamic identity provisioning\nReduced operational overhead for certificate management\nPlatform-agnostic identity management\nStandardized authentication mechanism\nAutomatic certificate rotation\nNo shared secrets required\n\nNegative\n\nAdditional system complexity\nNeed for SPIFFE infrastructure maintenance\nPerformance overhead from TLS handshakes\nNeed to manage SPIFFE deployment and updates\n\nImplementation Requirements\nInfrastructure\n\nDeploy SPIFFE/SPIRE server\nConfigure workload attestation\nSet up certificate authority integration\n\nComponent Integration\n\nImplement SPIFFE workload API in all components\nConfigure mTLS endpoints\nImplement SVID verification\n\nSecurity Considerations\n\nSecure SPIFFE control plane\nConfigure proper attestation policies\nImplement certificate rotation policies\nMonitor SVID lifecycle\n\nMonitoring and Maintenance\n\nMonitor certificate expiration\nTrack authentication failures\nAudit identity assignments\nMonitor SPIFFE infrastructure health\n\nRecovery Procedures\nCertificate Issues\n\nAutomated SVID renewal\nManual SVID regeneration procedures\nFallback authentication methods\n\nInfrastructure Issues\n\nSPIFFE server redundancy\nBackup attestation procedures\nEmergency access procedures\n\nReferences\n\nSPIFFE Specification\nSPIFFE Security Model\nmTLS Best Practices\n\nNotes\nRegular security audits should verify the correct implementation of SPIFFE/mTLS\nconfigurations and assess the effectiveness of the authentication mechanisms.\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0005/","title":"ADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication"},"https://spike.ist/architecture/adrs/adr-0006/":{"body":"ADR-0006: Trust Boundary Definition and Security Assumptions\n\nStatus: accepted\nDate: 2024-11-03\nTags: Security, Threat Model, Trust\n\nContext\nWe need to clearly define our system’s trust boundaries and security assumptions\nto:\n\nEstablish realistic security expectations\nGuide the efforts to harden security\nDefine the scope of security measures\nInform deployment strategies\nGuide incident response planning\n\nThe system includes multiple critical components (SPIKE Nexus,\nSPIKE Keeper, SPIRE) that handle sensitive data, particularly\nthe root key.\nDecision\nWe will establish the following trust boundary model:\n\n\nPrimary Trust Boundary:\n\nSet at the machine/host level\nConsider the machine as the primary security perimeter\nTreat machine compromise as a complete system compromise\n\n\n\nComponent Security Approach:\n\nImplement defense-in-depth while acknowledging its limitations\nFocus on container hardening for containerized deployments\nAccept that component-level security provides diminishing returns after\nmachine compromise\n\n\n\nConsequences\nPositive\n\nClear security expectations and boundaries\nFocused security efforts\nRealistic threat modeling\nEfficient resource allocation for security measures\nClear incident response triggers\nSimplified security architecture\n\nNegative\n\nAccepting certain security limitations\nDependency on host-level security\nNeed for strong physical security measures\nHigher requirements for host hardening\nIncreased importance of access control\n\nSecurity Implications\nMachine-Level Security\nCritical Areas\n\nPhysical security\nOS-level hardening\nAccess control\nHost monitoring\nSystem integrity\n\nAttack Vectors Accepted as Valid Threats\n\nMemory inspection/modification\nProcess manipulation\nWorkload injection\nSPIRE entry manipulation\nRoot key exposure through memory access\n\nComponent-Level Security\nSPIKE Nexus\n\nImplement container hardening\nMinimize attack surface\nMonitor for anomalies\nRestrict capabilities\n\nSPIKE Keeper\n\nTreat compromise as machine compromise\nImplement memory protection measures\nRestrict access and capabilities\nMonitor for unauthorized access\n\nImplementation Requirements\nHost Security\nPhysical Security:\n\nSecure data center access\nHardware security modules where applicable\nPhysical access logging\nTamper detection\n\nOS Security:\n\nRegular security updates\nMinimal running services\nSecure boot\nKernel hardening\nAccess control lists\n\nContainer Security\nContainer Hardening:\n\nMinimal base images\nNo privileged containers\nResource limitations\nRead-only filesystems\nSecurity context constraints\n\nRuntime Protection:\n\nContainer scanning\nRuntime security monitoring\nBehavioral analysis\nResource isolation\n\nMonitoring and Detection\nHost-Level\n\nSystem integrity monitoring\nPrivilege escalation detection\nResource usage anomalies\nAccess pattern analysis\n\nComponent-Level:\n\nMemory access patterns\nProcess behavior\nAPI call patterns\nResource utilization\n\nIncident Response Triggers\n\nUnauthorized physical access\nAnomalous system calls\nUnexpected memory access patterns\nSPIRE entry modifications\nContainer escape attempts\n\nReferences\n\nNIST Guidelines for Server Security\nCIS Benchmarks\nContainer Security Best Practices\nNIST SP 800-207A A Zero Trust Architecture Model for Access Control\nin Cloud-Native Applications in Multi-Cloud Environments\n\nNotes\nThis ADR should be reviewed when:\n\nNew deployment models are considered\nSignificant architecture changes occur\nNew security threats emerge\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0006/","title":"ADR-0005: Trust Boundary Definition and Security Assumptions"},"https://spike.ist/architecture/adrs/adr-0007/":{"body":"ADR-0007: Root Key Lifecycle and Management Strategy\n\n\nStatus: accepted\nDate: 2024-11-03\nTags: Security\n\nContext\nOur system requires a robust and secure approach to managing the root key,\nwhich is fundamental to the entire security infrastructure. We need to\nestablish:\n\nKey generation and storage policies\nBackup and recovery procedures\nRotation policies\nEmergency recovery procedures\n\nThe root key is a critical security component that requires careful handling\nthroughout its lifecycle while maintaining operational efficiency.\nDecision\nWe will implement the following key management strategy:\nRoot Key Characteristics\n\nLong-lived key with periodic rotation\nGenerated automatically by SPIKE Nexus\nStored exclusively in memory, never on disk in plain text\n\nKey Protection\n\nAdministrator-provided password through SPIKE Pilot\nEncrypted backup for emergency recovery\nMemory-only plain text existence\n\nKey Rotation:\n\nPeriodic rotation schedule\nAutomatic re-encryption of all dependent secrets\nMaintain system availability during rotation\n\nConsequences\nPositive\n\nNo plain text key storage on disk\nAdministrator-controlled recovery capability\nAutomated key generation reduces human error\nRegular rotation enhances security\nAutomatic re-encryption maintains data security\nClear recovery procedures\n\nNegative\n\nDependency on administrator password\nRisk of system unavailability if both memory content and recovery password are\nlost\nPerformance impact during key rotation and re-encryption\nNeed for careful password management\nOperational complexity during rotation\n\nImplementation Requirements\nKey Generation\nInitial Generation\n\nAutomated generation by SPIKE Nexus\nCryptographically secure random number generator\nImmediate memory storage\n\nStorage Requirements:\n\nMemory-only plain text storage\nSecure memory handling\nMemory zeroing after use\n\nBackup and Recovery\nPassword Requirements\n\nStrong password policies\nSecure password transmission\nPassword storage guidelines\n\nBackup Process\n\nEncryption of the root key\nSecure storage of encrypted backup\nRegular backup verification\n\nKey Rotation\nRotation Process:\n\nAutomated rotation procedure\nGradual secret re-encryption\nValidation of re-encrypted secrets\n\nScheduling:\n\nDefine rotation intervals\nMaintenance window planning\nEmergency rotation procedures\n\nCritical Operations\nPassword Management\nAdministrator Responsibilities:\n\nSecure password creation\nPassword storage\nAccess control\nRegular password verification\n\nRecovery Procedures:\n\nEmergency recovery process\nPassword verification\nSystem restoration steps\n\nRotation Operations\nPre-rotation:\n\nSystem health check\nBackup verification\nResource availability check\n\nDuring Rotation:\n\nProgress monitoring\nError handling\nRecovery readiness\n\nPost-rotation:\n\nVerification of re-encrypted secrets\nSystem health validation\nBackup update\n\nMonitoring and Alerts\nKey Health\n\nMemory presence verification\nBackup status\nRotation schedule tracking\n\nCritical Alerts:\n\nFailed rotation attempts\nBackup failures\nMemory issues\nAccess attempts\n\nRecovery Procedures\nEmergency Recovery:\n\nPassword validation\nBackup decryption\nSystem restoration\nVerification steps\n\nFailed Rotation Recovery:\n\nRollback procedures\nSystem state verification\nImpact assessment\n\nReferences\n\nNIST Key Management Guidelines\nOWASP Key Management Cheat Sheet\nCryptographic Key Lifecycle Best Practices\n\nNotes\n\nRegular audits of key management procedures are required\nDocument all rotation events and issues\nMaintain detailed recovery runbooks\nRegular testing of recovery procedures\nPassword management procedures must be documented and practiced\n\nWarning\nThe administrator password for key recovery is CRUCIAL. Loss of this\npassword combined with system failure could result in permanent data loss.\nImplement appropriate password management procedures.\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0007/","title":"ADR-0007: Root Key Lifecycle and Management Strategy"},"https://spike.ist/architecture/adrs/adr-0008/":{"body":"ADR-0008: Administrative Access Control System\n\n\nStatus: accepted\nDate: 2024-11-03\nTags: Security, Administration, Disaster Recovery\n\nContext\n*e need a secure and auditable system for administrative access that:\n\nManages initial system provisioning\nControls ongoing administrative access\nPrevents accidental system re-initialization\nProvides emergency recovery options\n\n\nEnsures accountability of administrative actions\n\nDecision\nWe will implement a multi-layered administrative access system:\nInitial Provisioning\n\nRequire admin password specification\nGenerate admin token in SPIKE Nexus\nSingle initialization opportunity\n\nOngoing Access:\n\nToken-based authentication via spike login\nTemporary access tokens\nPassword-to-token exchange mechanism\n\nSystem Protection:\n\nPrevention of accidental re-initialization\nOut-of-band factory reset capability\nStrict initialization state management\n\nConsequences\nPositive\n\nClear audit trail of administrative actions\nPrevention of accidental system resets\nTemporary token model reduces the risk of token compromise\nPassword-based authentication with token exchange provides dual security\nEmergency recovery option available\nClear separation between normal operation and emergency procedures\n\nNegative\n\nNeed to manage admin password securely\nAdditional complexity in access management\nPotential for system lockout if the password is lost\nNeed to secure factory reset capability\nAdditional operational overhead for token management\n\nImplementation Requirements\nInitial Provisioning\nPassword Requirements\n\nStrong password policies\nSecure password transmission\nInitial token generation rules\n\nInitialization Protection\n\nState tracking mechanism\nInitialization lock\nState persistence\n\nAuthentication Flow\nLogin Process\n\nspike login command implementation\nPassword validation\nToken generation and exchange\nToken lifetime management\n\nToken Management:\n\nToken expiration rules\nToken revocation capabilities\nToken usage tracking\n\nFactory Reset\nOut-of-band Script:\n\nSecure script storage\nAccess controls\nExecution logging\nState verification\n\nReset Protection:\n\nConfirmation requirements\nAudit logging\nState validation\n\nSecurity Measures\nAccess Control\nPassword Protection:\n\nSecure storage\nHash algorithms\nSalt management\nUpdate procedures\n\nToken Security:\n\nCryptographic strength\nExpiration handling\nRevocation mechanisms\nUsage limitations\n\nAudit Requirements\nLogging:\n\nLogin attempts\nToken generations\nAdministrative actions\nReset attempts\n\nAudit Trail\n\nTimestamp recording\nAction attribution\nSuccess/failure status\nIP address tracking\n\nEmergency Procedures\nSystem Reset\nPrerequisites\n\nAccess to reset script\nAuthentication requirements\nBackup verification\nImpact assessment\n\nExecution Process:\n\nSafety checks\nBackup procedures\nReset execution\nSystem verification\n\nRecovery Procedures\nAccess Recovery:\n\nPassword reset process\nToken regeneration\nSystem state verification\nAccess restoration\n\nMonitoring and Alerts\nSecurity Events\n\nFailed login attempts\nToken misuse\nInitialization attempts\nReset attempts\n\nSystem State\n\nInitialization status\nToken validity\nSystem integrity\nAccess patterns\n\nImplementation Guidelines\nCommand Line Interface\n\nState Management\n\nUse atomic operations for state changes\nImplement state persistence\nInclude state verification\nMaintain state history\n\nReferences\n\nOWASP Authentication Guidelines\nNIST Digital Identity Guidelines\n\nNotes\n\nRegular testing of reset procedures is required\nDocument all emergency procedures\nTrain administrators on proper usage\nRegular audit of access patterns\nReview and update procedures periodically\n\nWarning\nThe factory reset capability should be strictly controlled and documented.\nAccidental execution could result in complete system reset and data loss.\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0008/","title":"ADR-0008: Administrative Access Control System"},"https://spike.ist/architecture/adrs/adr-0009/":{"body":"ADR-0009: Multi-Administrator Support System\n\n\nStatus: accepted\nDate: 2024-11-03\nTags: Security, Administration, Disaster Recovery\n\nContext\nThe system needs to support multiple administrators with different levels of\naccess and responsibilities. We need to:\n\nAllow delegation of administrative tasks\nSupport different administrative roles\nImplement fine-grained access control\nMaintain audit trails\nSupport tenant isolation\nHandle emergency access scenarios\n\nDecision\nWe will implement a hierarchical multi-admin system with policy-based access\ncontrol:\nAdministrative Hierarchy\n\nInitial admin has super-admin privileges\nAbility to create and manage other admin accounts\nPolicy-based access control for different admin roles\n\nAccess Control\n\nRole-based access control (RBAC)\nTenant-based isolation\nFine-grained permissions\nTemporary token-based authentication\n\nConsequences\nPositive\n\nDistributed administrative responsibilities\nClear separation of duties\nTenant data isolation\nGranular access control\nImproved audit capabilities\nSupport for different administrative personas\nReduced single-admin bottleneck\nEnhanced security through the principle of least privilege\n\nNegative\n\nIncreased system complexity\nMore complex policy management\nAdditional overhead in user management\nNeed for policy coordination\nIncreased training requirements\nMore complex authorization logic\n\nImplementation Requirements\nUser Management\nAdmin Creation\n\nUsername/password management\nRole assignment\nPolicy association\nTenant assignment\n\nAuthentication\n\nIndividual login credentials\nPersonal access tokens\nToken lifecycle management\nSession management\n\nPolicy Management\nPolicy Definition\n\nRead/Write permissions\nResource access levels\nTenant boundaries\nEmergency access rights\n\nPolicy Enforcement\n\nReal-time permission checking\nToken validation\nResource access control\nTenant isolation\n\nAdministrative Roles\nSuper Admin\n\nUser management\nPolicy creation\nSystem-wide access\nEmergency procedures\n\nTenant Admin:\n\nTenant-specific access\nResource management\nUser management within tenant\nLimited policy modification\n\nAuditor:\n\nRead-only access\nAudit log access\nReport generation\nCompliance monitoring\n\nEmergency Admin:\n\nBreak-glass procedures\nTemporary elevated access\nEmergency restoration capabilities\n\nAccess Control Implementation\nRBAC Structure\nRole Definitions\n\nPermission Mapping:\n\nTenant Isolation\nResource Segregation\n\nTenant-specific namespaces\nResource ownership\nAccess boundaries\nCross-tenant protection\n\nAccess Patterns\n\nTenant-specific tokens\nScoped permissions\nResource filtering\nAccess validation\n\nAudit Requirements\nUser Activity\n\nLogin attempts\nResource access\nPolicy modifications\nUser management actions\n\nAudit Trail:\n\nTimestamp\nUser identity\nAction details\nResource affected\nAccess context\n\nMonitoring and Alerts\nSecurity Events:\n\nPolicy violations\nUnauthorized access attempts\nEmergency access usage\nCross-tenant access attempts\n\nAdministrative Actions:\n\nUser creation/modification\nPolicy changes\nPermission updates\nEmergency procedures\n\nEmergency Procedures\nAccess Elevation:\n\nTemporary privilege elevation\nApproval workflow\nTime-limited access\nAudit requirements\n\nBreak-Glass Procedures:\n\nEmergency access protocol\nRecovery procedures\nAudit requirements\nPost-incident review\n\nReferences\n\nNIST RBAC Guidelines\nMulti-Tenant Security Patterns\nOWASP Authorization Cheat Sheet\nCloud Security Alliance Guidelines\n\nNotes\n\nRegular policy review is required\nDocument all role definitions\nMaintain emergency access procedures\nRegular access audit recommended\nTrain administrators on policy management\n\nImplementation Guidelines\n\nCreate clear role definitions\nImplement strict tenant boundaries\nEstablish emergency procedures\nDocument all policies\nRegular access reviews\nMaintain audit logs\nTest emergency procedures regularly\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0009/","title":"ADR-0009: Multi-Administrator Support System"},"https://spike.ist/architecture/adrs/adr-0010/":{"body":"ADR-0010: Session Token Storage Strategy for SPIKE Nexus\n\n\nStatus: accepted\nDate: 2024-11-03\nTags: Security, Sessions, Memory Management, Scalability\n\nContext\nSPIKE Nexus requires storage of session tokens for admin authentication.\nWe need to evaluate the option of storing these tokens in-memory (as opposed\nto storing them in a database).\nKey considerations:\n\nSPIKE Nexus is primarily used by administrators, not end-users\nSession persistence across server restarts is not a critical requirement\nSecurity is a primary concern for the SPIKE ecosystem\nUser scale is limited (admin-focused tool)\nMemory consumption for session tokens is minimal\n\nDecision\nWe will implement in-memory storage for session tokens in SPIKE Nexus\ninstead of storing them in the database.\nRationale\nWhy In-Memory Storage:\nEnhanced Security\n\nEliminates risks associated with persistent storage\nReduces attack surface by removing database attack vectors\nAutomatic token invalidation on server restart provides a security benefit\nAligns with SPIKE’s security-first approach\n\nPerformance\n\nFaster token validation due to in-memory access\nEliminates encryption/decryption overhead\nReduces database load\n\nSimplicity\n\nSimpler implementation and maintenance\nNo need for token cleanup mechanisms\nReduces complexity in encryption management\n\nScale Considerations\n\nLimited admin users means memory impact is negligible\nSession tokens are small in size\nVertical scaling is sufficient for an admin-focused tool\n\nWhy Not Database Storage\n\nSession persistence across restarts is not a requirement\nAdditional security exposure through the database is unnecessary\nEncryption/decryption overhead is not justified\nDatabase cleanup complexity can be avoided\n\nConsequences\nPositive:\n\nImproved security posture\nSimplified implementation\nBetter performance\nReduced maintenance overhead\n\nNegative:\n\nSessions will be lost on server restart/crash\nNo persistent audit trail of sessions\nPotential minor increase in memory usage\nMay complicate future horizontal scaling if needed\n\nMitigations:\n\nClear documentation that sessions require re-authentication after a server\nrestart\nImplement proper logging for security events to compensate for lack of\nsession history\nMonitor memory usage in production\nConsider distributed caching solutions if horizontal scaling becomes\nnecessary\n\nImplementation Notes\n\nUse thread-safe in-memory data structure for token storage\nImplement session timeout mechanism\nAdd monitoring for memory usage\nInclude proper logging for security-relevant events\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0010/","title":"ADR-0010: Session Token Storage Strategy for SPIKE Nexus"},"https://spike.ist/architecture/adrs/adr-0011/":{"body":"ADR-0011: PostgreSQL as SPIKE’s Backing Store\n\n\nStatus:\n\nSuperseded by ADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\n\n\nDate: 2024-11-07\nHistory:\n\n2024-11-04: Accepted\n2024-11-07: Superseded by ADR-0013\n\n\nTags: Database, Persistence, Storage, Backup\n\nContext\nSPIKE needs a reliable, secure, and performant backing store to maintain\nvarious types of encrypted data, including:\n\nRoot keys (encrypted with admin password)\nAdmin tokens (encrypted with root key)\nSecrets (encrypted with root key)\n\nThe system requires:\n\nStrong data consistency and ACID transactions\nSupport for binary data storage (for encrypted keys and secrets)\nAdvanced data types and indexing capabilities\nRobust access control and security features\nAudit logging capabilities\nSchema management and version control\n\nDecision\nWe will use PostgreSQL as the exclusive backing store for SPIKE,\nwith SPIKE Nexus being the only client with direct database access.\nRationale\nSecurity Features\n\nNative support for encryption at rest\nFine-grained access control\nSSL support for encrypted connections\nBuilt-in audit logging capabilities\n\nData Integrity:\n\nACID compliance\nStrong consistency model\nNative support for UUID, JSONB, and bytea types\nConstraints and triggers for data validation\n\nPerformance:\n\nEfficient indexing for binary and text data\nGood performance with both read and write operations\nMature query optimizer\nSupport for concurrent access\n\nOperational Benefits:\n\nWide industry adoption\nExtensive tooling ecosystem\nStrong community support\nWell-documented backup and recovery procedures\nFree and open-source\n\nConsequences\nPositive\n\nSimplified architecture with a single source of truth\nReliable data persistence and consistency\nBuilt-in support for all required data types\nEasy integration with existing backup and monitoring tools\nNo additional licensing costs\n\nNegative\n\nLimited to PostgreSQL-specific features\nTeam needs to maintain PostgreSQL expertise\nSingle database deployment could be a bottleneck\nMigration complexity if database change is needed in the future\n\nMitigations\n\nUse database-agnostic SQL where possible\nImplement connection pooling\nPlan for regular maintenance windows\nDocument all PostgreSQL-specific features used\n\nImplementation Notes\n\nSPIKE Nexus can use prepared statements to prevent SQL injection\nAll sensitive data will be encrypted before storage\nRegular backups will be configured\nMonitor database performance metrics\nImplement connection pooling for scalability\n\nConsequences\nPositive\n\nSimplified architecture with a single source of truth\nReliable data persistence and consistency\nBuilt-in support for all required data types\nEasy integration with existing backup and monitoring tools\nNo additional licensing costs\n\nNegative\n\nLimited to PostgreSQL-specific features\nTeam needs to maintain PostgreSQL expertise\nSingle database deployment could be a bottleneck\nMigration complexity if database change is needed in the future\n\nMitigations\n\nUse database-agnostic SQL where possible\nImplement connection pooling\nPlan for regular maintenance windows\nDocument all PostgreSQL-specific features used\n\nImplementation Notes\n\nSPIKE Nexus will use prepared statements to prevent SQL injection\nAll sensitive data will be encrypted before storage\nRegular backups will be configured\nMonitor database performance metrics\nImplement connection pooling for scalability\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0011/","title":"ADR-0011: PostgreSQL as SPIKE's Backing Store"},"https://spike.ist/architecture/adrs/adr-0012/":{"body":"ADR-0012: HTTP Methods for SPIKE API\n\n\nStatus: accepted\nDate: 2024-11-04\nTags: API, TLS, Semantics, Network, Operations\n\nContext\nSPIKE is a Secrets Management system that provides an HTTP API for CRUD\noperations. The system integrates with SPIFFE/SPIRE for identity management\nand authentication.\nWhen designing the API, we needed to determine how to handle HTTP methods for\ndifferent operations while maintaining security and preventing unwanted\ncaching of sensitive data.\nKey considerations:\n\nPrevention of URL caching for security purposes\nDesire for consistent request structure\nNeed to maintain semantic clarity of operations\nIntegration with proxy servers and security infrastructure\nAuditability and debugging capabilities\n\nDecision\nWe will:\n\nUse HTTP POST method for all API operations (Create, Read, Update, Delete)\nEncode the operation type in the URL query parameter using action=\nInclude all operation parameters in the request body\n\nExample URLs:\n\nConsequences\nPositive\n\nPrevents sensitive data from being cached in URLs\nAvoids sensitive data appearing in server logs\nProvides consistent request structure for all operations\nSimplifies client implementations by using a uniform HTTP method\nMakes operation type visible in URL for auditing without exposing sensitive data\nWorks well with proxies that might restrict certain HTTP methods\nMaintains clear operation semantics through URL parameters\n\nNegative\n\nDeviates from REST architectural principles\nMay surprise developers expecting traditional REST endpoints\nCould complicate integration with some REST-focused tools\nURL routing is slightly more complex due to query parameter handling\n\nNeutral\n\nOperation type moved to query parameter instead of HTTP method\nNeed to handle invalid/missing action parameters\n\nAlternatives Considered\nTraditional REST approach with different HTTP methods\n\nRejected due to caching concerns and desire for consistency\n\nUsing path parameters instead of query parameters\n\n\nRejected to maintain the existing implementation pattern\n\nGraphQL-style single endpoint\n\nRejected as overly complex for current needs\n\nCompliance\nThis decision maintains compliance with security best practices while providing\na usable API interface. It aligns with the security-first approach required for\na Secrets Management system.\nReferences\n\nSPIFFE\nSPIRE\nHTTP Method Definitions\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0012/","title":"ADR-0012: HTTP Methods for SPIKE API"},"https://spike.ist/architecture/adrs/adr-0013/":{"body":"ADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\n\n\nStatus:\n\naccepted\nSupersedes ADR-0011: PostgreSQL as SPIKE’s Backing Store\n\n\nDate: 2024-11-07\nTags: Storage, Authorization, Policy, S3, MinIO\n\nContext\nSPIKE needs a reliable, secure, and performant backing store to maintain encrypted\ndata including:\n\nRoot keys (encrypted with admin password)\nAdmin tokens (encrypted with root key)\nSecrets (encrypted with root key)\n\nThe system requires:\n\nSecure storage of encrypted blobs\nPath-based access control\nAudit logging capabilities\nFlexible deployment options (cloud and on-premises)\nIntegration with existing identity providers\n\nAfter further analysis, we recognized that our secrets storage model closely\nresembles object storage patterns, where:\n\nSecrets are essentially encrypted blobs\nAccess is path-based\nAuthorization decisions are made at the path level\nStorage and retrieval operations are simple CRUD operations\n\nDecision\nWe will use S3-compatible storage systems (AWS S3, MinIO) as the backing\nstore for SPIKE, leveraging their native policy engines for access control.\nRationale\nAuthorization Model\n\nS3’s IAM/policy engine is battle-tested and well-understood\nPath-based policies align perfectly with SPIKE’s access patterns\nEliminates the need to build and maintain a custom policy framework\nPolicies can be managed through existing tools and processes\n\nStorage Capabilities\n\nExcellent for blob storage (our encrypted secrets)\nStrong consistency guarantees (especially with newer S3 versions)\nBuilt-in versioning support\nCross-region replication options\nExcellent scalability characteristics\n\nOperational Benefits\n\nMultiple implementation options:\n\nAWS S3 for cloud deployments\nMinIO for on-premises deployments\nOther S3-compatible systems for special cases\n\n\nRich ecosystem of tools and utilities\nRobust backup and lifecycle management\nBuilt-in metrics and monitoring\nCost-effective for our access patterns\n\nSecurity Features\n\nNative encryption at rest\nSSL/TLS support\nIntegration with various identity providers\nBuilt-in audit logging\nObject versioning for recovery\n\nConsequences\nPositive\n\nSimplified architecture by using the storage system’s native policy engine\nReduced code complexity in SPIKE\nBetter separation of concerns (storage/policy vs. application logic)\nFlexibility in deployment options (cloud or on-prem)\nFuture-proof: Can adopt better policy engines (e.g., OPA) without changing\nthe storage layer\nBuilt-in versioning and audit capabilities\n\nNegative\n\nDependent on S3 API compatibility\nMay need to implement additional caching layer for performance\nLimited by S3’s eventual consistency model for some operations\nNeed to ensure policy engine capabilities are consistent across different\nS3 implementations\n\nMitigations\n\nImplement abstraction layer to handle S3 implementation differences\nDocument consistency requirements and guarantees\nRegular testing with different S3-compatible systems\n\nImplementation Notes\nStorage Pattern\n\nMemory is the primary storage medium\nS3 serves dual purposes:\n\nAuthorization source (via IAM/policies)\nPersistent backup store\n\n\nWrite pattern:\n\nCheck S3 policy authorization\nIf authorized, write to memory\nAsynchronously write to S3 for persistence\n\n\nRead pattern:\n\nCheck S3 policy authorization\nIf authorized, serve from memory\nOnly read from S3 during cold starts or recovery\n\nfor non-HA deployments\nfor HA deployments, the design will need to be adjusted\n\n\n\n\nDelete pattern:\n\nCheck S3 policy authorization\nIf authorized, remove from memory\nMark as deleted in S3 (using versioning)\n\n\n\nStorage Layer\n\nUse AWS SDK for S3 operations\nImplement the storage interface that can work with any S3-compatible system\nEncrypt all data before storage\nUse versioning for secret history\n\nCaching Strategy\n\nImplement in-memory cache for performance\nCache only after confirming S3 permissions\nClear cache on policy changes\nImplement TTL for cached items\n\nPolicy Management\n\nUse a native S3 policy format\nDocument common policy patterns\nProvide helper utilities for policy creation\nTest policies across different S3 implementations\n\nFuture Considerations\n\nIf more complex policy requirements emerge, we can:\n\nContinue using S3 for storage\nIntegrate OPA or similar for advanced policy evaluation\nKeep existing S3 policies as coarse-grained control\n\n\n\nReferences\n\nAWS S3 Policy Documentation\nMinIO Security Guide\nOPA (Open Policy Agent) Documentation\n\nNotes\nThis approach keeps SPIKE lean and focused while leveraging battle-tested\ncomponents for storage and authorization. By using S3’s native policy engine\ninitially, we avoid premature optimization while maintaining the flexibility to\nadopt more sophisticated policy engines like OPA if needed in the future.\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0013/","title":"ADR-0013: S3-Compatible Storage as SPIKE's Backing Store"},"https://spike.ist/architecture/adrs/adr-0014/":{"body":"ADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\n\n\nStatus: accepted\nDate: 2024-11-15\nTags: Persistence, Storage, SQLite, File-System\n\nContext\nSPIKE currently uses SQLite as its backing store for secret management. There\nis a proposal to implement a file-system-based backing store as an alternative\nstorage solution. SPIKE uses SPIFFE as its identity control plane for\nauthentication and authorization.\nThe key considerations are:\n\nSQLite is already implemented and proven to work well for SPIKE’s needs\nSQLite itself is fundamentally a file-system-based database\nA new file-system backing store would need to implement similar functionality\nBoth solutions ultimately interact with the filesystem at their core\n\nDecision\nWe will maintain SQLite as the primary storage backend and not implement a\nseparate file-system-based storage solution.\nRationale\nTechnical Advantages of SQLite\n\n\nFile-System Foundation: SQLite already operates directly on the file\nsystem, using efficient file I/O operations. As per SQLite’s documentation,\nit competes directly with fs.open() for performance.\n\n\nACID Compliance: SQLite provides built-in:\n\nAtomicity for operations\nConsistency in data storage\nIsolation for concurrent operations\nDurability of stored data\n\n\n\nProven Security: SQLite has undergone extensive security auditing and\nhas a well-understood security model.\n\n\nImplementation Considerations\n\n\nRedundant Development: Creating a separate file-system store would:\n\nDuplicate existing functionality\nRequire implementing concurrent access controls\nNeed additional security auditing\nRequire new testing infrastructure\n\n\n\nMaintenance Overhead: Supporting two storage backends would:\n\nIncrease maintenance complexity\nRequire maintaining two sets of documentation\nComplicate troubleshooting\nPotentially create inconsistencies in behavior\n\n\n\nPerformance\n\nSQLite is highly optimized for the types of operations SPIKE performs\nThe overhead of SQLite compared to direct file system operations is\nnegligible for SPIKE’s use case\nSQLite’s page cache provides performance benefits that would need to be\nre-implemented in a file-system solution\n\nConsequences\nPositive\n\nReduced development effort and maintenance burden\nContinued use of a well-tested, secure storage solution\nSimplified codebase and deployment\nConsistent behavior across deployments\n\nNegative\n\nLess flexibility in storage formats\nContinued dependency on SQLite\nPotential perception of over-engineering for simple storage needs\n\nMitigations\n\nDocument SQLite’s role as a file-system interface\nMaintain clear interface boundaries for potential future storage implementations\nMonitor performance and storage requirements to validate continued suitability\n\nRelated Documents\n\nSQLite Documentation\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0014/","title":"ADR-0014: Maintaining SQLite as SPIKE's Primary Storage Backend"},"https://spike.ist/architecture/adrs/adr-0015/":{"body":"ADR-0015: Use Singular Form for File and Package Naming\n\n\nStatus: accepted\nDate: 2024-11-18\nTags: Convention, Naming, Go\n\nContext\nOur codebase needs consistent naming conventions for Go files and packages.\nWhile Go has a strict convention for package names (singular), file naming is\nless standardized. This inconsistency can lead to maintenance overhead and\ncognitive load when working with the codebase.\nDecision\nWe will use singular form for both file names and package names unless\nusing a plural form provides clear additional clarity or disambiguation.\nExamples:\n\nentity.go over entities.go\nuser.go over users.go\nconfig.go over configs.go\n\nExceptions are allowed when:\n\nPlural form better represents the file’s contents (e.g., constants.go for a\nfile containing only constants)\nDisambiguation is needed (e.g., users_api.go vs user_model.go)\n\nConsequences\nPositive\n\nConsistent with Go’s package naming convention\nReduces decision overhead\nEasier maintenance and navigation\nAligns with Go standard library practices\n\nNegative\n\nMay require renaming existing files\nSome edge cases may require team discussion\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0015/","title":"ADR-0015: ADR-0015: Use Singular Form for File and Package Naming"},"https://spike.ist/architecture/adrs/adr-0016/":{"body":"ADR-0016: Memory-First Secrets Store\n\n\nStatus:\n\nSuperseded by ADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availabilitye\n\n\nDate: 2025-08-23\nHistory:\n\n2024-12-22: Accepted\n2025-08-23: Superseded by ADR-0024\n\n\nTags: Security, Operations, Storage, Performance, Scalability\n\nContext\nSPIKE keeps secrets in the memory of SPIKE Nexus by design. The secrets\nare encrypted and backed up to a secondary backup storage; however, the primary\nsource of truth is the in-memory store.\nThis is an efficient mechanism to store application secrets (e.g.,\nAPI keys, certificates, even relatively beefy Kubeconfig files).\nHowever, we need to maintain certain requirements for SPIKE to be a\nproduction-grade secure, reliable, and robust secrets store:\nOur requirements include:\n\nHigh-Performance Access: Secrets should be rapidly retrievable with\nminimal latency.\nRobust Backup and Recovery: The system should persist data safely and\nrecover quickly from crashes.\nSecurity: Restrict access to secrets via path-based policies and protect\ndata at rest via encryption.\nAuditability: Record all read/write operations for compliance and\nmonitoring.\nScalability: The system should handle up to hundreds of thousands of\nsecrets.\nHigh Availability: Provide read replicas for scaling reads and failover\nstrategies.\n\nWe considered disk-only, disk-first, cloud-storage-only\n(like AWS S3) and cloud-storage-first solutions and decided a memory-first\nsecrets store with a reliable back-up mechanism is the best fit for SPIKE.\nDecision\nSPIKE will be an in-memory secrets store with the following characteristics:\n\nIn-Memory Data: The primary data store resides in RAM, offering\nnear-instant reads and writes.\nPeriodic Backup: An encrypted backing store (SQLite, Postgres DB, or an\nS3-compatible interface) will serve as a backup. The system uses exponential\nretries to ensure data persistence.\nHardened Container: The service is recommended to run in a hardened\ncontainer or sandbox with minimal OS surface area, reducing the likelihood of\nroot compromise.\nPath-Based Access Controls: Secrets are organized hierarchically\n(for, e.g., /secrets/acme/*). Only specific roles/tokens can access their\nrespective paths.\nReplication: A primary read-write store with read-only replicas. These\nreplicas can be promoted or re-hydrated if the primary fails.\nAuditing: All secret operations (reads, writes, deletes) are logged to\nan audit trail for compliance and investigation.\n\nRationale\n\nPerformance: In-memory data reduces latency compared to purely\ndisk-backed solutions.\nBackup Safety: The secondary backup (encrypted at rest) mitigates memory\nvolatility by allowing the system to recover from unexpected crashes or\nrestarts.\nSecurity:\n\nHardened Container: Minimizes OS-level attack surface.\nEncryption at Rest: Protects offline backups if the disk is compromised.\nPath-Based Policies: Enforces the principle of least privilege.\nAuditing: Aids in compliance and detection of unauthorized access.\nScalability: Storing thousands or even hundreds of thousands of secrets\nin memory is feasible with proper resource planning.\n\n\n\nConsequences\nPositive Outcomes\n\nPerformance Gain: Ultra-fast secrets retrieval for latency-sensitive\napplications.\nBackup Resilience: Encrypted disk backups reduce permanent data loss\nif the container restarts.\nFine-Grained Control*: Path-based policies and an internal auditing\nmechanism meet security and compliance needs.\n\nTrade-Offs and Risks\nIn contrast to our decision, here are some benefits of using a database (or a\nremote object storage) as the single source of truth:\n\nSecurity and Persistence: Using an encrypted database as the source of truth\nensures that secrets are securely stored and persist across system restarts\nor crashes. Though with frequent forced writes, the risk of data loss is\nminimized and can further be mitigated by using mechanisms like message queues.\nScalability: Databases can handle growth more effectively, allowing\nthe system to accommodate the increasing number of secrets without a\nsignificant redesign. Again, this is a non-issue because if you have to store\nmillions of secrets, then you need to review your architecture anyway. In an\nideal world, the only secret an app needs are PKI certificates (like SVIDs) as\nthey can uniquely identify the app.\nSimplicity: A single source of truth simplifies the architecture, making\nthe system easier to develop and maintain. To counter this, SPIKE Nexus’\ncurrent architecture is simple enough to maintain and develop. We have\nabstracted exponential backoff and retry mechanisms to the storage layer, and\nonce we have adequate abstractions, the maintainability of the system will\nbe equivalent to a database-as-the-single-source-of-truth system. Besides,\nat the cost of simplicity, we lose performance and will have to implement\nadditional caching mechanisms to mitigate latency, which will add complexity\nand result in an equally complex system. There is no free lunch.\n\nHere are some other liabilities of a memory-first secrets store:\n\nCrash Consistency: Potential for a small window of data loss if the system\ncrashes just before backup.\n\nMitigation: frequent or near-synchronous write-through.\n\n\nFailover Complexity: Replication and promotion logic must be robustly\nimplemented to handle node failures seamlessly.\nMemory as an Additional Attack Surface:\n\nWhile ephemeral in-memory storage can mitigate certain disk-theft scenarios,\nmemory itself can be inspected if an attacker gains OS-level access.\nThat’s why hardening the container and ensuring proper access controls are\ncrucial. SPIKE assume the machine as the trusted boundary. So, if the\nmachine is compromised, the secrets are considered compromised as well.\n\n\n\nReferences\n\nKubernetes Secrets Management Best Practices\nHashiCorp Vault High-Availability Reference\nSQLite Encryption Extension Documentation\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0016/","title":"ADR-0016: Memory-First Secrets Store"},"https://spike.ist/architecture/adrs/adr-0017/":{"body":"ADR-0017: Synchronous Persistence for SPIKE Secrets Store\n\n\nStatus:\n\nSuperseded by ADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availabilitye\n\n\nDate: 2025-08-23\nHistory:\n\n2025-01-25: Accepted\n2025-08-23: Superseded by ADR-0024\n\n\nTags: Security, Persistence, Database, Backing-Store, Performance\n\nContext\nSPIKE is a Secrets Store that can use an SQLite backing store (among other\nbacking store options) to persist secrets. However, the source of truth for\nthe secrets is held in memory. SQLite is primarily used as a backup to rehydrate\nsecrets in case the secrets store crashes or needs to be recovered.\nPersistence operations were initially designed to be asynchronous, using methods\nlike AsyncSaveSecret(), to minimize blocking and improve performance. However,\nthis design has introduced unnecessary complexity, race conditions, and edge\ncases, with no significant benefit to the overall system. SQLite, being fast and\nlightweight, already offers sufficient performance without the need for\nadditional asynchronous operations.\nProblem\nThe asynchronous approach to persistence introduces the following issues:\n\nIncreased complexity: Asynchronous operations, while designed to improve\nperformance, add complexity to the system, making it harder to reason about\nand troubleshoot.\nRace conditions and edge cases: The asynchronous operations have led to\npotential race conditions, which compromise the system’s reliability.\nDebugging difficulty: To avoid the race conditions above, we could have\nused abstractions, including Go channels. However, using Go channels and\nasynchronous operations creates challenges for debugging, as tracking state\ntransitions becomes non-trivial.\n\nGiven that SQLite is already fast enough for our needs, the performance benefit\nof using asynchronous operations is minimal. As a result, we no longer see a\nsignificant justification for using asynchronous persistence operations in\nthis context.\nDecision\n\n\nSynchronous Persistence: All database persistence operations will now be\nsynchronous.\n\nJustification: Since SQLite is fast enough, and we are not seeing\nperformance bottlenecks at the database level, the simplicity of synchronous\noperations outweighs the potential complexity of maintaining asynchronous\nones.\nExpected Outcome: This decision reduces the complexity of the codebase,\neliminates the potential for race conditions, and makes the system easier\nto debug and maintain. We will continue to monitor for any performance\nimpact that might arise due to this decision.\n\n\n\nFallback to Async if Performance Issues Arise: In the unlikely event that\nwe observe significant performance issues with synchronous operations, we\nwill consider optimizing specific areas locally.\n\nOptimization Strategy: If performance degradation is observed, we will\nexplore optimization options such as local caching, batching of persistence\noperations, or fine-tuning SQLite settings. Asynchronous operations may be\nreintroduced selectively in these cases.\n\n\n\nConsequences\n\nReduced Complexity: By removing asynchronous operations, the system will\nbe simpler and easier to maintain, with fewer edge cases and race conditions\nto handle.\nPerformance Tradeoff: Synchronous operations may result in slight\nperformance degradation if there is a heavy load on the persistence layer.\nHowever, this is unlikely given the current design and SQLite’s speed.\nEasier Debugging: The synchronous model simplifies debugging, as there are\nno concurrent operations that need to be tracked.\n\nAlternatives Considered\n\nAsync Persistence: We initially considered keeping asynchronous operations\nto prevent blocking and improve performance. However, this would introduce\ncomplexity that isn’t justified by the system’s current requirements and\nSQLite’s speed.\nGo Channels for Sync Operations: Using Go channels to handle\nsynchronization in asynchronous operations was also considered, but it would\nincrease debugging complexity and not address the core issue effectively.\n\n\nThis ADR will be revisited if performance issues arise, but for now, the shift\nto synchronous persistence aligns with the goal of simplifying the codebase and\nimproving system stability.\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0017/","title":"ADR-0017: Synchronous Persistence for SPIKE Secrets Store"},"https://spike.ist/architecture/adrs/adr-0018/":{"body":"ADR-0018: Administrative Access to SPIKE\n\n\nStatus: accepted\nData: 2025-02-20\nTags: Security, Administrative-Access, SPIFFE, IDM, DR\n\nContext\nSPIKE requires a robust and secure administrative access model to balance\noperational flexibility, security, and auditability. To achieve this,\nSPIKE defines three predefined roles for emergency Disaster Recovery (DR)\nand superadmin access, while delegating named administrative access to an\nexternal identity management system.\nDecision\nRole-Based Administrative Access\nAdministrative access in SPIKE is granted using specific SPIFFE IDs:\n*spiffe://$trustRoot/spike/pilot/role/superuser - Super Admin:\nCan perform all administrative tasks except recovery or restore operations.\n*spiffe://$trustRoot/spike/pilot/role/recover - Recovery User:\nCan only recover the root key shards to the local file system.\n*spiffe://$trustRoot/spike/pilot/role/restore - Restore User:\nCan only restore the root key by providing one shard at a time.\nThis role separation ensures that:\n\n\nDifferent users can have distinct operational responsibilities. For example,\nan operator responsible for system restoration cannot modify access policies\nfor secrets.\n\n\nThe separation enhances auditability, allowing clear tracking of actions\ntaken by different roles.\n\n\nAdditionally:\n\n\nOnce the system is initialized, accidental re-initialization is prevented.\n\n\nIn emergencies, an out-of-band script can be used to perform a\nfactory reset of SPIKE.\n\n\nMulti-Admin Support via External Identity Management\nBeyond the three predefined roles (superuser, recover, restore), named admin\naccess to SPIKE will be managed through an external identity provider, such\nas an OIDC (OpenID Connect) provider.\nHere’s the reasoning:\n\nSPIKE focuses on secure and efficient secret storage, not authentication.\nAccess control and identity management are better delegated to established\nidentity standards like OIDC.\nThis approach ensures compatibility with enterprise authentication policies\nand simplifies integration with existing IAM solutions.\n\nConsequences\n\nSecurity: The predefined SPIFFE-based roles provide a minimal attack\nsurface for core administrative functions, while OIDC integration ensures\nscalability and proper identity management.\nAuditability: Separation of concerns ensures that different roles have\nclearly defined privileges, improving traceability and compliance.\nFlexibility: Organizations can define additional admin roles through\ntheir preferred external identity provider without modifying SPIKE’s core\narchitecture.\n\nAlternatives Considered\n\nFully SPIFFE-Based Admin Management\n\nRejected due to scalability concerns. Managing multiple administrators\ndirectly within SPIKE would introduce unnecessary complexity.\n\n\nNo Role Separation\n\nRejected for security and compliance reasons. A single admin role would\nlack the necessary granularity for controlled recovery and restore operations.\n\n\n\n","id":"https://spike.ist/architecture/adrs/adr-0018/","title":"ADR-0018: Administrative Access to SPIKE"},"https://spike.ist/architecture/adrs/adr-0019/":{"body":"ADR-0019: Plugin-Based Storage Backend Architecture\n\n\nStatus: proposed\nDate: 2024-02-20\nTags: Persistence, Storage, Plugins, Architecture\nRelated: ADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\n\nContext\nFollowing ADR-0014’s decision to maintain SQLite as\nSPIKE’s primary storage backend, we recognize the need for flexibility in\nstorage solutions for different deployment scenarios. Some deployments\nmay require:\n\nAlternative storage backends for enterprise environments\nSpecialized storage solutions for specific use cases\nCustom implementations for unique requirements\nIn-memory storage for development and testing\n\nDecision\nWe will implement a plugin-based architecture for storage backends while\nmaintaining SQLite as the default implementation. This architecture will:\n\nDefine a clear storage interface that all backends must implement\nProvide official plugins for common use cases\nEnable third-party plugin development\nMaintain backward compatibility with existing SQLite implementations\n\nRationale\nPlugin System Benefits\n1. Extensibility:\n\nUsers can implement custom storage solutions\nThird-party developers can contribute new backends\nSpecialized solutions can be developed without modifying core code\n\n2. Maintainability:\n\nThe core codebase remains focused on primary functionality\nPlugins can be maintained independently\nTesting and validation can be scoped to specific implementations\n\n3. Deployment Flexibility:\n\nDifferent environments can use appropriate storage solutions\nMigration between backends becomes possible\nDevelopment and testing can use simplified implementations\n\nOfficial Plugin Scope\n1. Core Implementation:\n\nSQLite (default backend, ships with core)\nIn-memory (for development and testing)\n\n2. Additional Official Plugins:\n\nPostgreSQL\nS3/MinIO compatible storage\n\nInterface Requirements\nStorage plugins must implement:\n1. Core Operations:\n\nCRUD operations for secrets\nAtomic transactions\nConcurrent access handling\nError handling and recovery\n\n2. Security Features:\n\nAccess control integration\nAudit logging support\n\n3. Management Functions:\n\nHealth checks\nBackup/restore capabilities\nMigration tools\n\nImplementation\nPlugin Architecture\nHere is a sample structure for the plugin architecture. Note that this is\na starting point and it will likely be subject to change.\n\nConsequences\nPositive\n\nIncreased flexibility for different deployment scenarios\nClear path for community contributions\nSimplified testing with in-memory implementation\nBetter separation of concerns\n\nNegative\n\nAdditional complexity in plugin management\nNeed for plugin validation and security review\nPotential for incompatible plugin implementations\nDocumentation overhead for multiple backends\n\nMitigations\n\nPlugin Validation:\n\n\nProvide comprehensive test suites\nImplement plugin verification tools\nDocument security requirements\n\n\nCompatibility:\n\n\nVersion plugin interface explicitly\nProvide migration tools between backends\nMaintain compatibility tests\n\n\nDocumentation:\n\n\nClear plugin development guidelines\nExample implementations\nBest practices documentation\n\nRelated Documents\n\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nPlugin Development Guide (To be created)\nStorage Interface Specification (To be created)\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0019/","title":"ADR-0019: Plugin-Based Storage Backend Architecture"},"https://spike.ist/architecture/adrs/adr-0020/":{"body":"ADR-0020: Switch to Zola for Documentation System\n\n\nStatus:\n\naccepted\nSupersedes: ADR-0002: Use Docsify for Documentation System\n\n\nDate: 2024-02-20\nTags: Documentation\n\nContext\nWhile Docsify has served our documentation needs, we’ve identified several\nlimitations:\n*\n\nSEO capabilities are limited due to client-side rendering\nPerformance is dependent on JavaScript execution\nTemplate customization options are restricted\nPage load times can be impacted by the single JavaScript parser\n\nWe need a documentation system that addresses these limitations while\nmaintaining the benefits of our current system.\nDecision\nWe will switch to Zola as our documentation system, replacing\nDocsify.\nRationale\nZola offers several advantages that align better with our current needs:\n\nStatic site generation provides better SEO capabilities\nNo JavaScript dependency for core functionality\nFlexible templating system using Tera\nFast build times due to being written in Rust\nDirect rendering to HTML improves page load performance\nMaintains support for Markdown-based content\nBuilt-in syntax highlighting and search capabilities\n\nConsequences\nPositive\n\nImproved SEO through static HTML generation\nBetter performance due to pre-rendered content\nMore flexible templating and customization options\nNo JavaScript requirement for core functionality\nFaster page loads\nMaintains Git-based workflow\nSyntax highlighting is out of the box\nBuilt-in search functionality\nClear separation between content and presentation\n\nNegative\n\nRequires a build step (though builds are very fast)\nTeam needs to learn Zola-specific templating syntax\nMigration effort required for existing documentation\nNeed to set up a build pipeline for documentation deployment\n\nReferences\n\nZola Documentation\nADR-0002: Use Docsify for Documentation System (superseded)\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0020/","title":"ADR-0020: Switch to Zola for Documentation System"},"https://spike.ist/architecture/adrs/adr-0021/":{"body":"ADR-0021: SPIKE Keeper as a Stateless Shard Holder\n\nStatus: accepted\nDate: 2025-03-01\nTags: Stateless, Availability, Resilience, Fault-Tolerance\n\nContext\nSPIKE Nexus is the core secret store that generates and manages the\nroot encryption key. To ensure availability and resilience, the root key\nis sharded using Shamir’s Secret Sharing Scheme and distributed to multiple\nSPIKE Keeper instances. These SPIKE Keepers are responsible for holding\ntheir respective key shards in memory to support the recovery process in\ncase SPIKE Nexus needs to reconstruct its root key.\nA key design principle in SPIKE is simplicity and minimalism:\nThe SPIKE Keeper component should remain as lightweight as possible,\navoiding unnecessary complexity such as awareness of Nexus, complex\nconfiguration, or inter-Keeper communication. Instead, SPIKE Nexus should\nmaintain full control over key management while leveraging SPIKE Keepers\nas dumb storage units for key shards.\nDecision\nSPIKE Keepers remain stateless and unaware of SPIKE Nexus:\n\nSPIKE Keepers do not need to know which SPIKE Nexus instance they are\nserving.\nThey store their assigned key shard in-memory and do not persist in any\nstate.\n\nZero configuration for SPIKE Keepers:\n\nSPIKE Keepers have no static configuration files or runtime parameters\nrelated to SPIKE Nexus.\nDeployment should be as simple as running a SPIKE Keeper instance without\nadditional setup.\n\nSPIKE Nexus is responsible for lifecycle management:\n\nSPIKE Nexus generates the root key, sharding it and distributing the\npieces to SPIKE Keepers.\nSPIKE Nexus polls Keepers to check their health and ensure that a quorum\nis available.\nIf a SPIKE Keeper goes down and restarts, SPIKE Nexus is responsible\nfor rehydrating it with the correct key shard.\n\nPolling-based health monitoring and rehydration:\n\nSPIKE Keepers do not initiate communication with SPIKE Nexus.\n\nInstead, SPIKE Nexus periodically queries SPIKE Keepers for their\nstatus.\n\n\nIf a SPIKE Keeper is found to be empty (e.g., after a restart),\nSPIKE Nexus reassigns the missing shard.\n\nRationale\n\nSecurity: SPIKE Keepers hold only a single shard, which is not\nadequate to regenerate the root key. They are never aware of other\nSPIKE Keepers or the full key. This limits their attack surface.\nSimplicity: By removing configuration and inter-service dependencies,\nSPIKE Keepers become easy to deploy, replace, and scale.\nAvailability: The polling and rehydration mechanism ensures that\nSPIKE Nexus* can automatically recover lost shards without manual\nintervention.\nFault Tolerance: Stateless SPIKE Keepers can be replaced without\nrequiring reconfiguration or coordination with other components.\n\nConsequences\nPositive\n\nSimplifies Keeper deployment and operation.\nImproves security by ensuring Keepers never hold full knowledge of the system.\nEnhances reliability by making Keepers easily replaceable without system-wide\nimpact.\nReduces operational burden since SPIKE Nexus automatically manages the\nlifecycle of SPIKE Keepers and their shards.\n\nNegative\n\nSPIKE Nexus must handle additional logic for polling, health monitoring,\nand rehydration.\nSPIKE Keepers depend on SPIKE Nexus for their purpose, making them\nentirely reliant on SPIKE Nexus’ availability.\n\nAlternatives Considered\nSPIKE Keepers as Stateful Services:\n\nRejected because it adds complexity and requires persistent storage.\nWould introduce additional configuration and synchronization challenges.\n\nSPIKE Keepers Managing Their Own Shards:\n\nRejected as it violates the principle of keeping SPIKE Keepers unaware\nof the full system state.\nWould require SPIKE Keepers to store metadata about SPIKE Nexus,\nincreasing complexity and risk.\n\nPush-Based Shard Distribution Instead of Polling:\n\nRejected because it would require SPIKE Keepers to maintain knowledge of\nSPIKE Nexus.\nPolling ensures that SPIKE Keepers can remain stateless and unaware of\nthe system topology.\n\nDecision Outcome\nThis decision is final unless significant operational issues arise. Future\nrevisions may consider optimizations such as event-driven polling or alternative\nSPIKE Keeper designs if the current model proves inefficient at scale.\n","id":"https://spike.ist/architecture/adrs/adr-0021/","title":"ADR-0021: SPIKE Keeper as a Stateless Shard Holder"},"https://spike.ist/architecture/adrs/adr-0022/":{"body":"ADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Responses\n\nStatus: accepted\nDate: 2025-05-03\nTags: Resilience, Fault-Tolerance, Recovery, Availability\n\nContext\nSPIKE Nexus distributes root encryption key shards to multiple\nSPIKE Keeper instances using Shamir’s Secret Sharing Scheme.\nWhen a SPIKE Keeper doesn’t have a shard (e.g., after restart or during\ninitial deployment), it returns a 404 HTTP response to shard retrieval\nrequests from SPIKE Nexus.\nA question has arisen about the appropriate behavior when SPIKE Nexus\nreceives 404 responses from SPIKE Keeper instances:\n\nShould SPIKE Nexus stop polling a SPIKE Keeper after receiving a 404\nresponse?\nShould SPIKE Nexus continue polling SPIKE Keeper instances regardless\nof previous 404 responses?\n\nThis decision is particularly relevant in scenarios where:\n\nSPIKE Keeper instances may restart\nNew SPIKE Keeper instances may be deployed\nSPIKE Keeper instances may be rehydrated through alternative methods\nThe system architecture needs to support future recovery mechanisms\n\nDecision\nSPIKE Nexus will continue polling SPIKE Keepers even after receiving 404\nresponses.\nSpecifically:\n\nSPIKE Nexus will maintain a regular polling schedule for all known\nSPIKE Keeper instances, regardless of their response history.\nA 404 response from a SPIKE Keeper will be logged but will not affect the\npolling schedule.\nSPIKE Nexus will NOT remove a SPIKE Keeper from its polling list\nbased solely on 404 responses.\nSPIKE Nexus will automatically attempt to rehydrate empty\nSPIKE Keepers when possible.\n\nRationale\nThe primary reasons for this decision are:\n\n\nFuture Extensibility: It allows for future mechanisms to rehydrate\nSPIKE Keepers through alternative methods:\n\nOther SPIKE Nexus instances may seed the SPIKE Keeper\nCloning from backup SPIKE Keepers may become available\nSecure SPIKE Keeper APIs may be implemented that allow shard\nrestoration\n\n\n\nArchitectural Simplicity: Continuing to poll all SPIKE Keepers\nregardless of their state creates a simpler, more consistent architecture:\n\nNo complex logic to manage the polling schedule\nNo state to track which SPIKE Keepers should be excluded\nReduced risk of accidentally abandoning a recoverable SPIKE Keeper\n\n\n\nOperational Resilience: Continuous polling allows the system to\nautomatically recover when conditions change:\n\nSPIKE Keepers that restart will be discovered during the next polling\ncycle\nIf a previously unavailable SPIKE Keeper comes back online with a\nshard, it will be immediately useful\nNo manual intervention is required to re-enable polling\n\n\n\nFewer Assumptions: This approach makes fewer assumptions about the future\nstate of the system:\n\nDoes not assume a 404 response means permanent unavailability\nDoes not assume the current distribution methods are the only ones possible\nAllows for unanticipated recovery scenarios\n\n\n\nConsequences\nPositive\n\nSystem can automatically recover from SPIKE Keeper restarts without manual\nintervention\nArchitecture remains simpler with fewer conditional paths and state tracking\nFuture extensibility is preserved for new recovery mechanisms\nConsistent behavior across all SPIKE Keeper instances\nReduced operational burden for managing the system\n\nNegative\n\nSlightly increased network traffic due to polling SPIKE Keepers that may\nremain empty\nPotential resource usage for maintaining connections to SPIKE Keepers that\nconsistently return 404\nAdditional log entries for expected 404 responses\nMay mask actual problems if a SPIKE Keeper is consistently unavailable for\nother reasons\n\nAlternatives Considered\nStop Polling After Consistent 404 Responses\n\nRejected because it would require additional logic to track\nSPIKE Keeper states\nWould introduce a permanent failure mode requiring manual intervention\nWould not automatically benefit from future recovery mechanisms\nWould add complexity to the codebase\nWould create an inconsistent behavior pattern depending on response history\n\nEvent-Based Notification System\n\nRejected in favor of simple polling, though may be reconsidered in the future\nWould require SPIKE Keepers to have knowledge of SPIKE Nexus,\nviolating the design principle\nMore complex to implement and maintain\nIntroduces potential reliability issues with missed notifications\nWould conflict with ADR-0021’s principle of SPIKE Keeper as a stateless\nshard holder\n\nDecision Outcome\nThis decision is implemented as the standard behavior for SPIKE Nexus when\ninteracting with SPIKE Keeper instances. The continuous polling approach:\n\nAligns with the principle of simplicity in the SPIKE architecture\nMaintains the stateless nature of SPIKE Keepers as defined in ADR-0021\nProvides immediate recovery when SPIKE Keepers become available\nSupports future extensibility for alternative recovery mechanisms\n\nThe system should be monitored for any performance impacts from continuous\npolling, but the architectural benefits outweigh the minimal resource costs\nassociated with this approach.\n","id":"https://spike.ist/architecture/adrs/adr-0022/","title":"ADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Responses"},"https://spike.ist/architecture/adrs/adr-0023/":{"body":"ADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\n\nStatus: accepted\nDate: 2025-07-22\nTags: Security, Operations, HA, Simplicity, SPIRE\n\nContext and Problem Statement\nA proposal was made to add a lock/unlock mechanism to SPIKE Nexus, allowing\noperators to globally lock the system (e.g., via a CLI or API) to prevent all\nsecret and policy operations except unlock/status. The lock state would be\npersisted in the backing store and enforced across all Nexus instances, with the\nroot key zeroed out in memory. This was intended to provide a system-wide freeze\nfor security or operational reasons.\nHowever, this approach introduces significant complexity, especially in\nhigh-availability (HA) and distributed deployments. It also creates new\noperational and security risks and may not align with SPIFFE-native best\npractices.\nDecision Drivers\n\nSimplicity and maintainability of the SPIKE architecture\nSecurity model alignment with SPIFFE/SPIRE\nOperational clarity and reliability in HA/distributed setups\nAvoiding unnecessary complexity and performance overhead\nLeveraging existing SPIRE mechanisms for system-level access control\n\nConsidered Options\n\nImplement a lock/unlock mechanism in SPIKE Nexus (persisted in the backing\nstore, enforced at API level)\nUse SPIRE registration entry management (delete/disable Nexus entries to “lock” the system)\nRely on infrastructure-level controls (e.g., scaling down Nexus, process management)\nDo nothing (status quo)\n\nDecision\nSPIKE Nexus will NOT implement a lock/unlock API or CLI feature.\nInstead, operators are recommended to achieve system-level locking by either:\n\nManaging SPIRE registration entries: Removing or disabling the relevant\nSPIRE registration entries for SPIKE Nexus will immediately block all\nauthenticated API access, effectively freezing the system in a secure,\nauditable, and SPIFFE-native way.\nUsing infrastructure-level controls: Scaling down the Nexus deployment,\nstopping Nexus processes, or otherwise restricting access at the\ninfrastructure level are also valid and supported approaches.\n\nThese methods are the supported and recommended ways to “lock” the system.\nNo additional lock/unlock API or CLI subcommand will be provided by\nSPIKE Nexus at this time.\nA sample script for SPIRE registration entry management:\n\nRationale\n\nSimplicity: Avoids introducing distributed consensus, state management,\nand API enforcement logic for a rarely used feature.\nSecurity: SPIRE registration entries are the root of trust; removing them\nis the most secure and auditable way to block access. Infrastructure controls\nare also robust and well-understood.\nOperational Clarity: The lock/unlock state is unambiguous and enforced\nat the trust boundary or infrastructure, not in application logic.\nHA/Scaling: No need for all Nexus instances to coordinate or poll a\nshared lock state, avoiding performance and reliability issues.\nSPIFFE-Native: Embraces the SPIFFE/SPIRE model for access control,\nrather than reinventing similar mechanisms in SPIKE.\n\nConsequences\nPositive\n\nSimpler, more maintainable codebase\nNo performance or reliability impact on Nexus API\nLocking is enforced at the trust boundary (SPIRE), not in application logic\nImmediate effect across all Nexus instances\nNo risk of partial lock or split-brain scenarios\nAligns with SPIFFE-native best practices\n\nNegative\n\nLocking/unlocking requires SPIRE server access (not just SPIKE operator\nprivileges)—This can be seen as a “positive” consequence, too, as it\nprovides an additional level of isolation and security.\nNo fine-grained or temporary lock state within SPIKE Nexus itself\nSome operational scenarios (e.g., “pause but keep registration”) are not\ndirectly supported\n\nAlternatives Considered\nImplementing Lock/Unlock in SPIKE Nexus\n\nRejected due to complexity, risk of split-brain, performance overhead,\nand operational ambiguity in HA setups.\nWould require distributed consensus or polling and add significant code and\noperational burden.\n\nInfrastructure-Level Controls\n\nScaling down Nexus or killing processes is effective but “nuclear” and may\ndisrupt monitoring, logging, or other integrations.\n\nDirect DB Manipulation\n\nNot recommended or supported, but possible for those with privileged access.\nNot considered a safe or auditable approach.\n\nDecision Outcome\nThis ADR documents the decision to rely on SPIRE registration entry management\nor infrastructure-level controls for system-level “locking” of SPIKE Nexus,\nand to avoid implementing a separate lock/unlock API or CLI feature in\nSPIKE Nexus itself.\nThis decision may be revisited if/when a true SPIKE Nexus HA topology is\nimplemented and operational experience suggests a different approach is\nwarranted.\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0023/","title":"ADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus"},"https://spike.ist/architecture/adrs/adr-0024/":{"body":"ADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\n\nStatus: accepted\n\nSupersedes: ADR-0016: Memory-First Secrets Store\nSupersedes: ADR-0017: Synchronous Persistence\n\n\nDate: 2025-08-23\nTags: Security, Operations, HA, Simplicity\n\nContext\nSPIKE Nexus currently uses a dual-layer storage architecture where an\nin-memory cache (secretStore using kv.KV and policies using sync.Map)\nserves as the primary source of truth, with a backing store (SQLite, S3, etc.)\nproviding persistence. This design pattern follows\nADR-0016 (Memory-First Secrets Store) and\nADR-0017 (Synchronous Persistence).\nWhile this architecture provides excellent performance for single-instance\ndeployments, it creates challenges that unnecessarily increase the\narchitectural complexity of the distributed system when attempting to achieve\nhigh availability (HA) through horizontal scaling:\nCurrent Architecture Issues:\n\nSplit-brain scenarios: Multiple instances behind a load balancer can\nmaintain independent in-memory states, leading to inconsistent data views\nVersion drift: When instance A and instance B update the same secret\npath, they maintain different version numbers in their local memory stores\nLost updates: Without distributed locking, concurrent updates from\ndifferent instances can silently overwrite each other\nInconsistent reads: Users can receive different responses depending on\nwhich instance handles their request\nComplex synchronization: Maintaining cache coherency across instances\nwould require additional infrastructure (message buses, distributed locks,\nconsensus protocols)\n\nExample Scenario:\n\nDecision\nWe will eliminate the in-memory cache layer entirely and make all secret and\npolicy operations interact directly with the backing store.\nThis change involves:\n\n\nRemove global in-memory stores:\n\nComment out secretStore (kv.KV) and secretStoreMu\nComment out policies (sync.Map)\n\n\n\nRefactor all operations to use backend directly:\n\nGetSecret() → Read from persist.Backend().LoadSecret()\nUpsertSecret() → Write to persist.Backend().StoreSecret()\nwith atomic operations\nDeleteSecret() → Update backend with deletion timestamps\nSimilar changes for policy operations\n\n\n\nMove version management to persistence layer:\n\nImplement compare-and-swap (CAS) operations in the backend\nUse optimistic locking to handle concurrent updates\nMaintain version consistency at the database level\n\n\n\nTransform NoopStore to InMemoryStore:\n\nFor development/testing scenarios requiring true in-memory operation\nImplement full Backend interface using kv.KV internally\nProvide the same semantics as persistent backends\n\n\n\nAlternatives Considered\n\nDistributed cache with cache invalidation: Add Redis/Hazelcast with\npub/sub for cache invalidation. Rejected due to added complexity and\npotential for cache inconsistency windows.\nLeader-follower architecture: Elect a single leader instance to handle\nall writes. Rejected as it doesn’t provide true HA and adds complexity of\nleader election.\nDistributed locking for writes: Keep cache but use distributed locks\n(for, i.e., via etcd) for write operations. Rejected as it adds external\ndependencies and doesn’t solve read inconsistency.\nEvent sourcing: Transform to event-driven architecture with CQRS.\nRejected as it requires fundamental redesign of the entire system and brings\nunnecessary complexity.\n\nConsequences\nPositive\n\nImmediate consistency: All instances read the same data from the single\nsource of truth\nTrue high availability: Any SPIKE Nexus instance can serve any request\nwithout coordination\nSimplified architecture: Removes entire class of distributed systems\nproblems\nEasier debugging: No cache invalidation issues or cache/backend divergence\nReduced memory footprint: Instances no longer hold all secrets in memory\nAtomic operations: Version conflicts handled at database level with\nproper transactions\n\nNegative\n\nIncreased latency: Every operation now involves backend I/O (can be\nmitigated by backend proximity and connection pooling)\nHigher backend load: All reads hit the backing store (can be mitigated\nby backend scaling and potentially adding read replicas)\nBackend becomes the critical path: System availability now entirely\ndepends on backend availability (can be mitigated by using a HA backing\nstore)\nPotential thundering herd: Many instances might request the same secret\nsimultaneously after backend recovery\n\nNeutral\n\nDifferent operational characteristics: Everything (as always) is a\ntrade-off. With this new design, teams now need to monitor and scale\nthe backend appropriately\nChanged failure modes: Failures now manifest as backend errors rather\nthan cache inconsistencies\n\nImplementation Notes\nThe refactoring follows a systematic approach:\n\nComment out cache-related globals\nLet the compiler identify all broken dependencies\nUpdate each function to use backend directly\nEnsure proper error handling for I/O operations\nAdd context propagation for timeouts and cancellation\n\nThis change aligns with modern cloud-native patterns where stateless services\nrely on robust, scalable data stores rather than maintaining local state.\nReferences\n\nSupersedes: ADR-0016 (Memory-First Secrets Store)\nSupersedes: ADR-0017 (Synchronous Persistence for SPIKE Secrets Store)\nRelated: ADR-0014 (Maintaining SQLite as SPIKE’s Primary Storage Backend)\nRelated: ADR-0019 (Plugin-Based Storage Backend Architecture)\n\n","id":"https://spike.ist/architecture/adrs/adr-0024/","title":"ADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability"},"https://spike.ist/architecture/adrs/adr-0025/":{"body":"ADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\n\nStatus: accepted\nDate: 2025-09-01\nTags: Security, Policy, Architecture, UX\n\nContext\nSPIKE uses path patterns in two primary contexts:\n\nSecret paths: Logical namespaces where secrets are stored\n(e.g., secrets/app/config)\nPolicy patterns: Regular expressions used to match secret paths\nand SPIFFE IDs for access control\n\nThis creates potential confusion because:\n\nSecret paths are not Unix filesystem paths: They are logical key\nnamespaces that happen to use slash-separated hierarchical notation for\nfamiliarity\nPolicy patterns use regular expressions: Pattern matching in policies\nuses full regex syntax, not shell globs or simple wildcards\nDocumentation and examples mix conventions: Some examples used to\nincorrectly suggest Unix path semantics or glob patterns: we have fixed\nthose in the recent documentation updates.\n\nThe current implementation correctly uses regular expressions for policy\nmatching, but the terminology and documentation can mislead users into thinking\nthey’re working with filesystem paths or simple glob patterns.\nDecision\nWe establish the following architectural principles for path handling in SPIKE:\n1. Secret Paths Are Key Namespaces\nSecret paths represent logical key namespaces, not filesystem paths:\n\nPaths SHOULD NOT start with a forward slash (/)\nPaths are relative to the secrets engine mount point\nThe slash separator (/) is used purely for hierarchical organization and\nfamiliarity\nFuture versions MAY restrict trailing slashes for consistency\n\nExamples:\n\n✅ Correct: secrets/app/config\n❌ Discouraged: /secrets/app/config\n\n2. Policy Patterns Use Regular Expressions\nAll pattern matching in SPIKE policies uses regular expressions:\n\nspiffeidPattern fields contain regex patterns, not globs\npathPattern fields contain regex patterns, not globs\nPatterns are compiled using Go’s regexp.Compile()\nFor exact matches, patterns should include ^ (start) and $ (end) anchors\n\nExamples:\n\n✅ Regex: ^secrets/app/.*$ (matches secrets/app/config, secrets/app/env, etc.)\n✅ Regex: ^spiffe://example\\.org/service$ (exact match, escaped dots)\n❌ Not glob: secrets/app/* (this is NOT a valid SPIKE pattern)\n❌ Not glob: spiffe://example.org/service* (this is NOT a valid SPIKE pattern)\n\n3. Terminology Clarification\n\nPath: Refers to secret storage locations (key namespaces)\nPattern: Refers to regular expressions used in policies for matching\nRoute or Namespace: Alternative terms that may be used to emphasize\nthe non-filesystem nature of paths\n\nConsequences\nPositive\n\nClear semantics: Users understand that paths are logical namespaces,\nnot filesystem paths\nPowerful matching: Regular expressions provide precise and flexible\npattern matching\nConsistent behavior: All pattern matching uses the same regex engine\nPredictable results: Users can test patterns using standard regex tools\nSecurity focused: Regex patterns allow for precise access control rules\n\nNegative\n\nLearning curve: Users familiar with shell globs must learn regex syntax\nComplexity: Regular expressions can be more complex than simple wildcards\nPotential errors: Incorrect regex patterns can be overly permissive or\noverly restrictive\n\nNeutral\n\nDocumentation updates: All examples and documentation will use\nthe correct terminology\n\nImplementation Guidelines\nFor Secret Paths\n\nValidation: Paths must match ^[a-zA-Z0-9._\\-/()?+*|[\\]{}\\\\]+$\nConventions: Should not start with /, should use / for hierarchy\nExamples: secrets/database/creds, config/app/production\n\nFor Policy Patterns\n\nCompilation: All patterns are compiled with regexp.Compile(pattern)\nAnchoring: Use ^ and $ for exact matches\nEscaping: Literal dots should be escaped as \\.\nTesting: Patterns can be tested using Go’s regex tools or online\nregex testers\n\nDocumentation Standards\n\nAlways refer to policy “patterns” not “paths” when discussing regex matching\nInclude regex examples with proper escaping and anchoring\nClearly distinguish between secret paths (storage keys) and policy patterns\n(regex)\n\nExamples\nSecret Path Examples\n\nPolicy Pattern Examples\n\nMigration Guide\nFor users transitioning from glob-style thinking:\nGlob PatternSPIKE Regex PatternNotes\nsecrets/*^secrets/[^/]*$Single level only\nsecrets/**^secrets/.*$All levels\nsecrets/app*^secrets/app.*$Prefix match\nsecrets/db-?^secrets/db-.$Single character\nsecrets/db-[123]^secrets/db-[123]$Character class\n\n","id":"https://spike.ist/architecture/adrs/adr-0025/","title":"ADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching"},"https://spike.ist/architecture/adrs/adr-0026/":{"body":"ADR-0026: Configurable Data Directory for SPIKE Components\n\nStatus: accepted\nDate: 2025-09-13\nTags: Configuration, Operations, Deployment\n\nContext and Problem Statement\nSPIKE currently hardcodes the data directory to ~/.spike for storing\nencrypted databases and recovery data. The comment in\ninternal/config/config.go:40 states this is “for security reasons,” but\nanalysis reveals this constraint provides limited security benefits while\nrestricting legitimate operational use cases.\nGiven SPIKE’s security model:\n\nThe backing store is always encrypted with AES-256\nSPIKE treats the backing store as untrusted\nDirectory permissions are set to 0700 regardless of location\n\nThe hardcoded path primarily provides operational simplicity rather than\nfundamental security guarantees.\nDecision Drivers\n\nDeployment flexibility for containerized environments\nSupport for multi-instance deployments\nCompliance requirements for data residency\nTesting and CI/CD pipeline needs\nMaintaining the security posture\n\nConsidered Options\n\nKeep current hardcoded approach - Maintain ~/.spike as the only option\nEnvironment variable configuration - Allow override via environment\nvariables\nConfiguration file approach - Use a configuration file for data paths\nHybrid approach - Environment variables with sensible defaults and\nvalidation\n\nDecision\nImplement Option 4: Hybrid approach using environment variables with\nsensible defaults and comprehensive validation.\nDetailed Design\nNew Environment Variables\n\nFallback Chain\n\nUse environment variable if set and valid\nFall back to ~/.spike (current default)\nFall back to /tmp/.spike-$USER if home directory unavailable\n\nValidation Rules\nThe system will validate custom paths to ensure:\n\nPath exists or can be created - Parent directory must exist\nProper permissions - Directory must have 0700 permissions\nWrite access - Process must be able to write to the directory\nRestricted locations - Reject problematic paths:\n\nSystem directories: /, /etc, /sys, /proc, /dev\nShared temp without user isolation: /tmp (without user suffix)\n\n\nWarning for risky locations - Warn but allow:\n\nWorld-writable directories\nNetwork mounts (when detectable)\n\n\n\nImplementation Example\n\nConsequences\nPositive\n\nContainer deployments - Mount persistent volumes at custom paths\nMulti-instance support - Run multiple SPIKE instances with isolation\nCompliance flexibility - Store data in specific locations for compliance\nTesting isolation - Use temporary directories without affecting user data\nBackward compatible - Existing deployments continue working unchanged\nSecurity maintained - Validation ensures security properties are preserved\n\nNegative\n\nConfiguration complexity - Additional environment variables to manage\nValidation overhead - Path validation adds startup complexity\nSupport burden - More configurations to troubleshoot\nMisconfiguration risk - Users might specify inappropriate paths\n\nNeutral\n\nDocumentation updates - Need to document new configuration options\n\nMigration Path\nFor Existing Users\nNo action required. The system continues to use ~/.spike by default.\nFor Users Wanting Custom Paths\n\nStop SPIKE components\nMove existing data to new location:\n\nSet environment variable:\n\nRestart SPIKE components\n\nSecurity Considerations\nMaintained Security Properties\n\nEncryption - Data remains encrypted regardless of location\nPermissions - Directory permissions enforced (0700)\nUntrusted storage - Security model unchanged\n\nAdditional Safeguards\n\nPath validation - Prevents use of system directories\nPermission checks - Verifies proper access controls\nAudit logging - Log custom directory usage for security monitoring\n\nImplementation Notes\n\nUpdate internal/config/config.go to implement path resolution logic\nAdd validation functions for directory security checks\nUpdate CLAUDE.md and configuration.md with new environment variables\nAdd tests for path validation and fallback logic\nUpdate necessary user-facing documentation\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0026/","title":"ADR-0026: Configurable Data Directory for SPIKE Components"},"https://spike.ist/architecture/adrs/adr-0027/":{"body":"ADR-0027: Separate Audit Logs from Operational Logs\n\nStatus: accepted\nDate: 2025-11-13\nTags: Security, Compliance, Observability, Kubernetes\n\nContext and Problem Statement\nCurrently, SPIKE sends both audit logs and operational logs to stdout without\ndifferentiation. This creates challenges for:\n\nCompliance requirements that mandate immutable audit trails with specific\nretention policies\nSecurity teams needing to route audit events to SIEM systems\nDifferent access controls between audit and operational logs\nPerformance optimization as audit logs have different characteristics\nthan operational logs\n\nWe need to determine the most effective way to separate audit logs from\noperational logs while maintaining simplicity and Kubernetes-native practices.\nDecision Drivers\n\nCompliance requirements: Audit logs often need years of retention\nversus days/weeks for operational logs\nSecurity isolation: Audit logs require stricter access controls and\ntamper-evident storage\nOperational simplicity: Solution should work seamlessly in Kubernetes\nenvironments\nPerformance considerations: Different log volumes and processing\nrequirements\nIntegration flexibility: Easy routing to different backends\n(SIEM versus observability stacks)\n\nCurrent Implementation\nSPIKE currently implements a basic audit logging system that outputs to stdout\nalongside operational logs. The implementation consists of:\nArchitecture\n\n\nWrapper-Based Auditing (internal/net/handle.go):\n\nHandleRoute() wraps all HTTP handlers with audit logging\nAutomatically creates an AuditEntry for each request\nLogs two events per request: entry (AuditEnter) and exit\n(AuditExit)\nTracks request duration and completion state (AuditSuccess or\nAuditErrored)\nGenerates unique trail IDs using crypto.ID()\n\n\n\nRoute-Level Auditing (e.g.,\napp/keeper/internal/route/store/contribute.go):\n\nEach route handler receives an *journal.AuditEntry parameter\njournal.AuditRequest() logs specific actions (create, read, delete,\nlist, etc.)\nUpdates the audit entry with component name, path, resource, and action\nProvides fine-grained operation tracking within the request lifecycle\n\n\n\nAudit Entry Structure (internal/journal/audit.go):\n\n\n\nOutput Mechanism:\n\njournal.Audit() marshals entries to JSON\nOutputs to stdout via fmt.Println()\nCrashes with log.FatalLn() if JSON marshaling fails (fail-secure)\n\n\n\nAudit Actions\nThe system defines specific audit actions:\n\nAuditEnter / AuditExit: Request lifecycle\nAuditCreate: Resource creation\nAuditRead: Resource retrieval\nAuditList: Resource listing\nAuditDelete: Resource deletion\nAuditUndelete: Resource restoration\nAuditFallback: Undefined route access\nAuditBlocked: Blocked/unauthorized access\n\nCurrent Limitations\n\nNo separation: Audit logs mix with operational logs on stdout\nNo tamper detection: Events lack HMAC signatures\nNo guaranteed delivery: Uses stdout without delivery confirmation\nLimited metadata: Missing SPIFFE ID, source IP, and other security\ncontext\nSingle output: Cannot route to multiple destinations simultaneously\n\nConsidered Options\n\nUse stderr for audit logs (stdout for operational)\nStructured logging with type field (both to stdout)\nDedicated audit sidecar pattern\nDirect audit system integration (separate API calls)\nPluggable audit devices (Vault-style architecture)\n\nDecision\nImplement a two-phase approach:\nPhase 1 (Immediate): Use stderr for audit logs while keeping operational\nlogs on stdout, with structured JSON format and clear prefixes.\nPhase 2 (Future): Evolve to pluggable audit devices.\nRationale\nPhase 1 Justification\n\nImmediate value: Can be implemented quickly with minimal changes\nKubernetes-native: Works with existing log collectors (Fluentd/Fluent Bit)\nClear separation: File descriptors provide OS-level isolation\n\nPhase 2 Justification\n\nEnterprise readiness: Matches proven patterns for log collection and\nrouting\nFlexibility: Supports file, socket, syslog, and custom backends\nGuaranteed delivery: Can implement blocking behavior when audit fails\nCompliance: Better suits enterprise audit requirements\n\nWhy Not Other Options\n\nStructured logging only: Doesn’t provide strong enough separation for\ncompliance\nSidecar pattern: Adds complexity without clear benefits over stderr\napproach\nDirect integration only: Less flexible, harder to adapt to different\nenvironments\n\nImplementation Details\nPhase 1 Implementation\nPhase 1 builds on the existing audit infrastructure by redirecting audit\noutput to stderr while enhancing the AuditEntry structure:\n\nKey Changes from Current Implementation:\n\nChange fmt.Println() to fmt.Fprintf(os.Stderr, ...) in\njournal.Audit()\nAdd SPIFFE ID field (extract from request context in HandleRoute())\nAdd source IP field (extract from http.Request)\nOptional HMAC signing for tamper detection\n\nPhase 2 Architecture\nPhase 2 extends the audit system with pluggable devices while maintaining\nbackward compatibility with the existing journal.Audit() interface:\n\nMigration Path\nCurrent → Phase 1:\n\nModify internal/journal/audit.go:\n\nChange fmt.Println() to fmt.Fprintf(os.Stderr, ...)\nAdd SPIFFE ID and SourceIP fields to AuditEntry\n\n\nModify internal/net/handle.go:\n\nExtract SPIFFE ID from request context\nExtract source IP from http.Request.RemoteAddr\nPopulate new fields in AuditEntry\n\n\nUpdate Kubernetes log collectors to route stderr separately\nOptional: Implement HMAC signing for tamper detection\n\nPhase 1 → Phase 2:\n\nCreate AuditDevice interface and implementations\nAdd AuditManager initialization in service startup code\nModify journal.Audit() to write to configured devices\nAdd configuration for audit device selection and options\nMaintain stderr output for backward compatibility\n\nSample Kubernetes Configuration\n\nImplementation Status\nWhat Works Today (Current)\n\n✅ Structured audit logging with AuditEntry and AuditLogLine\n✅ Automatic request lifecycle tracking (enter/exit)\n✅ Wrapper-based auditing via HandleRoute()\n✅ Route-level audit actions (create, read, delete, list, etc.)\n✅ Unique trail IDs for request correlation\n✅ Request duration tracking\n✅ Success/error state tracking\n✅ JSON-formatted output\n✅ Fail-secure behavior (crashes on marshal failure)\n\nWhat Needs Implementation\n\n\n❌ Phase 1:\n\nSeparation of audit logs to stderr\nSPIFFE ID capture in audit entries\nSource IP capture in audit entries\nHMAC signatures for tamper detection\nKubernetes log routing configuration examples\n\n\n\n❌ Phase 2:\n\nPluggable audit device interface\nFile, socket, and syslog device implementations\nBlocking/non-blocking device behavior configuration\nMulti-destination audit delivery\nGuaranteed delivery mechanisms\n\n\n\nConsequences\nPositive\n\nExisting foundation: Current implementation provides solid base for\nenhancement\nProven patterns: Wrapper-based and route-level auditing work well\nImmediate compliance improvement: Phase 1 separation enables better\naudit trail management\nSimple migration path: Changes build incrementally on existing code\nKubernetes-friendly: Works with existing tooling\nFuture-proof: Phase 2 provides enterprise-grade capabilities\nSPIFFE integration: Natural fit with existing SPIFFE-based auth\nTamper detection: Optional HMAC signatures on audit events\n\nNegative\n\nCurrent mixing: Audit and operational logs currently indistinguishable\non stdout\nMissing context: SPIFFE ID and source IP not currently captured\nTwo-phase complexity: Requires planning for migration\nStderr convention: Some tools expect only errors on stderr\nConfiguration overhead: More complex log routing rules\nPotential performance impact: Audit devices could block operations\n\nReferences\nExternal\n\nSPIFFE Audit Considerations: https://spiffe.io/docs/latest/planning/audit/\nKubernetes Logging Architecture: https://kubernetes.io/docs/concepts/cluster-administration/logging/\n\nCurrent Implementation Code\n\ninternal/journal/audit.go - Core audit entry structure and logging\ninternal/net/handle.go - HTTP handler wrapper with automatic auditing\napp/keeper/internal/route/store/contribute.go - Example of route-level\nauditing\napp/nexus/internal/route/secret/delete.go - Example of operation-specific\naudit actions\napp/nexus/internal/route/acl/policy/create.go - Example of policy\noperation auditing\n\n","id":"https://spike.ist/architecture/adrs/adr-0027/","title":"ADR-0027: Separate Audit Logs from Operational Logs"},"https://spike.ist/architecture/adrs/adr-0028/":{"body":"ADR-0028: Use Human-Readable Error Messages in CLI Tools\n\n\nStatus: accepted\nDate: 2025-11-17\nTags: CLI, Error Handling, User Experience, Go\n\nContext\nThe SPIKE Pilot CLI tool (spike) is primarily consumed by human users\n(developers and operators) rather than programmatic consumers. Error handling\nin Go typically uses sentinel errors and errors.Is() for programmatic error\nchecking, which works well for libraries and SDKs. However, CLI tools have\ndifferent requirements because their primary consumer is a human reading\nterminal output.\nWe need to determine the appropriate error handling strategy for the SPIKE\nPilot CLI that balances Go best practices with user experience requirements.\nDecision\nWe will use human-readable, contextual error messages in the SPIKE Pilot\nCLI rather than exposing raw sentinel errors to users.\nSpecifically:\n\nReturn formatted error messages with context using fmt.Errorf()\nInclude actionable information (what failed, why, suggested next steps)\nUse plain English descriptions rather than error codes\nProvide helpful suggestions when appropriate\nReserve sentinel errors for internal library code and SDK usage\n\nRationale\nCLI Tools vs Libraries\nDifferent types of software have different error handling needs:\nSoftware TypeConsumerError Strategy\nLibrary/SDKOther codeSentinel errors, errors.Is()\nCLI ToolHuman userFormatted, contextual messages\nAPI ServiceHTTP clientStructured error responses\n\nIndustry Best Practices\nPopular CLI tools follow this pattern:\nGit:\n\nDocker:\n\nkubectl:\n\nAll provide human-readable context, not raw error types.\nUser Needs for CLI Tools\nWhen a CLI command fails, users need:\n\nWhat went wrong: Clear description of the failure\nWhy it failed: Context about the cause\nWhat to do next: Actionable suggestions when possible\n\nExample comparison:\nSentinel error approach (bad for CLI):\n\nFormatted error approach (good for CLI):\n\nWhen to Use Each Approach\nUse sentinel errors when:\n\nWriting library code consumed by other Go code\nOther code needs to make programmatic decisions based on the error type\nBuilding SDKs or packages\n\nUse formatted errors when:\n\nBuilding CLI tools for human users\nError messages are displayed in terminal output\nContext and suggestions improve user experience\n\nExamples from SPIKE Pilot\nGood: Human-Friendly Errors\n\nInternal: Sentinel Errors Still Used\nThe SDK and internal packages still use sentinel errors appropriately:\n\nThe CLI layer translates these into human-friendly messages.\nConsequences\nPositive\n\nImproved user experience: Users get clear, actionable error messages\nFaster problem resolution: Context helps users fix issues without\nconsulting documentation\nReduced support burden: Self-explanatory errors reduce support requests\nAligned with CLI best practices: Matches user expectations from other\ntools\nAppropriate for audience: Developers and operators are human users, not\nmachines\n\nNegative\n\nHarder to parse programmatically: If scripts wrap the CLI, they cannot\nuse errors.Is()\nLess structured: Error messages may vary in format\nTranslation complexity: Internalization would be more challenging (though\nnot currently required)\n\nMitigations\nFor programmatic consumers (if needed in the future):\n\nConsistent exit codes (0 = success, 1 = error)\nOptional --json flag for structured output\nDocumented error message patterns\n\nImplementation Guidelines\nWhen writing CLI error messages:\n\nBe specific: Include relevant details (paths, IDs, names)\nProvide context: Explain what operation was attempted\nSuggest actions: Point users toward solutions when possible\nUse plain English: Avoid jargon and error codes\nBe concise: Don’t overwhelm with excessive detail\n\nGood example:\n\nBad example:\n\nReferences\n\nGo Error Handling: https://go.dev/blog/error-handling-and-go\nCLI Design Guidelines: https://clig.dev/\nComparison with popular CLI tools (git, docker, kubectl)\n\nRelated ADRs\nThis decision applies specifically to CLI tools. Other components follow\ndifferent patterns:\n\nSPIKE SDK uses sentinel errors for programmatic consumers\nSPIKE Nexus API returns structured error responses\nInternal packages use sentinel errors for type checking\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0028/","title":"ADR-0028: Use Human-Readable Error Messages in CLI Tools"},"https://spike.ist/architecture/adrs/adr-0029/":{"body":"ADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\n\n\nStatus: accepted\nDate: 2025-11-19\nTags: Security, Recovery, Access Control, SPIFFE\n\nContext\nSPIKE provides various operations that workloads can perform against SPIKE Nexus,\nincluding secret management (get, put, delete), policy management, and critical\nrecovery operations (recover, restore). Most operations can be controlled through\nSPIKE’s policy system, allowing fine-grained access control based on SPIFFE IDs\nand other attributes.\nHowever, recovery and restoration operations are fundamentally different\nfrom regular operations:\n\nRecovery initiates the process of retrieving Shamir secret shards when\nSPIKE Nexus needs to be restored from a catastrophic failure\nRestoration submits these shards back to rebuild the root encryption key\n\nThese operations bypass normal secret access policies and directly manipulate\nthe root cryptographic material that protects the entire secrets store. If\ncompromised, an attacker could potentially decrypt all secrets in the system.\nWe need to determine the appropriate access control mechanism for these\ncritical recovery operations.\nDecision\nRecovery (Recover) and restoration (Restore) operations will be restricted\nexclusively to SPIKE Pilot at the SDK level, enforced through SPIFFE ID\nvalidation.\nSpecifically:\n\nThe SDK will check the caller’s SPIFFE ID using spiffeid.IsPilot()\nOnly workloads identified as SPIKE Pilot may invoke these operations\nViolations will result in immediate fatal termination via log.FatalErr()\nThis restriction is not configurable through policies\n\nAll other operations (secrets, policies, cipher, ACLs) remain policy-controlled\nand can be authorized for any workload based on configured policies.\nRationale\nSecurity Criticality Hierarchy\nSPIKE operations fall into different security tiers:\nOperation TypeSecurity ImpactAccess Control\nSecret read/writeMedium - affects individual secretsPolicy-based\nPolicy managementHigh - affects access controlPolicy-based\nCipher operationsMedium - encryption/decryptionPolicy-based\nRecovery/RestoreCritical - affects entire systemHard-coded\n\nWhy Recovery Operations Are Different\nPolicy-controlled operations (secrets, policies, etc.):\n\nOperate within the normal secret access control framework\nFailure affects specific secrets or policies\nCan be safely delegated to various workloads\nPolicy misconfiguration has limited blast radius\n\nRecovery operations (recover, restore):\n\nBypass all policy controls and access root cryptographic material\nFailure or compromise could decrypt all secrets in the system\nShould only be performed during disaster recovery scenarios\nMust have the smallest possible attack surface\nPolicy-based control would create circular dependency (policies are protected\nby the key being recovered)\n\nDefense in Depth\nWhile SPIKE Nexus itself validates recovery requests, enforcing the restriction\nat the SDK level provides defense in depth:\n\nSDK enforcement: Prevents unauthorized workloads from attempting recovery\nNexus enforcement: Final validation even if SDK is bypassed\nSPIFFE authentication: Cryptographically verifiable identity\nAudit trail: Fatal errors logged when violations occur\n\nSPIFFE Identity as Strong Authentication\nSPIKE Pilot’s SPIFFE ID is:\n\nCryptographically verified through mTLS\nIssued by the trusted SPIRE server\nCannot be spoofed or stolen without compromising the SPIRE trust domain\nProvides stronger authentication than password-based or API key approaches\n\nFail-Safe Design\nThe SDK implementation uses log.FatalErr() rather than returning an error:\n\nThis ensures:\n\nNo possibility of error handling bugs bypassing the check\nClear audit trail in logs\nImmediate termination prevents any further processing\nAligns with security-critical failure handling (similar to key length\nvalidation failures)\n\nAlternatives Considered\nAlternative 1: Policy-Based Control\nAllow recovery operations to be controlled through the policy system like other\noperations.\nRejected because:\n\nCreates circular dependency: policies are protected by the key being recovered\nDuring disaster recovery, policy system may not be available\nIncreases attack surface unnecessarily\nPolicy misconfiguration could enable unauthorized recovery\n\nAlternative 2: No SDK Enforcement\nRely solely on SPIKE Nexus to validate recovery requests.\nRejected because:\n\nViolates defense-in-depth principle\nAllows unauthorized attempts to reach Nexus unnecessarily\nReduces audit trail granularity\nBypasses early-fail security principle\n\nAlternative 3: Configuration-Based Control\nMake the allowed SPIFFE IDs configurable via environment variables or config\nfiles.\nRejected because:\n\nConfiguration errors could accidentally enable unauthorized access\nIncreases operational complexity\nProvides no real benefit (recovery should always be from Pilot)\nConfiguration-based security is generally weaker than hard-coded for critical\noperations\n\nConsequences\nPositive\n\nReduced attack surface: Only SPIKE Pilot can initiate recovery operations\nDefense in depth: Multiple layers of validation (SDK + Nexus)\nFail-safe: Fatal errors prevent accidental bypasses\nClear security model: Critical operations have stricter controls than\nregular operations\nAudit trail: Failed attempts are logged with context\nNo configuration complexity: No additional configuration required\n\nNegative\n\nLess flexible: Cannot delegate recovery to other workloads\nOperational constraint: Requires SPIKE Pilot for disaster recovery\nscenarios\nHard-coded policy: Cannot be changed without code modification\n\nNeutral\n\nConsistent with design: SPIKE Pilot is already the administrative/operator\ninterface\nExpected behavior: Recovery is inherently a privileged operation\n\nImplementation Details\nSDK Enforcement\nThe spike-sdk-go package enforces this in:\n\napi/internal/impl/operator/recover.go:67-71\napi/internal/impl/operator/restore.go:76-80\n\n\nOperations NOT Restricted\nThe following operations remain policy-controlled and can be performed by any\nworkload with appropriate policy permissions:\n\nSecret operations: Get, Put, Delete, Undelete, List,\nGetMetadata\nPolicy operations: Create, Get, Delete, List\nCipher operations: Encrypt, Decrypt\nACL operations: Get, List\nBootstrap operations: Contribute, Verify\n\nNexus-Side Validation\nSPIKE Nexus performs additional validation of recovery requests, providing a\nsecond layer of defense even if the SDK check is bypassed.\nMigration Impact\nThis ADR documents existing behavior and does not require migration. The\nrestriction has been in place since the recovery operations were first\nimplemented.\nReferences\n\nSPIFFE specification: https://spiffe.io/docs/latest/spiffe-about/overview/\nShamir Secret Sharing: https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing\nDefense in Depth: https://www.nist.gov/publications/defense-depth-strategy\n\nRelated ADRs\n\nADR-0001: Use SPIFFE/SPIRE for Workload Identity\nADR-0028: Use Human-Readable Error Messages in CLI Tools\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0029/","title":"ADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot"},"https://spike.ist/architecture/adrs/adr-0030/":{"body":"ADR-0030: Minimal Error Messages in API Responses\n\n\nStatus: accepted\nDate: 2025-11-22\nTags: Security, API Design, Error Handling, Information Disclosure\n\nContext\nSPIKE Nexus exposes an HTTP API that workloads use to interact with the secret\nmanagement system. When operations fail, the API must communicate errors to\nclients. The design of error responses involves a fundamental trade-off between\nsecurity and diagnostics:\n\nDetailed error messages provide rich diagnostic information to clients,\nmaking debugging easier, but risk information leakage\nMinimal error messages provide only error codes, maintaining security\nbut offering limited client-side diagnostics\n\nFor a security-critical secret management system, we need to determine the\nappropriate balance between these concerns.\nDecision\nSPIKE Nexus API responses will return error codes only, with no descriptive\nerror messages to clients.\nSpecifically:\n\nAPI responses contain only structured error codes (e.g., NOT_FOUND,\nUNAUTHORIZED, BAD_REQUEST)\nNo additional error message fields, stack traces, or diagnostic information\nAll detailed error context is logged server-side with full audit trail\nClients must interpret errors based solely on:\n\nHTTP status codes (404, 401, 400, 500)\nStructured error code enumerations\nRequest parameters they provided\n\n\n\nRationale\nSecurity: Preventing Information Leakage\nError messages can reveal sensitive information about the system:\nPath existence enumeration:\n\nPermission structure disclosure:\n\nImplementation details:\n\nStack traces (the “one bad commit” risk):\n\nDefense Against Enumeration Attacks\nMinimal errors prevent attackers from probing the system:\nAttack VectorDetailed MessagesMinimal Codes\nPath enumeration“Path X not found” vs “Path Y unauthorized” reveals valid pathsAll failures return same code\nPermission probingMessages reveal permission boundariesNo distinction between not-found and unauthorized\nVersion detectionStack traces reveal library versionsNo version information leaked\nSchema discoveryError messages reveal data structureNo schema information exposed\n\nAPI Design: Clean and Stable\nError codes provide better API stability than messages:\nProgrammatic handling:\n\nNo versioning issues:\n\nError codes remain stable across versions\nNo message format changes breaking clients\nNo localization complexity\nConsistent parsing and handling\n\nTestability:\n\nDeterministic error codes are easy to test\nNo string matching or regex required\nClear expected outcomes in test cases\n\nOperational Model: Server-Side Context\nSPIKE’s architecture provides full diagnostics where they belong:\nAudit logging captures everything:\n\nClient receives:\n\nClear separation of concerns:\n\nClients: Get actionable error codes for programmatic handling\nOperators: Have server access and can see full audit logs with context\nAuthorized users: Can correlate their requests with server logs if needed\nUnauthorized users: Get nothing useful for reconnaissance\n\nIndustry Validation\nSecurity-critical systems follow this pattern:\nHashiCorp Vault:\n\nAWS Secrets Manager:\n\nKubernetes Secrets API:\n\nAll separate client-facing errors from server-side diagnostics.\nAlternatives Considered\nAlternative 1: Include Generic Error Messages\nProvide generic messages without sensitive details:\n\nRejected because:\n\nAdds API surface complexity with minimal benefit\nGeneric messages don’t provide actionable information beyond the code\nRisk of messages accidentally becoming more detailed over time\nThe error code already conveys the same information\nNo clear line between “safe” and “unsafe” detail levels\n\nAlternative 2: Detailed Messages for Authenticated Users\nProvide detailed errors only to authenticated, authorized users:\n\nRejected because:\n\nStill risks information leakage (policy names, path details)\nAdds complexity to determine what details are “safe”\nAuthentication doesn’t mean users should see internal details\nCreates inconsistent error handling logic\nServer-side logs already provide this for operators\n\nAlternative 3: Request IDs for Correlation\nInclude correlation IDs so clients can reference server logs:\n\nConsidered acceptable but not required because:\n\nSPIKE’s audit logging already provides correlation via SPIFFE ID and\ntimestamp\nUsers with legitimate need for diagnostics have server log access\nAdding request IDs provides minimal benefit over existing correlation\nmethods\nCan be added later if operational experience shows clear need\nKeeping responses minimal is preferred for initial implementation\n\nStatus: May be reconsidered based on operational feedback\nConsequences\nPositive\n\nSecurity by design: Information leakage is prevented at the API layer\nEnumeration protection: Attackers cannot probe system structure via\nerrors\nNo accidental disclosure: Impossible to leak stack traces or\nimplementation details\nClean API surface: Simple, stable error code enumeration\nProgrammatic handling: Clients can reliably switch on error codes\nStable interface: Error codes don’t change; messages would\nClear security model: “If you’re authorized, the code tells you\neverything. If you’re not, you get nothing.”\n\nNegative\n\nLimited client diagnostics: Clients cannot see detailed error reasons\nOperator workflow: Users must correlate client errors with server logs\nfor debugging\nLearning curve: New users might expect more detailed error messages\nScript debugging: Wrapper scripts get less information for error\nhandling\n\nNeutral\n\nConsistent with design: SPIKE already has comprehensive audit logging\nExpected for security systems: Users familiar with Vault, etc., expect\nthis pattern\nOperational requirement: Operators need server access anyway for secret\nmanagement\n\nImplementation Details\nResponse Structure\nAll error responses follow this structure:\n\nError Codes\nStandard error codes returned:\nHTTP StatusError CodeMeaning\n200nullSuccess\n400BAD_REQUESTInvalid request format or parameters\n401UNAUTHORIZEDAuthentication or authorization failure\n404NOT_FOUNDResource does not exist (or unauthorized)\n500INTERNAL_SERVER_ERRORBackend or server-side failure\n\nNote: 404 is used for both “not found” and “not authorized” to prevent\nenumeration.\nServer-Side Logging\nAll errors are logged with full context:\n\nError Handling Pattern\nAll route handlers follow this pattern:\n\nClient Interpretation\nClients use error codes programmatically:\n\nFuture Enhancements\nCorrelation IDs\nIf operational experience shows a clear need, we may add request correlation\nIDs to API responses:\n\nBenefits:\n\nUsers can reference specific requests when asking operators for help\nOperators can quickly locate relevant log entries\nNo security information is leaked (ID is opaque)\nImproves support workflow without compromising security\n\nCurrent status:\n\nNot implemented in initial version\nExisting correlation via SPIFFE ID and timestamp is sufficient\nWill reconsider based on operational feedback and support burden\nCan be added non-breaking if needed\n\nEvaluation criteria:\n\nFrequency of users needing operator assistance for error diagnosis\nTime spent by operators correlating client errors with server logs\nUser feedback on debugging difficulty\nComparison with alternative approaches (timestamp-based correlation,\nSPIFFE ID filtering)\n\nReferences\n\nOWASP: Information Exposure Through Error\nMessages\nCWE-209: Information Exposure Through an Error\nMessage\nNIST SP 800-53: Security and Privacy Controls\n(SI-11: Error Handling)\nHashiCorp Vault API documentation\n\nRelated ADRs\n\nADR-0028: Use Human-Readable Error Messages in CLI Tools (different\naudience: humans vs. API clients)\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\n(related security-critical design decision)\n\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0030/","title":"ADR-0030: Minimal Error Messages in API Responses"},"https://spike.ist/architecture/adrs/adr-0031/":{"body":"ADR-0031: AST-Based Test Enforcement for Route Guard Functions\n\n\nStatus: accepted\nDate: 2024-11-27\nTags: Security, Testing, Authorization, Code Quality\n\nContext and Problem Statement\nSPIKE Nexus and SPIKE Keeper route handlers must perform authorization checks\nbefore processing requests. The established pattern uses net.ReadParseAndGuard\nwhich accepts a guard function parameter that is executed internally. However,\nthere is no compile-time or automated mechanism to ensure new route handlers\nfollow this pattern.\nA contributor adding a new route could forget to include guard function\ninvocation, creating an authorization bypass vulnerability. Code review catches\nmost issues, but human oversight is fallible.\nDecision Drivers\n\nSecurity: Every route must have authorization checks\nDeveloper experience: Should not add excessive boilerplate\nMaintainability: Solution should be self-documenting\nCI integration: Violations should be caught before merge\nFlexibility: Must support both standard and custom guard patterns\n\nConsidered Options\n\nMandatory guard parameter on route registration - Pass guard function to\nall routes, but this does not guarantee the guard is actually called\nWrapper function approach - SecureRoute(pattern, guard, handler) that\nalways calls guard before handler\nInterface-based handlers - Require SecureHandler interface with\nGuard() and Handle() methods\nAST-based test - Scan route handler code and verify guard invocation\nConvention + code review only - Document the pattern and rely on review\n\nDecision\nImplement an AST-based test that scans all route handler files and verifies\neach Route* function contains a guard invocation.\nThe test recognizes multiple valid patterns:\n\nnet.ReadParseAndGuard calls (standard JSON route pattern)\nFunctions starting with guard (e.g., guardPolicyDeleteRequest)\nKnown guarded helper functions (e.g., handleJSONDecrypt for cipher routes\nthat support streaming)\n\nRationale\n\nNo code changes required - existing pattern works as-is\nCI enforcement - test fails if any route lacks guard invocation\nSelf-documenting - test code documents the convention\nZero runtime overhead - purely a test-time check\nFlexible - supports existing cipher routes that use custom guard patterns\ndue to streaming support\n\nThe existing net.ReadParseAndGuard pattern already guarantees guard execution\nfor routes that use it. The AST test ensures all routes use either this pattern\nor an equivalent guard invocation.\nConsequences\nPositive\n\nAuthorization bypass vulnerabilities are caught automatically in CI\nNew contributors learn the pattern from test failure messages\nNo changes to production code or runtime behavior\nTest serves as living documentation of the guard convention\n\nNegative\n\nTest must be updated if new guarded helper functions are added\nAST parsing adds test complexity\nFalse positives possible if function naming conventions change\n\nImplementation Notes\nSPIKE Nexus\nThe test is located at app/nexus/internal/route/base/guard_test.go and:\n\nScans subdirectories: acl/policy, bootstrap, cipher, operator,\nsecret\nFinds functions starting with Route\nVerifies each calls a guard (via ReadParseAndGuard, guard* functions,\nor known guarded helpers)\nReports all violations with file paths and function names\n\nUtility files (errors.go, guard.go, handle.go, etc.) are skipped as they\ndo not contain route handlers.\nSPIKE Keeper\nA similar test is located at app/keeper/internal/route/base/guard_test.go and:\n\nScans the store subdirectory\nFinds functions starting with Route\nVerifies each calls a guard (via ReadParseAndGuard or guard* functions)\nReports all violations with file paths and function names\n\nSPIKE Keeper has fewer routes (shard contribution and retrieval) but they are\nequally critical since they handle root key shards.\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0031/","title":"ADR-0031: AST-Based Test Enforcement for Route Guard Functions"},"https://spike.ist/architecture/adrs/adr-0032/":{"body":"ADR-0032: Standard 12-Byte Nonce Size for AES-GCM\n\n\nStatus: accepted\nDate: 2024-11-27\nTags: Security, Cryptography, AES-GCM\n\nContext and Problem Statement\nSPIKE uses AES-GCM for symmetric encryption in several places:\n\nCipher API (encryption as a service)\nBootstrap verification\nBackend storage encryption\n\nGCM technically supports multiple nonce sizes via Go’s cipher.NewGCMWithNonceSize(),\nbut the standard 12-byte (96-bit) nonce is recommended by NIST. Should SPIKE\nsupport configurable nonce sizes, or hardcode the standard 12-byte size?\nDecision Drivers\n\nSecurity: Follow NIST recommendations and avoid non-standard configurations\nPerformance: 12-byte nonces use a more efficient internal counter mode\nInteroperability: Clients need to know the expected nonce size\nSimplicity: Avoid unnecessary configuration complexity\n\nConsidered Options\n\nHardcode 12-byte nonce size - Use the NIST-recommended standard\nMake nonce size configurable - Allow runtime or compile-time configuration\nUse cipher.NonceSize() everywhere - Query the cipher for its nonce size\n\nDecision\nHardcode the 12-byte nonce size as a constant (crypto.GCMNonceSize) and use it\nfor all nonce validation. Nonce generation already correctly uses c.NonceSize()\nfrom the cipher instance.\nRationale\nWhy 12 bytes is the right choice\nPer NIST SP 800-38D (Recommendation for Block Cipher Modes of Operation:\nGalois/Counter Mode):\n\n96-bit (12-byte) nonces use the efficient counter mode directly\nOther sizes require an additional GHASH operation, adding overhead\n12 bytes provides sufficient uniqueness for random nonce generation\nThis is the default for Go’s cipher.NewGCM()\n\nWhy not make it configurable\n\nNo legitimate use case for non-standard sizes in SPIKE’s context\nConfiguration adds complexity and potential for misconfiguration\nNon-standard sizes have security implications that users may not understand\nProtocol versioning (spikeCipherVersion) exists if changes are ever needed\n\nConsistency in generation vs validation\n\nGeneration: Uses c.NonceSize() - correct, as the cipher knows its size\nValidation: Uses hardcoded constant - correct, as we enforce the standard\n\nThis is not inconsistent. Generation queries the cipher (which returns 12 for\nstandard GCM), while validation enforces that incoming data matches our expected\nstandard.\nConsequences\nPositive\n\nFollows NIST recommendations\nNo configuration complexity\nConsistent behavior across all SPIKE components\nClear documentation via the constant and this ADR\n\nNegative\n\nCannot use non-standard nonce sizes (this is intentional)\nIf Go’s default ever changed (extremely unlikely), we would need updates\n\nImplementation Notes\nThe constant is defined in internal/crypto/gcm.go:\n\nThis is used by:\n\napp/nexus/internal/route/cipher/ - Cipher API validation\napp/nexus/internal/route/bootstrap/ - Bootstrap verification\n\nIf a future protocol version requires different nonce handling, increment\nspikeCipherVersion and handle accordingly.\n\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n","id":"https://spike.ist/architecture/adrs/adr-0032/","title":"ADR-0032: Standard 12-Byte Nonce Size for AES-GCM"},"https://spike.ist/architecture/architectural-decision-records/":{"body":"SPIKE Architectural Decision Records (ADRs)\nThis section serves as an archive of significant architectural decisions made\nduring the design and development of SPIKE. Each ADR documents the\nreasoning behind a specific choice, along with the associated alternatives\nand their trade-offs. By maintaining this record, we provide transparency,\ntraceability, and clarity for current and future maintainers of the SPIKE\nproject.\nBelow, you will find the list of ADRs organized for easy access. Click on each\nentry to read more details.\n\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n\n \n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/architecture/architectural-decision-records/","title":"ADRs"},"https://spike.ist/architecture/security-model/":{"body":"SPIKE Security Model\nHere is a brief introduction to SPIKE’s security model.\nMachine as the Trust Boundary\nSPIKE components are intended to be used as the foundation for\ncloud native secrets management in a zero trust environment. SPIKE\nsupports Linux and the BSD family (including macOS). Windows is not currently\nsupported, though some early prototyping is a work in progress.\nSPIKE (with the help of SPIFFE and SPIRE) adheres to the zero trust\nnetworking security model in which it is assumed that network communication is\nhostile or presumably fully compromised. That said, it is also assumed that\nthe hardware on which *SPIKE components run, as well as its operators,\nis trustworthy.\nIf the hardware is considered as an attack surface, or insider threats are\npart of the threat model, then careful considerations should be made around\nkey components. The physical placement of SPIRE Server, SPIKE Nexus,\nand SPIKE Keeperinstances, and the security of their relevant configuration\nparameters will be important.\nAuthentication and Communication\n\nAll inter-component communication is secured through SPIFFE mTLS.\nComponents identify each other using their SVIDs.\nNetwork-level security is provided by SPIFFE mTLS.\n\nTrust Boundaries\nThe primary trust boundary is at the machine level. Once the machine is\ncompromised, hardening SPIKE components will provide diminishing returns.\nIn that regard, both physical and OS-level security is important.\nFor example, when the machine is compromised, an attacker with sufficient\nprivileges can observe and control the memory of SPIKE Nexus, or\nSPIKE Keeper; they can inject their counterfeit workloads; they can modify\nSPIRE and create their own registration entries\nIt’s also worth noticing that, since SPIKE Keeper backs ups the root key\nin memory, if SPIKE Keeper is compromised, the machine can be considered\ncompromised.\nFor containerized deployments, both SPIKE Nexus and SPIKE Keeper\nshall be hardened.\nThreat Model Exceptions\nThe following are not considered part of SPIKE’s threat model:\n\nProtecting against the control of the storage backend: Any storage backend\nis considered untrustworthy by SPIKE, so any data saved in the storage\nbackend is encrypted at rest, and only SPIKE Nexus can decrypt it.\nAn attacker can perform arbitrary operations against the storage backend,\nIt is not SPIKE’s responsibility to protect the storage backend itself;\nSPIKE only ensures that an attacker accessing the storage backend cannot\nreveal the data stored there.\nProtecting against memory analysis of running system components: If an\nattacker can inspect the memory state of any component, then they already have\ndirect access to the machine (which is our primary trust boundary). If this\nhappens, then the confidentiality of the data may be compromised. Preventing\nmemory analysis is a common system security best practice, and it is out\nof scope for SPIKE to enforce such measures.\n\nSystem administrators should implement the following security measures to\nprevent memory analysis:\n\nSet /proc/sys/kernel/yama/ptrace_scope to 2 or 3:\n\nValue 2 restricts ptrace to root-only access\nValue 3 disables ptrace completely, offering maximum security\n\n\nMake this setting permanent by adding kernel.yama.ptrace_scope = 2 to\n/etc/sysctl.d/10-ptrace.conf\nConsider using SELinux or AppArmor profiles to further restrict\nprocess debugging capabilities\nIf running in a container, ensure the container runtime is configured to\ndisable ptrace capabilities (e.g.,\nusing --security-opt=no-new-privileges in Docker)\nRegular audit of processes with CAP_SYS_PTRACE capability, as this can\nbypass ptrace restrictions\n\n\n\n\nProtecting against malicious code execution on the underlying host system.\nThis is again the system administrator’s responsibility. SPIKE cannot\nprotect against malicious code execution as that ability likely requires\nadministrative privileges, which should be avoided for SPIKE components\nin the first place to prevent privilege escalation.\nProtecting against the underlying system’s flaws. The systems shall be\nup to date with respect to dependencies, properly secured, monitored, and\nhardened.\nProtecting against ill intent of SPIKE super admins: SPIKE assumes\ntrust for super administrators. Any malicious actions performed by super\nadmins, such as abusing their elevated privileges, are considered out of\nscope for SPIKE’s threat model. It is the organization’s responsibility\nto enforce proper checks, balances, and monitoring mechanisms for super\nadmin activities.\nProtecting against SPIKE administrators supplying vulnerable or malicious\nconfiguration data. This includes both intentional or unintentional\nmisconfiguration—an administrator is supposed to know what they are doing.\nAny data provided as configuration values to SPIKE should be\nvalidated. Misconfiguration of SPIKE, or SPIFFE can result in the\ncompromise of the confidentiality or the integrity of the data stored.\n\nThe Backing Store is Untrusted\nSince the storage backend resides outside the trusted boundary, SPIKE\ntreats it as untrusted and encrypts data before sending it. This ensures that\neven if a malicious attacker gains access to the storage backend, the data\nremains secure, as it can only be decrypted by SPIKE Nexus.\nAdditionally, the storage backend serves as a durable, persistent layer,\nensuring data availability across application crashes and server restarts.\nEspecially when using an external data store other than the default local\nSQLite backing store, although SPIKE assumes the store is untrusted,\nstill considering the following will be prudent:\n\nIf possible, have SPIKE’s backing store as an isolated database not shared\nby any other service to reduce the attack surface.\nIf that’s not possible and the backing store is a shared database with other\nservices, be aware of who else has access to it and manages it?\nBe cognizant about how SPIKE Nexus will authenticate to this database.\nMake sure the database connection is secure with TLS or mTLS.\n\nNetwork Isolation of SPIKE Keepers\nSPIKE Keepers do not have any communication pathway between each other, and this\nis a decision by design. This significantly limits the possibility of lateral\nmovements as even when an attacker gains a foothold on a SPIKE Keeper instance,\nthey cannot laterally move to other SPIKE Keeper instances.\nSPIKE Nexus and SPIKE Keepers establish a hub-spoke topology where SPIKE\nKeepers (the spokes) can only communicate with SPIKE Nexus (the hub).\nSPIKE Keeper Shard Distribution and Disaster Recovery\nSPIKE uses SPIKE Keepers, which are apps responsible for storing\nShamir shards of the root key. Both the root key and the\nshards are always in memory and never persisted to disk.\nSPIKE Nexus can establish a SPIFFE-based mTLS connection to request a shard\nfrom a SPIKE Keeper, enabling the system to auto-recover itself.\nThe security model allows for different levels of redundancy and control:\n\nA typical setup could involve three SPIKE Keeper instances. No single\nshare can reconstruct the root key alone, ensuring security. However, multiple\nshares can be combined to restore the system when needed.\nSPIKE Nexus often automatically recovers itself from crashes using\nSPIKE Keepers. However, for the unlikely case of a total system crash,\neach administrator can hold one of these shares and use spike restore to\nrestore the system back to normal. Since a single shard cannot recreate\nthe root key, we are mitigating risk by distributing trust.\nFor those less concerned with strict separation, an alternative approach\ncould involve storing both shares on a single thumb drive or distributing\ntwo shares across separate thumb drives in different safes. This trade-off\nbalances security with recovery convenience.\n\nUltimately, the design offers flexibility, allowing organizations to choose\ntheir preferred level of security while considering the operational impact of\ndisaster recovery.\nKey Management\n\nThe system assumes a long-lived, well-guarded, initial root key.\n\nThe root key will be periodically rotated, but still, it will be\nlong-lived.\n\n\nThe root key is automatically generated by SPIKE Bootstrap, and it’s\nnever stored on disk in plain text (i.e., it always lives in memory)\nAn administrator with adequate privileges can use spike recover to save\nShamir Shards in an encrypted medium out-of-band for future\nbreak-the-glass disaster recovery.\nRoot key rotation will also re-encrypt the secrets.\n\nRoot Key Properties\nPropertyValue\nSize32 bytes (256 bits)\nAlgorithmAES-256-GCM\nGenerationCryptographically secure random\nStorageMemory only (never persisted to disk)\nProtectionMutex-protected for thread-safe access\n\nWhy Memory-Only Storage?\nKeeping the root key exclusively in memory provides several security benefits:\n\nNo disk exposure: The key cannot be read from the filesystem\nEphemeral: The key is erased on process termination\nNo backup leakage: System backups do not contain the key\nReduced attack surface: Fewer persistence vectors to protect\n\nThe trade-off is that the key must be reconstructed on restart using Shamir\nshards from SPIKE Keepers, and in rare disaster scenarios, manual recovery\nmay be required.\nMemory Protection\nSPIKE components use mlockall() to prevent memory from being swapped to\ndisk. This is implemented via mem.Lock() from the SDK and called during\ncomponent initialization through Preamble().\nConfiguration requirements:\n\nLinux: Set memlock limits in /etc/security/limits.conf\nDocker: Configure default-ulimits.memlock in daemon.json\nKubernetes/systemd: Set LimitMEMLOCK=infinity in the unit file\n\nIf memory locking fails due to insufficient privileges, a warning is logged\n(controlled by SPIKE_SHOW_MEMORY_WARNING) and the system continues to operate.\nRecommended OS-level protections:\n\nEnable ASLR (Address Space Layout Randomization)\nEnable DEP (Data Execution Prevention)\nDisable swap (vm.swappiness=0)\nDisable core dumps (LimitCORE=0 or ulimit -c 0)\n\nRoot Key Rotation\nRoot key rotation is not currently supported. This is because:\n\nAll secrets and policies would need to be re-encrypted\nKeeper shards must be regenerated and redistributed\nThe migration process carries a risk of data loss\n\nThis is a known limitation and may be addressed in future versions.\nWorkload Access\nWorkloads can securely access their secrets and perform lifecycle operations\n(e.g., create, delete, and modify secrets) based on access policies defined\nby an administrator (using the spike policy command). These policies\nspecify what a workload is allowed to do with the secrets managed by\nSPIKE Nexus.\n\nDefault Deny: By default, access to SPIKE Nexus is prohibited. Only\nsuper administrators have full access by default.\nPolicy Enforcement: Workloads require a valid, explicitly defined policy\nto perform any lifecycle operation on paths that contain secrets.\nControlled Operations: The access policies strictly govern operations such\nas creating, deleting, or modifying secrets.\nAccess Scoping: Policies can define the scope and level of access (e.g.,\nread-only or full access) on specific secret paths for each workload.\n\nThis ensures that workloads only access or modify the secrets they are\nexplicitly permitted to, in accordance with their predefined policies.\nOperation Access Control Model\nSPIKE employs two distinct access control mechanisms depending on the\ncriticality of operations:\nPolicy-Controlled Operations\nMost operations are governed by SPIKE’s policy system, allowing flexible,\nfine-grained access control. Administrators can grant permissions to any\nworkload through policy configuration. These operations include:\n\nSecret Management: get, put, delete, undelete, list,\nmetadata\nPolicy Management: create, get, delete, list\nCipher Operations: encrypt, decrypt\nACL Operations: get, list\nBootstrap Operations: contribute, verify\n\nHard-Coded Restricted Operations\nRecovery and restoration operations are restricted exclusively to SPIKE\nPilot through hard-coded SPIFFE ID validation at the SDK level. These\noperations cannot be delegated through policies:\n\nRecovery (recover): Retrieves Shamir secret shards from SPIKE Keepers\nRestoration (restore): Submits shards to rebuild the root encryption\nkey\n\nRationale: Recovery operations bypass all policy controls and directly\nmanipulate root cryptographic material. If compromised, they could enable\ndecryption of all secrets in the system. Unlike other operations that work\nwithin the policy framework, recovery operations reconstruct the very key that\nprotects the policies themselves, creating a circular dependency that makes\npolicy-based control inappropriate.\nEnforcement: The SDK validates the caller’s SPIFFE ID using\nspiffeid.IsPilot() and fatally terminates any unauthorized attempts via\nlog.FatalErr(). This provides defense-in-depth alongside SPIKE Nexus’s own\nvalidation.\nSee Also: ADR-0029: Restrict Recovery and Restoration Operations to SPIKE\nPilot for detailed rationale and design\ndecisions.\nAdministrative Access\nAlthough SPIKE uses policy-based access to secrets and administrative\noperations, SPIKE Nexus recognizes certain builtin SPIFFE IDs and assigns\nthem predefined roles:\n\nAdministrative access is granted using special SPIFFE IDs:\n\nspiffe://$trustRoot/spike/pilot/role/superuser: Super Admin. Can do\neverything but recovery or restore operations.\nspiffe://$trustRoot/spike/pilot/role/recover: Recovery user. Can only\nrecover the root key shards to the local file system.\nspiffe://$trustRoot/spike/pilot/role/restore: Restore user. Can only\nrestore the root key by providing one shard at a time.\n\n\n\nThis gives us the flexibility to have separate users own distinct operational\nresponsibilities. For example, a specific operator may only restore the system\nupon an unexpected crash, but they may not have the right to define access\npolicies for secrets.\nThis separation also provides better auditability.\n\nOnce the system is initialized, accidental re-initialization is prevented.\n\nFor emergencies the admin user can use an out-of-band script to\n“factory-reset” SPIKE.\n\n\n\nMulti-Admin Support\nOther than the three predefined roles (superuser, recover, restore), named\nadmin access to the system would only be possible using an external identity\nmanager such as an OIDC provider.\nSPIKE focuses on secure and efficient secret storage. It delegates access\nand identity management to established standards like OIDC, keeping\nauthentication concerns out of scope.\nSecurity of SPIKE Binaries\nSPIKE takes several measures to ensure the security of its binary\ndistributions:\n\nSymbol Stripping: Release binaries have symbols stripped to reduce attack\nsurface and minimize information leakage that could be used in exploitation\nattempts.\nCryptographic Verification: All official SPIKE releases include SHA256\nchecksums that users should verify before installation. This ensures the\nintegrity of the binaries and confirms they haven’t been tampered with during\ndistribution.\n\nVerification Process: Users can verify the integrity of downloaded\nbinaries using the following command: sha256sum -c spike-v$version.sha256.\nOr, on macOS: shasum -a 256 -c spike-v0.4.0.sha256.\n\n\nTransparency: All release artifacts and their corresponding checksums are\npublicly available on the official GitHub releases page,\nallowing for community verification and trust.\n\nFIPS Compliance\nFIPS stands for Federal Information Processing Standards. FIPS\nare publicly announced standards developed by the U.S. National Institute of\nStandards and Technology (NIST) for use in computer systems by\nnon-military American government agencies and government contractors.\nFIPS standards cover various aspects of information technology.\nFIPS 140-3, in particular, defines standards of security for hardware\nand software cryptographic modules used to protect sensitive information.\nAll SPIKE binaries are configured to be FIPS 140-3-enabled at compile\ntime.\nWe use GOFIPS140=v1.0.0 build time settings, that sets the\nGODEBUG=fips140=on flag which ensures that the Go runtime is in FIPS 140-3\nmode.\n \n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/architecture/security-model/","title":"SPIKE Security Model"},"https://spike.ist/architecture/system-overview/":{"body":"SPIKE System Overview\nThis document provides an overview of SPIKE, a SPIFFE-native\nSecrets Management solution. It is designed to ensure secure storage, recovery,\nand management of sensitive data with a focus on simplicity, reliability,\nand scalability for production environments.\nSPIKE Components\nSPIKE (Secure Production Identity for Key Encryption) is a Secrets\nManager built on top of a SPIFFE (Secure Production\nIdentity Framework for Everyone) identity control plane, consisting of three\ncomponents:\n\nSPIKE Nexus (./nexus): The secrets store\nSPIKE Pilot (./spike): The CLI\nSPIKE Keeper (./keeper): The redundancy mechanism\nSPIKE Boostrap: (./bootstrap): Securely initializes SPIKE Nexus\nwith the required crypto material without human intervention.\n\nThe system provides high availability for secret storage with a manual recovery\nmechanism in case of irrecoverable failure.\nHere is an overview of each SPIKE component:\nSPIKE Nexus\n\nSPIKE Nexus is the primary component responsible for secrets management.\nIt creates and manages the root encryption key.\nIt handles secret encryption and decryption.\nIt syncs the root key’s Shamir Shards with SPIKE\nKeeperss. These shards then can be used to recover SPIKE Nexus\nupon a crash.\nIt provides an RESTful mTLS API for secret lifecycle management,\npolicy management, admin operations, and disaster recovery.\n\nSPIKE Keeper\n\nIt is designed to be simple and reliable.\nIt does one thing and does it well.\nIts only goal is to keep a Shamir Shard in memory.\nBy design, it does not have any knowledge about its peer SPIKE Keepers,\nnor SPIKE Nexus. It doesn’t require any configuration to be brought up.\nThis makes it simple to operate, replace, scale, replicate.\nIt enables automatic recovery if SPIKE Nexus crashes.\n\nSince SPIKE Keeper only contains a single shard, its compromise will not\ncompromise the system.\nThe more keepers you have, the more reliable and secure your SPIKE\ndeployment will be. We recommend 5 SPIKE Keeper instances with a\nshard-generation threshold of 3, for production deployments.\nCheck out SPIKE Production Hardening Guide for more\ndetails.\nSPIKE Pilot\n\nIt is the CLI to the system (i.e., the spike binary that you see\nin the examples).\nIt converts CLI commands to RESTful mTLS API calls to SPIKE Nexus.\n\nSPIKE Pilot is the only management entry point to the system.\nThus, deleting/disabling/removing SPIKE Pilot reduces the attack surface\nof the system since admin operations will not be possible without\nSPIKE Pilot.\nSimilarly, revoking the SPIRE Server registration of SPIKE Pilot’s\nSVID (once SPIKE Pilot is no longer needed) will effectively block\nadministrative access to the system, improving the overall security posture.\nSPIKE Bootstrap\n\nIt is a one-time initialization component that runs during system setup.\nIt generates a cryptographically secure random root key.\nIt splits the root key into Shamir shards and distributes them\nto the configured SPIKE Keeper instances.\nIt verifies that SPIKE Nexus has successfully initialized by performing\nan end-to-end encryption test.\n\nSPIKE Bootstrap is designed to run once per deployment. In Kubernetes\nenvironments, it uses a ConfigMap to track whether bootstrap has completed,\npreventing duplicate initialization. In bare-metal deployments, it runs each\ntime unless explicitly skipped.\nThis separation of concerns keeps SPIKE Nexus’s initialization flow simple:\nSPIKE Nexus always polls SPIKE Keepers for shards, while SPIKE\nBootstrap handles the initial key generation and distribution.\nIdentity Control Plane\nThe following diagram shows how SVIDs are assigned to SPIKE\ncomponents and other actors in the system. SVIDs, or SPIFFE-Verifiable\nIdentity Documents, are x.509 Digital Certificates, that contain\na SPIFFE ID in their SAN (Subject Alternative Name)\nThe following diagram illustrates how SPIFFE identities are distributed\nacross different SPIKE system components using SPIRE as the identity\ncontrol plane.\n\n\n \n \n Establishing the Identity Control Plane.\n \n\nIn a SPIKE deployment, SPIRE acts as the central authority that issues\nSVIDs to different workloads:\n\nApplications who need to manage secret lifecycles stored in SPIKE Nexus.\nSPIKE Infrastructure components:\n\nSPIKE Nexus\nSPIKE Pilot\nMultiple SPIKE Keeper instances\nSPIKE Bootstrap, to be executed once during system bootstrapping.\n\n\n\nEach component receives its own SVID, which serves as a\ncryptographically verifiable identity document. These SVIDs allow the\ncomponents to:\n\nProve their identity to other services\nEstablish secure, authenticated mTLS connections\nAccess resources they’re authorized to use\nCommunicate securely with other components in the system\n\nThe dashed boxes represent distinct security and deployment boundaries.\nSPIRE provides identity management capabilities that span across these\ntrust boundaries. This architecture allows administrative operations to be\nperformed on a hardened, secured SPIRE Server instance (shown in the top\nyellow box). This restricts direct access to sensitive operations\n(like creating SPIRE Server registration entries) from users and applications\nlocated in other trust boundaries.\n\nZero Trust FTW!\nThe approached described here is a common pattern in zero-trust\narchitectures, where every service needs to have a strong, verifiable\nidentity regardless of its network location.\nThis approach is more secure than traditional methods like shared secrets or\nnetwork-based security, as each workload gets its own unique, short-lived\nidentity that can be automatically rotated and revoked if needed.\n\nBuiltin SPIFFE IDs\nSPIKE Nexus recognizes the following builtin SPIFFE IDS:\n\nspiffe://$trustRoot/spike/pilot/role/superuser: Super Admin\nspiffe://$trustRoot/spike/pilot/role/recover: Recovery Admin\nspiffe://$trustRoot/spike/pilot/role/restore: Restore Admin\n\nYou can check out the **Administrative Access section of SPIKE security\nmodel for more\ninformation about these roles.\nSPIKE Component Interaction\nThe following diagram depicts how various SPIKE components interact with\neach other:\n\n\n \n \n Secret Management in SPIKE.\n \n\nAt the top level, there’s an Application that consumes secrets through an\nmTLS (mutual TLS) connection to SPIKE Nexus. The application will likely use\nthe SPIKE Developer SDK to consume secrets without having\nto implement the underlying SPIFFE mTLS wiring.\nThe secrets are created/managed through:\nAn administrative user interacting with SPIKE Pilot through a command line\ninterface (the CLI is the spike binary itself).\nThen, SPIKE Pilot communicates with SPIKE Nexus over mTLS to create\nsecrets.\nSPIKE Nexus is the central management point for secrets. It’s our\nsecrets store.\nAt the bottom of the diagram, multiple SPIKE Keepers connect to\nSPIKE Nexus via mTLS. Each SPIKE Keeper holds a single\nShamir Secret Share (shard) of the root key that\nSPIKE Nexus maintains in memory.\nThis design ensures that compromising any individual SPIKE Keeper cannot\nbreach the system, as a single shard is not enough to reconstruct the\nroot key.\nThe system’s security can be tuned by configuring both the total number of\nSPIKE Keepers and the threshold of required shards needed to reconstruct\nthe root key.\nDuring system bootstrapping, SPIKE Nexus distributes these shards to the\nSPIKE Keepers. If SPIKE Nexus crashes or restarts, it automatically\nrecovers by requesting shards from a threshold number of healthy\nSPIKE Keepers to reconstruct the root key.\nThis mechanism provides automatic resiliency and redundancy without requiring\nmanual intervention or “unsealing” operations that are common in other secret\nmanagement solutions.\nThe system’s security and availability can be tuned by configuring both the\ntotal number of SPIKE Keepers and the threshold of required shards\nneeded to reconstruct the root key. This flexibility allows implementors to\nbalance their security requirements against operational needs–from basic\nredundancy to highly paranoid configurations requiring many SPIKE Keepers\nto be healthy.\nBoth the individual shards and the assembled root key are exclusively held in\nmemory and NEVER persisted to disk, forming a core aspect of SPIKE’s security\nmodel.\nThe system uses mTLS (mutual TLS) throughout for secure communication between\ncomponents, which ensures:\n\nAll communications are encrypted\nBoth sides of each connection authenticate each other\nThe system maintains a high level of security for secret management\n\nSPIKE Nexus Root Key Sharding\nThe following diagram shows how the SPIKE Nexus root key is split into\nshards and then delivered to SPIKE Keepers:\n\n\n \n \n Secret Nexus root key sharding.\n \n\nThe SPIKE Nexus has a root key that’s essential for encrypting the\nbacking store. This root key is split into Shamir shards based\non a configurable number and threshold. There should be as many keepers as\nthe created shards.\nThe key advantage of using Shamir sharding specifically (versus other forms\nof key splitting) is that it’s mathematically secure: The shards are\ncreated using polynomial interpolation, meaning:\n\nEach shard contains no meaningful information about the original key by itself\nYou need a threshold number of shards to reconstruct the key\nThe system can be configured to require any M of N shards to reconstruct the\nroot key (e.g., any 2 of 3, or 3 of 5, etc.)\n\nThis provides both security and fault tolerance: The system can continue\noperating even if some SPIKE Keepers become temporarily unavailable, as\nlong as the threshold number of shards remains accessible.\nSPIKE Bootstrap Flow\nThe following diagram depicts the SPIKE Bootstrap flow, where SPIKE\nKeepers receive their shards for SPIKE Nexus to use. Open the picture on a\nnew tab for an enlarged version of it.\n\n\n \n \n SPIKE Bootstrap flow.\n \n\nSPIKE Nexus Initial Bootstrapping\nThe following diagram depicts SPIKE Nexus initial bootstrapping flow.\n\n\n \n \n SPIKE Nexus initialization.\n \n\nWhen SPIKE Nexus is configured to use an in-memory backing store, we\ndon’t need SPIKE Keepers because the database is in SPIKE Nexus’s memory\nand there is nothing to recover if SPIKE Nexus crashes. This is a convenient\nsetup to use for development purposes.\nWhen SPIKE Nexus is configured to use a persistent backing store (like\nSQLite), it does not generate the root key itself. Instead, SPIKE Nexus\nalways polls SPIKE Keepers to collect enough shards to reconstruct the\nroot key. This polling continues indefinitely until the threshold number of\nshards is collected.\nThe root key is generated by a separate component: SPIKE Bootstrap.\nWhen SPIKE Bootstrap runs, it generates a secure random root key, splits\nit into Shamir shards, and distributes those shards to the\nconfigured SPIKE Keeper instances. This separation of concerns keeps\nSPIKE Nexus’s initialization flow simple and predictable.\nSPIKE Nexus Updating SPIKE Keepers\nIn addition, there is an ongoing operation that runs as a separate goroutine\ninside SPIKE Nexus:\n\nAt regular intervals, if SPIKE Nexus has a root key, it computes\nShamir shards and dispatches them to the SPIKE Keepers.\nThis ensures that the shards remain synchronized even if individual\nSPIKE Keepers restart.\n\n\n\n \n \n SPIKE Nexus updating SPIKE Keepers.\n \n\nThis flow establishes a secure boot process: SPIKE Bootstrap handles the\ninitial key generation and distribution, while SPIKE Nexus focuses solely\non recovering the root key from SPIKE Keepers whenever it starts.\nThe following state diagram illustrates how each of these recovery and\nrestoration steps relate to the existence of the root key* in memory.\n\n\n \n \n SPIKE Nexus Root Key state diagram.\n \n\nSPIKE “break-the-glass” Disaster Recovery\nThere is one edge case, though: When there is a total system crash, and SPIKE\nKeepers don’t have any shards in their memory, then you’ll need a manual\nrecovery.\nThis event is highly unlikely, as deploying a sufficient number of SPIKE\nKeepers with proper geographic distribution significantly reduces the\nprobability of them all crashing simultaneously. Since SPIKE Keepers are\ndesigned to operate independently and without requiring intercommunication,\nfailures caused by systemic issues are minimized. By ensuring redundancy across\ndiverse geographic locations, even large-scale outages or localized failures are\nhighly improbable to impact all SPIKE Keepers at once.\nThat being said, unexpected failures can occur, and the disaster recovery\nprocedure for these situations.\n\nNeed a Runbook?\nThe SPIKE Recovery Procedures page contains\nstep-by-step instructions to follow during, before, and a disaster occurs.\nYou will need to prepare beforehand so that you can recover the root\nkey when the system fails to automatically recover it from SPIKE Keepers.\n\nThe following diagram outlines creating recovery shards for SPIKE Nexus\nbefore a disaster strikes, while the system is healthy. The operator leverages\nspike operator recover command to create the shards. You can open the picture\non a new tab for an enlarged version of it.\n\n\n \n \n SPIKE Manual disaster recovery flow.\n \n\nAnd the following diagram outlines how you can use spike operator restore\ncommand to restore SPIKE Nexus back to its working state after a disaster.\nYou can open the picture on a new tab for an enlarged version of it.\n\n\n \n \n SPIKE Nexus manual restoration flow.\n \n\nPreventive Backup\n\nRun spike recover as Soon as You Can\nYou must back up the root key shards using spike recover BEFORE a\ndisaster strikes.\nThis is like having a spare key stored in a safe place before you lose your\nmain keys. Without this proactive backup step, there would be nothing to\nrecover from in a catastrophic failure.\n\nThis operation needs to be done BEFORE any disaster; ideally, shortly after\ndeploying SPIKE.\nHere is how the flow goes:\n\nThe Operator runs spike recover using SPIKE Pilot.\nSPIKE Pilot saves the recovery shards on the home directory of the system/\nThe Operator encrypts and stores these shards in a secure medium, and securely\nerases the copies generated as an output to spike recover.\n\nWhen later recovery is needed, the Operator will provide these shards to\nSPIKE to restore the system back to its working state.\nDisaster Recovery\nWhen disaster strikes:\n\nSPIKE Nexus and SPIKE Keepers have simultaneously crashed and restarted.\nSPIKE Nexus has lost its root key.\nSPIKE Keepers don’t have enough shards.\nThus, automatic recovery is impossible and the system requires manual\nrecovery.\n\nIn that case, the Operator uses spike restore to provide the previously\nbacked-up shards one at a time\n\nSPIKE Pilot forwards the entered shard to SPIKE Nexus\nSystem acknowledges and tracks the progress of shard restoration, returning\nthe number of shards received, and the number of shards remaining to restore\nthe root key.\n\nSystem Restoration\nOnce enough shards are provided, SPIKE Nexus reconstructs the root key.\nA separate goroutine redistributes shards to SPIKE Keepers and the System\nreturns to normal operation.\nWant More Pretty Pictures?\nThe diagrams above have been simplified for clarity. You can find more detailed\nones in the diagrams folder of the SPIKE GitHub repository.\n \n\n\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/architecture/system-overview/","title":"System Overview"},"https://spike.ist/community/":{"body":"Share your knowledge and engage in meaningful discussions. Below, you will find\nhelpful resources and links to foster collaboration and learning within the\ncommunity.\nCommunity\n\nHello Universe\nContact Us\nPresentations and Demos\n\n","id":"https://spike.ist/community/","title":"Community"},"https://spike.ist/community/contact/":{"body":"Get in Touch\nHi 👋 —Thank you for wanting to contact us ❤️.\nThis page outlines the various ways you can touch base.\nSPIFFE Slack Workspace\nThe SPIFFE Slack Workspace is one of the best\nways to get in touch with the community.\nYou can use the SPIFFE Slack Workspace ask\nquestions, get help, and share ideas, comments, and suggestions with the\ncommunity.\nIf you have a question, issue with your development environment, a feature\nrequest, or a bug report, it’ll be great if you could initiate the\ndiscussion on Slack.\nEmail\nYou can also reach out to us on via email, sending an email to\nteam@spike.ist.\nGitHub Issues\nAdditionally, you can create a GitHub\nissue; however, we recommend\nusing the SPIFFE Slack Workspace to initiate\na discussion first, before creating an issue.\n \n\n\nHello Universe\nContact Us\nPresentations and Demos\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/community/contact/","title":"Contact Us"},"https://spike.ist/community/hello/":{"body":"Community\n👋 Welcome to the SPIKE community! We are excited to have you here.\nWe are a community of developers, security professionals, researchers, and\nzero-trust security enthusiasts who are passionate about keeping secrets secret.\n\nJoin the SPIFFE Community on Slack\nOpen Source is better together.\nJoin SPIFFE’s Slack Workspace and let us change the\nworld together 🤘.\nReport a Security Vulnerability\nIf you have found a security vulnerability, please\nfollow this guideline to responsibly disclose it.\nEmpower Our Journey ✊\n⭐️ Star SPIKE to show your support.\nYour support enables us to connect with even more individuals through this\nincredible technology.\nThank You ❤️\nThanks so much for your interest: It means a lot 🙏\n \n\nTürkçe Konuşanlar İçin\nÖzgür yazılım birlikte olunca güzel 🤗.\nEğer SPIKE ile ilgili bir sorun varsa, projeye katkıda bulunmak istiyorsan\nveya başka bir konuda yardıma ihtiyacın varsa, dil engeli olmadan bize\nulaşabilirsin.\nKampus Discord Sunucusu’nda SPIKE kanalında buluşalım ve birlikte\ndünyayı daha güvenli hale getirelim 🤘.\n \n\n\nHello Universe\nContact Us\nPresentations and Demos\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/community/hello/","title":"Hello Universe"},"https://spike.ist/community/presentations/":{"body":"Presentations and Demos\nHere you can find a range of presentations and demos that highlight SPIKE’s\ncapabilities and showcase its innovative features.\n\nIntroduction to SPIKE: Secure Production Identity for Key\nEncryption:\nThis is our first SPIKE walkthrough, where we introduce the project and\nits goals.\nUnlocking SPIKE: A New Era for Secure Identity-Driven\nSecrets:\nThis is a brief introduction to SPIKE; what it is, how it works, and why\nit’s important.\nDeveloping SPIKE on Bare Metal and Kubernetes:\nThis walkthrough demonstrates building and running SPIKE both on local\nbare-metal Linux and inside a local Minikube Kubernetes, illustrating how the\nproject can be built, developed, and tested on your development environment.\nBuilding and Testing SPIKE from Source in ~2 Minutes:\nThis is a quick demonstration of how to clone, build, and test the SPIKE\nsystem from its codebase in under two minutes, showing rapid developer\niteration and validating that the core components work end-to-end.\nGoodbye Passwords: Secure Secrets Management with SPIFFE\nand SPIKE:\nIn this demo, we allow a user to use spike just by checking an SVID; we\ndon’t use any kind of passwords to identify the user, SPIFFE does it for us.\nUnveiling SPIKE’s New Audit Trail Capabilities: Zero-Trust Meets\nAccountability:\nThis demo explains the new auditing capabilities of SPIKE that we will\ncontinue developing. This is the initial incarnation of the feature, and\nmore will come.\nIntroducing Policy-Based Access Control in SPIKE:\nThis demo introduces the new policy-based access control feature of SPIKE.\nThis is the initial incarnation of the feature. We will create more demos\nas we enhance the feature.\nIntroducing SPIKE Secret Metadata API\nThis demo introduces SPIKE’s new metadata API, which lets you attach\nkey/value metadata to secrets to add richer context, governance, or\nclassification. It also shows how the SPIKE Go SDK can be used to both set\nand retrieve that metadata in conjunction with policy enforcement.\nUnlocking Secrets: Policy-Based Access and Metadata in\nSPIKE\nThis demo showcases how SPIKE enforces policy-based access control when\nreading or writing secrets. We also look into SPIKE’s Secret Metadata API.\nPolicy to the Rescue: Secure Secret Access and Metadata with\nSPIKE:\nThis demo introduces the new SPIKE metadata API. We also use the SPIKE\nGo SDK to consume secrets.\nUsing Policies to Read and Write Secrets using SPIKE:\nThis demo introduces the new Makefile-based development workflow, the\nenhanced starter script, policy-based access control, and metadata support.\nSecrets Resiliency with SPIKE: Self-Healing and Doomsday\nRecovery:\nSecrets management is critical, but what happens when everything fails? In\nthis video, we explore SPIKE’s disaster recovery mechanisms, covering both\nself-healing capabilities and the manual break-the-glass recovery process.\nFederating Secrets with SPIFFE and SPIKE:\nIn this demo, we show how you can deploy SPIRE and SPIKE from SPIFFE\nHelm charts. We then establish a multi-cluster secret federation where\nthe workload clusters can securely access secrets stored in the management\ncluster.\nSPIKE’s Shamir’s Secret Sharing with SPIFFE mTLS:\nThis demo walks through how SPIKE leverages Shamir’s Secret Sharing to split\nthe root key across multiple SPIKE Keeper nodes such that no single node holds\nthe full key. It also demonstrates how communications between SPIKE\nKeepers and SPIKE Nexus are secured using SPIFFE-based mTLS to ensure\nauthenticated, encrypted transport.\nSecure SPIKE Deployment: Integrating SPIRE with an Isolated Management\nCluster:\nIn this demo, the presenter shows how to deploy SPIKE in a management cluster\nthat is isolated from workload clusters, integrating SPIRE to issue identities\nand enforce trust boundaries.\nCross-Cluster Secrets Federation with SPIFFE and\nSPIKE:\nHere, the focus is on federating secrets across multiple clusters, allowing\nworkloads in different clusters to access shared secrets securely. The demo\nshows how SPIKE can bridge trust boundaries using SPIFFE identities and\nsecret federation.\n\n \n\n\nHello Universe\nContact Us\nPresentations and Demos\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/community/presentations/","title":"Presentations and Demos"},"https://spike.ist/community/resources/":{"body":"Resources\nSource Code\n\nSPIKE on GitHub\nSPIKE Go SDK on GitHub\n\nAPI Documentation\n\nSPIKE API Documentation\nSPIKE Go SDK API Documentation\n\n \n\n\nHello Universe\nContact Us\nPresentations and Demos\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/community/resources/","title":"Resources"},"https://spike.ist/development/":{"body":"Development\n\nDeploying SPIKE Locally\nSPIKE on Linux\n\n","id":"https://spike.ist/development/","title":"Developing SPIKE"},"https://spike.ist/development/api-docs/":{"body":"API Documentation\nThe public Go API documentation for SPIKE and the SPIKE Go SDK is available on\npkg.go.dev:\n\nSPIKE API Documentation\nSPIKE Go SDK API Documentation\n\nSource Code\nThe source code for SPIKE and the SPIKE Go SDK is available on GitHub:\n\nSPIKE on GitHub\nSPIKE Go SDK on GitHub\n\n \n\n\nDeploying SPIKE Locally\nSPIKE on Linux\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/development/api-docs/","title":"API Documentation"},"https://spike.ist/development/bare-metal/":{"body":"SPIKE on Linux\nIn this guide, you will learn how to build, deploy, and test SPIKE\nfrom the source. This guide assumes basic familiarity with terminal commands and\nthe ability to install and execute the required software. It is recommended to\nhave administrative privileges on your system, as some steps might require them.\nThe tools and resources mentioned in this guide are essential for building and\nworking with SPIKE effectively. Make sure to follow each step carefully to\nensure a smooth experience. In case you encounter issues, please discuss\nthem on the SPIFFE community Slack.\nEnvironment Variables\nIt may be useful to set the following environment variables before\nyou start.\nThis is a sample configuration; please adjust as needed:\n\nPrerequisites\nThis quickstart guide assumes you are using an Ubuntu Linux operating\nsystem. The steps may slightly differ if you are using a different operating\nsystem.\nSPIKE can run anywhere SPIFFE can be deployed. For consistency,\nthe tutorials and guides in SPIKE documentation use Ubuntu as\nthe base operating system. Though, if you encounter issues with your OS, feel\nfree to discuss them on the SPIFFE community Slack.\nHere are the OS details that we are testing this guide on:\n\nIn addition, you will need the usual suspects:\n\ngit\nmake\ngo (the most recent version would do)\nnode ((optional: most AI tools require it)\nbuild-essential\n(i.e., sudo apt install build-essential)\n(Optional) [zola])zola, if you want to build the documentation site\nlocally\n\nGo Environment Setup\nHere’s part of the go env setting we use for this guide. Yours might slightly\nvary depending on your development configuration.\nThe environment setup shown below is mostly what Go uses by default, yet, we\nprovide them just-in-case to eliminate any environment-related setup issues you\nmight face.\n\nIf you need, you can also use Go’s built-in tooling to view and modify your Go\nenvironment settings. Use the go env command to inspect or set specific\nenvironment variables.\nFor example:\n\nThese changes made using the go env -w command are persistent and stored in\nGo configuration files. You can view these changes in the file located at\n$(go env GOENV). To reset a variable to its default value, use:\n\nBuilding SPIRE\nTo get started, let’s create a development version of SPIRE.\nNote that this is not a production-ready setup. For production, you should\nfollow the official SPIRE documentation.\nLet’s first build SPIRE from the source:\n\nAdding SPIRE Binaries to $PATH\nAdd the SPIRE binaries to your $PATH:\n\nAdding SPIKE Binaries to $PATH\nThe bare-metal installation will create SPIKE binaries in the project\nroot directory by default. You can add the binaries to your $PATH as follows:\n\nAdditionally, you can source the following file to define additional\nSPIKE-related environment variables for your convenience. This is NOT\nrequired because if you don’t define them, SPIKE will assume sensible\ndefaults.\nSourcing ./hack/lib/env.sh allows you to override the default SPIKE\nenvironment settings. This can be particularly useful for development\npurposes to test custom setups or alternative paths.\nHaving all overrides in a single place is also handy as it doubles\nas documentation to help understand the development environment.\n\nVerifying SPIRE Installation\nVerify SPIRE installation as follows:\n\nOutput:\n\nBuilding SPIKE\nNext, build SPIKE binaries:\n\nConfigure Local DNS\nThe default agent configuration file uses\nspire.spike.ist as the SPIRE Server DNS name. To resolve this name to the\nloopback address, add the following entry to your /etc/hosts file:\n\nStarting SPIKE\nThere is a starter script that combines and automates some steps in the\nfollowing sections. It configures and runs SPIRE Server, SPIRE Agent,\nSPIKE Nexus, and SPIKE Keeper.\nYou can run this to start all the required components:\n\n\nmake start Is Also a Mini Smoke Test\nThe make start script also runs sample secret and policy operations to\nensure everything is working as expected. So, although it is not strictly\nnecessary, you are encouraged to run it once before starting development\nto ensure everything is working as expected.\n\nAnd then, on a separate terminal, you can run spike:\n\n\nKilling the make start Process Will Exit Cleanly\nWhen you stop the make start script by CTRLT+C, it will exit cleanly;\nduring this process, it will also kill all the running SPIKE and SPIKE\ncomponents.\nHowever, in certain cases, especially if the script has not run successfully\nto the end, it might leave some processes running in the background.\nIn such cases, you can kill the processes manually by running:\n\n\nAlthough the make start script is convenient, it might be useful to run the\ncomponents individually to understand the process better and debug any issues\nthat might arise.\nThe following sections will guide you through the individual steps.\n\nCLI Reference\nOne of the best ways to get the most up-to-date information about the spike\nCLI is to run spike --help or spike [command] --help.\nAdditionally, you can check out the SPIKE CLI\nDocumentation for a more detailed reference with sample commands\nand examples.\nThere are also demo recordings that showcase the SPIKE CLI in\naction.\n\nStart SPIRE Server\nStart the SPIRE Server:\n\nCreating Registration Entries\nThe following script will create registration entries for the SPIKE components:\n\nStart SPIRE Agent\nStart the SPIRE Agent:\n\nStart SPIKE Components\nThen start SPIKE components:\nMake sure you started the following binaries, each runs on a specific terminal\nwindow.\nStart the workloads:\n\nHere is how one of these SPIKE Keeper startup scripts:\n\nAnd here is how SPIKE Nexus startup script:\n\nBootstrap SPIKE\nBefore using SPIKE you need to bootstrap it with a root key.\nFor that, execute the following:\n\nUsing SPIKE Pilot\nDefine an alias to SPIKE Pilot:\n\nRun SPIKE Pilot and explore the CLI:\n\nTesting Out SPIKE\nLet’s test SPIKE by creating a secret:\n\nNow, let’s read the secret back:\n\nLet’s delete the secret now:\n\nIf you try to read the secret again, you won’t be able to get it.\nFeel free to experiment with other SPIKE commands in your sandbox\nenvironment to explore its capabilities and better understand how it works. This\nis a great way to familiarize yourself with its features and test various\nscenarios safely.\nUninstalling SPIKE\nRetaining the SPIKE binaries on your system poses no issues. These binaries\nare compact, consuming minimal disk space and no resources when inactive. As\nsimple executable files, they have no impact on your system’s performance when\nnot in use. Therefore, keeping them installed is completely harmless.\nHowever, if you want to wipe everything out, you can remove the binaries\nand SPIKE’s data folder, and that would be it:\n\nIf you have spire-server and spire-agent on your system, and you are not\nusing them for anything else; you can remove them too:\n\nHave Fun\nThat’s about it.\nEnjoy.\n \n\n\nDeploying SPIKE Locally\nSPIKE on Linux\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/development/bare-metal/","title":"SPIKE on Linux"},"https://spike.ist/development/local-deployment/":{"body":"Building SPIKE Locally and Deploying to Minikube\nIf you want to contribute to the SPIKE codebase and test your changes on a\nlocal Kubernetes cluster, follow this guide. If you want to build SPIKE from\nthe source code but want to test it on a bare metal Linux machine without\nusing any containerization solution, check out\nSPIKE on Linux instead.\nIn this guide we will follow a similar approach to\nSPIKE Quickstart, with the following changes:\n\nBuild container images locally from existing source code.\nPush the container images to a local container registry.\nUse a customized values-dev.yaml for the helm charts to create a more\nproduction-like namespace structure.\n\nWithout further ado, let’s begin with the prerequisites.\nPrerequisites\nHere is a list of things you need to have installed on your machine before\nstarting with this guide:\n\nHave Docker installed and running on your machine.\nHave a kubectl client installed.\nHave make installed on your machine.\nHave a minikube binary installed.\nHave helm binary installed.\n\nDocker Registry Setup\nFor security, SPIKE components lock the memory they use at runtime. You may\nneed to update the ulimit settings for your Docker daemon to allow this.\nFor Linux, edit or create the /etc/docker/daemon.json file and add the\nfollowing:\n\n17179869184 will set the maximum amount of memory a container can lock to\n16GB. You can set this to a lower value if you want, since SPIKE components\ndon’t need that much memory.\nFor Docker for Mac, or Docker for Windows, you will need to update\nthe Docker Engine settings from the “Settings > Docker Engine” menu as\nfollows:\n\nOnce the change is done, remember to restart the Docker Engine.\nAll-in-One Script\nIf you have the prerequisites set up and want to skip ahead and run the entire\nguide in one go, you can use the following script:\n\nStarting Minikube\nTo start a local Minikube cluster, clone the project repository and run the\nfollowing command in the root directory of the project:\n\nIf successful, you will have a local Minikube cluster running with the\nnecessary plugins enabled. You can verify that Minikube is running by executing:\n\nBuild Container Images Locally\nWe have a make target to build the container images locally.\n\nPushing Container Images to the Local Registry\nNext up, we’ll push the container images to our internal Minikube container\nregistry:\n\nThat said, make k8s-load-images is the safest and simplest way to push\nthe images into Minikube without having to deal with Docker networking,\nport forwarding, and Docker registry, making it the preferred method, and\nit is what we recommend.\nDeploying SPIRE and SPIKE to the Local Cluster\n\n\n⚠️ Changes Due to Current Upstream Helm Charts Work\nThere are some changes to the upstream SPIFFE Helm Charts that are\ncurrently in progress. Until they are merged, you will need to use a\nfeature branch of the upstream repo.\nBefore you proceed, please follow the instructions at\nthe Quickstart Guide to clone your local\nhelm-charts-hardened repo at the spike-next branch first.\n\nOnce we push the container images to the registry, we can now deploy SPIRE\nand SPIKE.\n\nVerifying SPIKE Deployment\nFirst, make sure that your components are up and running.\nThe following commands should all show Ready and Runing containers.\n\nYou can also shell into SPIKE Pilot to create and retrieve secrets to\nensure SPIKE is up and running and properly configured in the cluster.\n\nYou Are All Set\nThat’s it. Now, you know how to modify SPIKE’s source code and test your\nchanges in a local Kubernetes cluster.\nNext up, you might want to Read SPIKE’s Source Code to learn more\nabout SPIKE’s internals, or learn more about SPIKE’s\narchitecture or security model.\nYou might also want to try building SPIKE on a bare metal\nLinux if you want to see how SPIKE can be used on a bare\nmetal Linux machine without using container orchestration such as Kubernetes\n \n\n\nDeploying SPIKE Locally\nSPIKE on Linux\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/development/local-deployment/","title":"SPIKE on Kubernetes"},"https://spike.ist/development/sdk-integration/":{"body":"SDK Integration Guide\nThis guide demonstrates how to integrate the SPIKE SDK into your\napplications for secret management. It covers the complete workflow from\nSPIRE registration to secret operations.\nPrerequisites\nBefore integrating the SPIKE SDK, ensure the following are in place:\n1. SPIRE Registration\nYour workload must be registered in SPIRE with a SPIFFE ID:\nKubernetes example:\n\nBare-metal example:\n\n2. SPIKE Policy\nA policy must grant your workload access to the secrets it needs:\n\n3. SPIKE Nexus Running\nEnsure SPIKE Nexus is running and accessible from your workload.\nBasic Integration\nHere is a minimal example showing how to use the SPIKE SDK:\n\nDeployment\nKubernetes Deployment\n\nKey configuration:\n\nMount the SPIRE Agent socket\nSet SPIFFE_ENDPOINT_SOCKET environment variable\nSet SPIKE_NEXUS_API_URL to the Nexus service endpoint\n\nBare-Metal Deployment\n\nIntegration Patterns\nPattern 1: Initialization Secret Fetch\nFetch all required secrets at the application startup:\n\nPattern 2: On-Demand Secret Fetch\nFetch secrets when needed for specific operations:\n\nPattern 3: Cached Secrets with Refresh\nCache secrets and refresh them periodically:\n\nSecret Versioning\nSPIKE supports secret versioning. You can access previous versions:\n\nError Handling\nCommon Errors and Solutions\nWorkload is not registered in SPIRE:\n\nSolution: Register your workload in SPIRE with correct selectors.\nNo policy granting access:\n\nSolution: Create a policy granting your workload access to the secret path.\nSPIKE Nexus unreachable:\n\nSolution: Verify SPIKE Nexus is running and check network connectivity.\nSPIRE Agent not running:\n\nSolution: Start SPIRE Agent and verify the socket path.\nWhat the SDK Handles\nThe SPIKE SDK handles all the complexity of secure secret management:\n\nSVID acquisition from SPIRE Agent\nmTLS setup with automatic certificate rotation\nAPI communication with SPIKE Nexus\nError handling and retries\n\nYour application focuses on business logic, not secret management\ninfrastructure.\n \n\n\nDeploying SPIKE Locally\nSPIKE on Linux\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/development/sdk-integration/","title":"SDK Integration Guide"},"https://spike.ist/getting-started/":{"body":"Getting Started\n\nSPIKE Quickstart Guide\n\n","id":"https://spike.ist/getting-started/","title":"Getting Started"},"https://spike.ist/getting-started/quickstart/":{"body":"\n⚠️ Additional Instructions\nSince SPIFFE Helm Charts do not have SPIKE Bootstrap yet, the\ninstructions on this page have additional guidance to deploy SPIKE\nusing a local SPIFFE Helm Charts repo.\nWe will update this page once SPIKE Bootstrap is available in the\nupstream SPIFFE Helm Charts.\n\nSPIKE Quickstart Guide\nThe fastest way to get started with SPIRE and SPIKE is to deploy them\nusing the official SPIFFE Helm chart.\nYou can deploy SPIKE to any Kubernetes cluster, including a local one like\nKinD or Minikube. We will use Minikube in this guide.\nYour installation may vary slightly depending on the Kubernetes cluster you\nare using, but the general steps will be the same.\nWe will also use a Debian Linux machine throughout this guide, but you\ncan use any OS that supports SPIFFE, SPIRE, Docker, and Kubernetes. Depending on\nyour OS, your installation steps may vary slightly, but the general steps will\nnot change much.\nPrerequisites\nHere is a list of things you need to have installed on your machine before\nstarting with this guide:\n\nHave Docker installed and running on your machine.\nHave a kubectl client installed.\nHave make installed on your machine.\nHave a minikube binary installed.\nHave helm binary installed.\n(Optional) install zola if you want to build the documentation\nlocally.\n\nFor Windows Users\nThe best way to get started on Windows is to use Windows Subsystem for\nLinux. After installing WSL, make sure to install the prerequisites\n(docker, kubectl, make, minikube, helm) to your WSL distribution\nand not to your Windows machine.\nHosts File Setup\nSPIKE bare-metal installation requires that spike.spike.ist is\nconfigured in your /etc/hosts file. However, WSL will automatically override\nyour Linux hosts wile every time you restart your WSL distribution.\nTo fix this, edit /etc/wsl.conf and add the following lines:\n\nThen update your hosts file:\n\nThen restart your WSL distribution, and the hosts file is yours to\nmodify and maintain.\nNote that editing C:\\Windows\\System32\\drivers\\etc\\hosts will NOT work.\nWSL Memory Lock Limit\nWSL sets a default RLIMIT_MEMLOCK of 64MB for all shell sessions. This limit\nis imposed by WSL’s Relay process before any Linux configuration is read, which\nmeans standard Linux approaches (/etc/security/limits.conf, systemd\nconfigs, PAM) cannot override it.\nSPIKE uses memory locking (mlock) to prevent sensitive secrets from being\nswapped to disk. Failing to lock memory will not stop SPIKE from running,\nbut you will see warnings in the logs.\nWSL spawns your shell via a Windows-side Relay process:\n\nBy the time Linux session management runs, the limit is already inherited.\nThe following have no effect on interactive WSL shells:\n\n/etc/security/limits.conf\n/etc/systemd/user.conf\n/etc/systemd/system.conf\nPAM configuration\n\nThese configs do apply to processes spawned through systemd\n(e.g., systemd-run --user), but not to your default terminal session.\nTo fix this, you can use the following script:\n\nYou can even add this script to your ~/.bashrc or ~/.zshrc to make it\nautomatically run on every shell session.\nEnvironment Variables\nIt may be useful to set the following environment variables before\nyou start.\nThis is a sample configuration; please adjust as needed:\n\nStarting Minikube\nTo start a local Minikube cluster, clone the project repository and run the\nfollowing command in the root directory of the project:\n\nIf successful, you will have a local Minikube cluster running with the\nnecessary plugins enabled. You can verify that Minikube is running by executing:\n\nDeploying SPIKE to Minikube\n\n⚠️ Changes Due to Current Upstream Helm Charts Work\nThere are some changes to the upstream SPIFFE Helm Charts that are\ncurrently in progress. Until they are merged, you will need to use a\nfeature branch of the upstream repo.\nFor this, first clone the upstream repo:\n\nThen, switch to the spike-next branch:\n\nYou can now use the spike-next branch of the upstream repo to deploy\nSPIKE to Minikube.\n\n\nspife-helm-charts-hardened: https://spiffe.github.io/helm-charts-hardened/\nOnce you have Minikube running, you can deploy SPIKE to it from\nSPIFFE helm charts.\nFirst create a values.yaml file to enable SPIKE components:\n\nThen deploy SPIKE using the following command:\n\nVerifying SPIKE Deployment\nFirst, make sure that your components are up and running.\n\nOnce the deployment is complete, you can verify SPIKE is running by\ncreating a sample secret and reading its value back.\n\nNext Up\nYou are all set. You have successfully deployed SPIKE to your local\nMinikube cluster. Explore other parts of the documentation to learn more about\nusing SPIKE.\nHere are a few links to get you started:\n\nBuilding SPIKE Locally and Deploying to Minikube\nBare Metal SPIKE Installation\nConfiguring SPIKE\nSPIKE Architecture\nSPIKE Production Hardening Guide\nSPIKE CLI Reference\n\nOpen Source Is Better Together\nJoin the SPIKE community to ask your questions and\nlearn from the subject-matter experts.\n \n\n\nSPIKE Quickstart Guide\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/getting-started/quickstart/","title":"SPIKE Quickstart Guide"},"https://spike.ist/operations/":{"body":"Operations\n\nSPIKE Cross-Platform Build\nSPIKE Production Setup\nSPIKE Recovery Procedures\nSPIKE Release Management\n\n","id":"https://spike.ist/operations/","title":"Operations"},"https://spike.ist/operations/backup/":{"body":"SPIKE Backup and Restore Guide\nSPIKE, the Secure Production Identity Framework for Key Encryption, provides\nrobust secrets management with strong identity controls. But even the most\nreliable systems need comprehensive backup and recovery plans. This guide\nexplains how to properly back up, secure, and restore SPIKE deployments—ensuring\nyour critical secrets infrastructure remains resilient against catastrophic\nfailures.\nArchitecture Foundations for Effective Backup Planning\nSPIKE consists of three critical components, each requiring specific backup\nconsiderations:\n\n\nSPIKE Nexus: The central component handling secret encryption/decryption\nand root key management. It stores encrypted secrets in a SQLite database\nand communicates via an mTLS API.\n\n\nSPIKE Keeper: A redundancy mechanism holding Shamir Secret Sharing shards\nof the root key in memory. Multiple Keeper instances provide resiliency,\nrequiring a configurable threshold of shards to reconstruct the root key.\n\n\nSPIKE Pilot: The CLI interface that translates administrative commands\ninto mTLS API calls to SPIKE Nexus.\n\n\nThe foundation of SPIKE’s security model lies in its root key management:\n\nThe root key encrypts all data in the backing store and never exists\non disk in plaintext\nThe system splits the root key into multiple Shamir shards based on a\nconfigurable threshold (e.g., any 2 of 3 or 3 of 5 shards needed to\nreconstruct)\nSPIKE Keepers hold these shards in memory for automatic recovery if\nSPIKE Nexus crashes\nFor disaster recovery scenarios, administrators can create additional recovery\nshards\n\nBackup procedures\nSQLite database backup\nThe SPIKE Nexus uses a SQLite database to store all encrypted secrets and\nmetadata. This database is typically located in ~/.spike on the Nexus server.\n\nImportant considerations:\n\nThe SQLite database backup contains encrypted data that can only be decrypted\nwith the root key\nUse database-level locking through SQLite’s .backup command rather than\ndirect file copying\n\nRoot key and cryptographic material backup\nThe root key is SPIKE’s most critical component. While it exists only in\nmemory during normal operation, you must back it up for disaster recovery using\nShamir’s Secret Sharing:\n\nSecure handling of recovery shards:\n\nEncrypt each shard immediately after creation (e.g., using GPG with\nhardware keys)\nStore encrypted shards in separate secure locations\nConsider using HSMs or smart cards for shard storage\nImplement strict access controls for shard access\nDocument the threshold configuration (e.g., “2 of 3 shards required”)\n\nConfiguration and other components backup\nBeyond the database and root key, back up these critical components:\n\n\nSPIRE Server and SPIRE Agent configuration.\n\n\nSPIFFE registration entries:\n\n\n\nRestore procedures\nPrerequisites for Restoration\nBefore beginning any restore operation, ensure:\n\n\nYou have all necessary components:\n\nSQLite database backup\nAccess to the required number of recovery shards (meeting your threshold)\nSPIFFE/SPIRE configuration backups\n\n\n\nYou have the appropriate SPIFFE identity for restoration:\n\nRequired SPIFFE ID: spiffe://$trustRoot/spike/pilot/role/restore\n\n\n\nAll SPIKE services are properly installed on the target system\n\n\nRoot key restoration\nIf both SPIKE Nexus and all SPIKE Keepers are unavailable\n(catastrophic failure), follow this procedure:\n\nSPIKE Nexus will:\n\nAutomatically reconstruct the root key from the provided shards\nRedistribute shards to available SPIKE Keeper instances\nResume normal operation with the restored key\n\nSQLite database restoration\nTo restore the SQLite database:\n\n\nStop SPIKE Nexus.\n\n\nReplace the current database with the backup.\n\n\n\nSet appropriate permissions\n\n\n\nStart SPIKE Nexus\n\n\nNote: After restoring the database, if SPIKE Nexus cannot automatically\nrecover the root key from SPIKE Keepers, you’ll need to perform the root\nkey restoration procedure above.\nVerification procedures\nAfter completing a restore operation, verify system integrity:\n\nBackup best practices\nBackup frequency and scheduling\nComponentRecommended FrequencyReasoning\nSQLite DatabaseDailyCaptures secret changes promptly\nRoot Key ShardsAfter initial setup and after any root key rotationCritical security component\nConfigurationAfter any configuration changeEnsures you can recreate the environment\nSPIFFE EntriesAfter any identity changesRequired for workload authentication\n\nBackup rotation and retention\nImplement a comprehensive retention policy:\n\nShort-term backups: Keep daily backups for 14 days\nMedium-term backups: Keep weekly backups for 3 months\nLong-term backups: Keep monthly backups for 1 year\n\n\nTest Your Backup Integrity\nA backup that does not work when you need most is not a backup.\nMake sure you validate the integrity and efficacy of your backups\nregularly.\n\nSecure Storage Recommendations\nFor root key recovery shards:\n\nMulti-level security: Encrypt shards before storage\nPhysical separation: Store shards in different physical locations\nAccess controls: Implement strict controls with separation of duties\nHardware security: Consider HSMs or smart cards for shard storage\nEnvironmental protection: Use fire/water-resistant safes for physical media\n\nFor database backups:\n\nEncryption: Implement at-rest encryption for all backup files\nAccess limitations: Restrict backup access to authorized personnel only\nImmutability: Consider WORM (Write Once Read Many) storage for critical backups\nOffline copies: Maintain air-gapped copies of critical backups\n\nMigration Limitations and Planning\nWhile SPIKE currently lacks built-in migration tools, careful planning can\nfacilitate future migrations.\nCurrent migration limitations\n\nNo direct database migration between different SPIKE versions\nManual coordination is required for root key transfers\n\nConclusion\nA comprehensive backup and restore strategy is essential for maintaining the\nresilience of your SPIKE deployment. By following the procedures in this\nguide, you can ensure that even in catastrophic failure scenarios, your secrets\nmanagement infrastructure can be rapidly restored with minimal data loss.\nRemember these key principles:\n\nRegular backups: Automated, validated, and securely stored\nRoot key protection: The foundation of your security model\nTested procedures: Verify your restore process works before you need it\nDocumentation: Keep clear records of all configurations and procedures\n\nBy implementing these practices, your DevOps team will be prepared to handle\nany recovery scenario while maintaining the security guarantees that make\nSPIKE an effective secrets management solution.\n \n\n\nSPIKE Cross-Platform Build\nSPIKE Production Setup\nSPIKE Recovery Procedures\nSPIKE Release Management\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/operations/backup/","title":"SPIKE Backup and Restore"},"https://spike.ist/operations/build/":{"body":"Cross-Building SPIKE Binaries\nWe cross-build SPIKE on an ARM64 Mac Machine.\nHere is what’s needed for a cross-compile:\nPrerequisites\nInstalled required tools via Homebrew.\n\nBuild\nTo cross-compile the binaries, run the following:\n\nAfter the script runs to completion, you should get the following artifacts:\n\n \n\n\nSPIKE Cross-Platform Build\nSPIKE Production Setup\nSPIKE Recovery Procedures\nSPIKE Release Management\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/operations/build/","title":"SPIKE Cross-Platform Build"},"https://spike.ist/operations/production/":{"body":"SPIKE Production Setup Guide\nThis guide involves configuring the necessary environment, deploying the\napplication with optimized settings, and ensuring scalability, reliability, and\nsecurity for a seamless production experience.\nBaseline recommendations\nDo Not Run as Root\nFor SPIKE components use an unprivileged service account, rather than\nrunning as the root or Administrator account. SPIKE is designed to run as\nan unprivileged user, and doing so adds significant defense against various\nprivilege-escalation attacks.\nAllow Minimal Write Privilege\nSPIKE Nexus only needs writes access to its backing store. It’s a good\npractice to limit what is writable by the SPIKE Nexus process to just\nthe directories and files of the backing store.\nDisable Swap\nSPIKE encrypts data in transit and at rest; however, it must still have\nsensitive data in memory to function. The risk of exposure should be minimized\nby disabling swap to prevent the operating system from paging sensitive data to\ndisk.\nDisable Core Dumps\nA user or administrator that can force a core dump and has access to the\nresulting file can potentially access SPIKE’s root key and other\ncryptographically sensitive material encryption keys. Preventing core dumps is\na platform-specific process; on Linux setting the resource limit RLIMIT_CORE\nto 0 disables core dumps. In the systemd service unit file, setting\nLimitCORE=0 will enforce this setting for the Vault service.\nMemory Protection\nSPIKE uses memory locking to prevent memory from being swapped to disk. This\nensures that the memory is not accessible to an attacker who has access to the\nsystem.\nSPIKE tries to mlockall(MCL_CURRENT | MCL_FUTURE), it tries to lock:\n\nAll currently allocated memory\nAll future memory allocations\n\nSo if the user running the SPIKE components does not have enough limits,\nthis attempt will fail.\nTo enable memory locking, you may need to modify the ulimit settings for the\nuser running SPIKE components.\nFor bare-metal Linux deployments, edit the /etc/security/limits.conf file to\nadd the following lines:\n\nFor Docker, edit or create the /etc/docker/daemon.json file and add the\nfollowing—The instructions may differ for other container runtimes:\n\nFor Kubernetes, the settings will depend on your container runtime.\nFor containerd, for example, execute the following:\n\nIf, for any reason, you cannot enable memory locking, make sure to disable\nswap and core dumps on your system for additional security.\nNetwork Security\nAlthough SPIKE relies on Zero Trust networking principles and establishes\nmTLS everywhere, that does not mean perimeter defense is unimportant.\nUse a local firewall for SPIRE Server, SPIKE Nexus, and SPIKE Keeper\ninstances, or relevant features of your cloud provider to restrict incoming and\noutgoing traffic to the bare minimum that you need.\nDisable Shell Command History\nYou may want the spike commands themselves not appear in history at all.\nKeep a Frequent Upgrade Cadence\nSPIKE is actively developed, hardened, and patched against vulnerabilities.\nYou should upgrade SPIKE frequently to incorporate security fixes and any\nchanges in default settings such as key lengths or cipher suites.\nRestrict Backing Store Access\nSPIKE encrypts data at rest, regardless of the kind of backing store it\nuses. Although SPIKE encrypts the data, an attacker with arbitrary\ncontrol can cause data corruption or loss by modifying or deleting keys.\nYou should restrict storage access outside SPIKE Nexus to avoid\nunauthorized access or operations.\nAlso, when using an external data store, although SPIKE assumes the store is\nuntrusted, yet, still, considering the following is important:\n\nIf this is a shared database with other services, who else has access to it\nand manages it?\nHow will SPIKE authenticate to the database?\nDoes the database connection allow TLS-protected secure communication?\n\nConfigure SELinux / AppArmor\nUsing mechanisms like SELinux and AppArmor can help you gain layers of\nsecurity when using SPIKE. While SPIKE can run on several popular\noperating systems, Linux is recommended due to the various security primitives\nand memory governance.\nContainer Considerations\nSPIKE uses memory locking when possible. To use memory locking (mlock)\ninside a SPIKE container, you need to use the overlayfs2 or another\nsupporting driver.\nLogging Considerations\nLike all systems, logging is an essential part of SPIKE. However, logs\nproduced by SPIKE components also function as evidence for audits and\nsecurity incidents.\nCurrently, we don’t separate audit logs from event logs. Audit logs are clearly\nidentified by the prefix [AUDIT]: at the beginning of each entry.\n\nFuture Goals\nWe have action items to separate audit logs from regular logs and redirect\nthem to a configurable list of audit targets. For now, they remain part of\nthe standard output stream of the application.\n\nSince logs may serve as evidence, consider these important factors when\nimplementing a logging solution:\n\nRetention periods should comply with your organization’s legal requirements\nThe logging system should maintain high availability for both log intake and\nstorage\nLogs should be tamper-proof with verifiable integrity\nThe system should maintain and document a proper chain of custody\n\nHardening SPIRE\nSPIKE leverages SPIFFE and SPIRE as its identity control plane to\nmanage cryptographic workload identities securely and efficiently. SPIRE\nis an implementation of the SPIFFE specification, providing a robust\nframework for workload attestation and cryptographic identity issuance within\ndistributed systems.\nConfiguring SPIRE for production is critical to ensure the security and\nreliability of SPIKE. An improperly configured SPIRE deployment can leave\ngaps in the identity management process, potentially exposing sensitive\ncryptographic operations to unauthorized access.\nHere are some key steps to harden SPIRE for production:\nIsolate SPIRE Server\nThe SPIRE Server can run completely in Kubernetes, alongside other pods and\napplications.\nHowever, it is a good security practice to run the SPIRE Server on a\nseparate dedicated Kubernetes cluster, or on standalone hardware. This way, if\nthe primary cluster is compromised, the SPIRE private keys are not at risk.\nTo protect SPIRE private keys even further, you can use one of the\nsupported SPIRE KMS plugins.\nSecure SPIRE Server and Agent Communication\n\nUse mutual TLS (mTLS) for all communication between SPIRE Server, SPIRE\nAgents, and workloads.\nConfigure SPIRE Server and Agents to only accept connections from trusted\nsources.\n\nSet Up Attestation Policies\n\nDefine strict attestation policies to ensure that only trusted workloads are\nissued SPIFFE IDs. // TODO: explain what that means in the context of SPIKE.\nUtilize the node attestation plugins (e.g., AWS IID, Kubernetes) to verify\nthe identity of nodes running SPIRE Agents.\n\nLimit Permissions\n\nRun SPIRE Server and Agents with the minimum required permissions.\nUse dedicated non-root users for running SPIRE processes.\n\nSecure SPIRE Database\nIf the SPIRE Server is configured to use an external database for\npersistence, ensure that the database is:\n\nEncrypted at rest and in transit.\nRestricted to access only from SPIRE Server.\n\nConfigure Registration Entries\n\nCreate granular SPIFFE ID registration entries for specific workloads.\nAvoid using wildcard matching in selectors to reduce the risk of impersonation\nattacks.\n\nYou can find sample scripts that creates registration entries under the\n./hack folder:\n\n./hack/bare-metal/entry/spire-server-entry-recover-register.sh\n./hack/bare-metal/entry/spire-server-entry-spike-register.sh\n./hack/bare-metal/entry/spire-server-entry-restore-register.sh\n\nHarden SPIRE Deployment on Kubernetes\nIf you have deployed SPIRE on Kubernetes:\n\nUse Kubernetes Pod Security Standards, Network Policies,\nand RBAC to restrict SPIRE Server and SPIRE Agent access.\nLimit SPIRE components to trusted namespaces and nodes.\n\nRegularly Rotate Certificates\n\nConfigure SPIRE to rotate workload certificates and keys frequently.\nAutomate the process to ensure timely certificate renewal without manual\nintervention.\n\nEnable Logging and Monitoring\n\nConfigure logging for SPIRE Server and Agents to capture suspicious\nactivity.\nMonitor logs for failed authentication attempts, unauthorized access, or\nother anomalies.\n\nPerform Regular Audits\n\nConduct regular security audits and penetration tests on the SPIRE deployment.\nReview registration entries and attestation policies to ensure they align\nwith security best practices.\n\nUpdate SPIRE Regularly\n\nKeep SPIRE updated to the latest stable version to benefit from security\npatches and new features.\n\nBy carefully configuring and hardening SPIRE, you ensure that\nSPIKE’s SPIFFE-based identity control plane is robust, reliable, and\nsecured against potential threats, forming the foundation for SPIKE’s secure\noperations in production environments.\nIsolate SPIRE Server\nYou are encouraged to isolate the SPIRE Server from other SPIKE components.\nBy doing this, a separate administrator can access the SPIRE Server and\ncreate SPIKE registration entries, whereas other SPIKE users, including\nthe SPIKE Pilot superadmin, will not be able to create SPIRE Server\nregistration entries.\nThis approach aligns with zero-trustbest practices by enforcing separation\nof privileges and reducing the risk of privilege misuse or escalation.\nFor bare-metal or VM deployments, it is recommended to run the\nSPIRE Server on its own dedicated machine, separate from SPIKE Keeper\nand SPIKE Nexus machines. This ensures that any compromise of those\nmachines does not directly impact the SPIRE Server.\nFor Kubernetes deployments, it is a good practice to run the SPIRE\nServer outside the Kubernetes cluster on an ultra-hardened system. This\nprotects the SPIRE Server from potential security breaches or privilege\nescalations within the Kubernetes cluster.\nSPIKE General Hardening Guidelines\nThe guidelines covered in this section apply to all SPIKE components,\nincluding SPIKE Nexus, SPIKE Keeper, and SPIKE Pilot.\nSingle Tenancy\nSPIKE Nexus is recommended to be the only main process running on a machine.\nThis reduces the risk that another process running on the same\nmachine is compromised and can interact with SPIKE Nexus.\nIn a Kubernetes deployment, you can achieve this by setting up appropriate\nNode affinity rules.\nUser Privileges\n\nFor bare-metal deployments:\n\nRun SPIKE Nexus and SPIKE Keeper processes as non-root users.\nConfigure them to have minimal permissions.\nKeep OS and security packages up to date.\n\n\nFor Kubernetes deployments:\n\nDisable privilege escalation for containers by setting\nallowPrivilegeEscalation: false in your PodSecurity configuration.\nUse Kubernetes Pod Security Admission or equivalent policies to enforce\nsecurity constraints.\nLimit the use of privileged containers (privileged: false) wherever\nfeasible.\nConfigure strict NetworkPolicies to restrict communication between Pods.\nAlways use read-only root filesystems for the containers\n(readOnlyRootFilesystem: true).\nSpecify non-root runAsUser and runAsGroup in the container’s\nsecurity context—Do not run the container as root.\n\n\nFor Docker deployments:\n\nPrevent containers from running in privileged mode using the\n--privileged=false option.\nUse --read-only to enforce read-only filesystem access for the container.\nLimit container capabilities by setting the --cap-drop option to drop all\nunnecessary capabilities.\nAvoid mapping the Docker socket into containers for security-sensitive\nworkloads.\nImplement user namespaces with --userns-remap to isolate containers from\nthe host’s root user.\n\n\n\nSecurity Modules\n\nFor Linux bare-metal SPIKE installations, consider enabling and\nconfiguring AppArmor and SELinux.\nSet up mandatory access control.\nEnforce strict process isolation.\n\nNetwork Security\n\nRestrict network access to essential ports/protocols.\nImplement network segmentation.\nConfigure strict firewall rules.\nConduct regular network security audits.\n\nLogging and Monitoring\n\nSet up a comprehensive process logging mechanism\nMonitor for unauthorized access attempts\nImplement real-time alerting\nRegular log analysis and review\n\nSecurity Auditing\n\nRegular system configuration audits\nSecurity control effectiveness reviews\nPeriodic penetration testing\nConfiguration compliance checks\n\nBinary Integrity\nOfficial SPIKE binaries are published with SHA-256 checksums. Make sure\nyou implement SHA hash verification when using SPIKE distributions to\nensure that you are using original, tested, validated, and approved binaries.\nIn addition, it’s useful to have regular binary integrity checks too, to ensure\nthat binaries are not replaced with malicious code.\nOne more thing you are encouraged to do is to include SPIKE Nexus,\nSPIKE Keeper, and SPIKE Pilot’s binary SHA hashes while registering\nthem to SPIRE Server. Here’s an example:\n\nThis way, if the binary changes, SPIRE Server will not assign it an SVID,\nand the rest of the system will not trust it and stop communicating with it,\neffectively securing the SPIKE components by totally isolating and\nkeeping out the untrusted binary.\nDefense in Depth\n\nImplement multiple layers of security controls.\nHave regular security control reviews.\nHave comprehensive security documentation.\n\nHow the Root Key Is Protected in SPIKE\nIn SPIKE, the root key is essential for encrypting secrets within the\ncentral store, SPIKE Nexus. To prevent any single entity from having full\naccess to this key, SPIKE uses Shamir’s Secret Sharing to divide the\nroot key into multiple shares. These shares are distributed among\nSPIKE Keepers, ensuring that the root key can only be reconstructed when a\nsufficient number of shares are combined.\nThis approach enhances security by requiring collaboration among multiple\ntrusted components to access the root key.\nShamir’s Secret Sharing (SSS) is a cryptographic method that divides a\nsecret into parts, distributing them among participants. The secret can only be\nreconstructed when a minimum number of parts (the threshold) are combined.\nThis ensures that partial knowledge of the secret does not compromise its\nsecurity.\nShamir Configuration\nConfigure the threshold and total shares using environment variables:\n\nRecommended configurations by deployment size:\nDeploymentThresholdSharesRationale\nDev/Test23Minimal redundancy\nSmall Prod35Standard config\nLarge Prod57High redundancy\nCritical710Maximum security\n\nTrade-offs to consider:\n\nHigher threshold: More secure (harder to compromise), but requires more\nKeepers to be online for recovery\nHigher shares: More redundancy (tolerate more Keeper failures), but\nrequires more Keeper instances\nLower threshold: Easier recovery (fewer shards needed), but lower security\nLower shares: Less overhead (fewer Keepers), but less fault tolerance\n\nSecurity Guarantees\nShamir Secret Sharing is information-theoretically secure. With fewer than\nthe threshold number of shards, an attacker gains zero information about\nthe root key.\nShards CompromisedSecurity Impact\n< thresholdZero information leaked\n= thresholdRoot key can be reconstructed\n> thresholdRoot key can be reconstructed\n\nMitigation strategies:\n\nDistribute shards across isolated Keepers in different locations\nUse mTLS with SPIFFE ID validation for all Keeper communication\nMonitor shard access through audit logs\nFollow the principle of least privilege for Keeper access\n\nShard Storage\nSPIKE Keeper storage:\n\nShards are stored in-memory only (never persisted to disk)\nShards are lost on Keeper restart but recovered from SPIKE Nexus\nProtected by process isolation and mTLS\n\nOperator storage (break-the-glass recovery):\n\nRecovery shards saved to ~/.spike/recover directory\nFile permissions are set to 0600 (owner read/write-only)\nOperator is responsible for securely storing and later erasing these files\n\nTurn Swap and Core Dumps Off\nBoth SPIKE Nexus and SPIKE Keeper maintain sensitive cryptographic\nmaterial of varying degrees of sensitivity in memory.\nAlthough SPIKE uses secure memory erasing and memory locking practices to\nas a defense mechanism against memory-based attacks, it’s a good practice to\nestablish defense-in-depth practices, especially when an exposed root key\nprovides the possibility to reveal encrypted secrets.\nIf the memory is swapped, an attacker could potentially extract this\ncryptographic key material from the swap file on the disk. This would compromise\nthe security of the system, as swap files are stored unencrypted on disk and\nmay persist even after the system is powered down.\nSimilarly, core dumps can contain a complete copy of the process memory at the\ntime of a crash, including any cryptographic keys, passwords, or other\nsensitive data that was in memory. An attacker with access to these core dump\nfiles could analyze them to extract the sensitive information.\nAlthough SPIKE considers the machine as the trust boundary and assumes the\nsystem is breached if the machine is breached, it does not mean we should relax\nsecurity if the machine is compromised. Defense in depth is still important, and\nminimizing the exposure of sensitive cryptographic material provides additional\nlayers of protection against sophisticated attacks.\nTo mitigate these risks:\n\nDisable swap entirely on systems handling sensitive cryptographic operations\nIf swap cannot be disabled, configure an encrypted swap\nDisable core dumps for security-critical applications\nEnsure proper permissions on any diagnostic files that might be generated\nConsider using memory allocation techniques that minimize exposure of\nsensitive data\n\nThese precautions help prevent attacks where adversaries might attempt to\nretrieve cryptographic keys or other sensitive information from persistent\nstorage after it has been paged out from memory or dumped during a crash.\nHardening SPIKE Keeper for Production\nSPIKE Keepers play a critical role in managing sensitive cryptographic\nmaterial, specifically handling shards that are used to generate the\nroot key that SPIKE Nexus uses to encrypt its backing store.\nAs described in the SPIKE Security Model, protecting your system\nagainst memory analysis is important, not only for SPIKE, but for any\napplication you may be running in your system.\nSystem administrators should implement the following security measures to\nprevent memory analysis:\n\nSet /proc/sys/kernel/yama/ptrace_scope to 2 or 3:\n\nValue 2 restricts ptrace to root-only access\nValue 3 disables ptrace completely, offering maximum security\n\n\nMake this setting permanent by adding kernel.yama.ptrace_scope = 2 to\n/etc/sysctl.d/10-ptrace.conf\nConsider using SELinux or AppArmor profiles to further restrict\nprocess debugging capabilities\nIf running in a container, ensure the container runtime is configured to\ndisable ptrace capabilities (e.g.,\nusing --security-opt=no-new-privileges in Docker)\nRegular audit of processes with CAP_SYS_PTRACE capability, as this can\nbypass ptrace restrictions\n\nBy default, SPIKE Keepers are protected by multiple layers of security:\n\nmTLS API Protection: All SPIKE Keeper APIs are protected by mutual\nTLS (mTLS), preventing direct access to the shards through the API interface.\nSPIFFE Attestation: SPIKE Keepers implement SPIFFE attestation\nwhich verifies the authenticity of SPIKE Keeper binaries by validating\nattributes like the SHA hash, unix user id, and path. This prevents attackers\nfrom running malicious keeper processes, as they would fail the attestation\ncheck.\n\nAlthough these protections are in place, they need to be properly configured to\ntake effect. For example, a misconfigured SPIRE Server registration entry or\nusing a user with elevated privileges to run the SPIKE Keeper binaries may\nresult in a security breach (see the “hardening SPIRE for production” section\nbefore for details)\nHardening SPIKE Nexus for Production\nSPIKE Nexus serves as the central secrets store, maintaining sensitive data\nin memory and using encrypted storage for persistence. Due to its critical role\nin managing secrets, special attention must be paid to its security\nconfiguration.\nMemory Protection\n\nThe ptrace and yama recommendations for SPIKE Keepers covered in\nthe previous section also applies to SPIKE Nexus. Protect SPIKE\nNexus’s memory against external analysis.\nConfigure memory restrictions to prevent swapping:\n\nSet vm.swappiness=0 in sysctl configuration\nUse mlock to lock memory pages and prevent them from being swapped\nIf using systemd, set LimitMEMLOCK=infinity in the service file\n\n\nEnable Address Space Layout Randomization (ASLR):\n\nEnsure /proc/sys/kernel/randomize_va_space is set to 2\n\n\nImplement memory scrubbing:\n\nConfigure automatic memory wiping for deallocated memory\nUse secure memory allocation practices for sensitive data\n\n\n\n\nMemory Security of SPIKE Keepers\nNote that these memory protection measures are also applicable for\nSPIKE Keepers where we secure shards of the root key. While a single\nshard does not expose as much risk as an exposed root key, it’s still\ngood defense in depth to secure the memory of SPIKE Keeper instances.\n\nBacking Store Security\n\nConfigure secure backup procedures:\n\nEncrypt all backups\nImplement strict access controls on backup storage\nRegular backup integrity verification\n\n\nMonitor backing store access:\n\nLog all access attempts\nImplement alerting for unusual access patterns\nRegular audit of access logs\n\n\n\nResource Management\n\nSet appropriate resource limits:\n\nConfigure memory limits based on an expected load\nSet CPU quotas to prevent resource exhaustion\nImplement disk I/O limits\n\n\nMonitor resource usage:\n\nTrack memory utilization\nMonitor CPU usage\nAlert on resource threshold violations\n\n\n\nAccess Control\n\nImplement the least privilege access:\n\nCreate dedicated service accounts\nRestrict file system permissions\nUse SELinux or AppArmor profiles\n\n\n\nDisaster Recovery\n\nDocument recovery procedures:\n\nClear steps for various failure scenarios\nRegular testing of recovery procedures\nMaintain updated recovery documentation\n\n\nConfigure backup systems:\n\nRegular backup testing\nSecure offsite storage\nAutomated recovery validation\n\n\n\nContainer-Specific Hardening\nWhen deploying SPIKE Nexus in containers:\n\nUse minimal base images:\n\nBuild from scratch or distroless images\n\nRegular security updates\n\n\n\n\nConfigure container security:\n\nEnable seccomp profiles\nSet appropriate ulimits\nImplement container isolation\n\n\n\nRemember to regularly review and update these security measures based on new\nthreats and security best practices. Security configuration should be treated\nas a continuous process rather than a one-time setup.\nConclusion\nAlthough SPIKE is designed with security best practices in mind, a\nmulti-layer approach focusing on system, process, and network security is\nimportant when configuring SPIKE for production.\nThe combination of mTLS API protection, SPIFFE attestation, and proper\nsystem-level security controls will provide robust protection against\nunauthorized access to sensitive cryptographic material.\nRemember that security is an ongoing process, and every system’s security\nposture and requirements are different. Thus, these measures outlined in this\nguide shall be taken as starting recommendations and adjusted to meet your\norganization’s security requirements.\n \n\n\nSPIKE Cross-Platform Build\nSPIKE Production Setup\nSPIKE Recovery Procedures\nSPIKE Release Management\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/operations/production/","title":"SPIKE Production Setup"},"https://spike.ist/operations/recovery/":{"body":"SPIKE Recovery Procedures\nSPIKE ensures that your secrets are secure and resilient, aiming for seamless\noperations even in the most challenging situations. This document outlines the\nsteps required for recovering SPIKE in various scenarios, ensuring\nyou have the right guidance to handle any eventuality.\nSPIKE Nexus Crash Recovery\nSPIKE is designed to automatically recover SPIKE Nexus from crashes.\nHere is how this happens:\n\nSPIKE Nexus crashes.\nNew SPIKE Nexus instance starts.\nSPIKE Nexus asks for shards from SPIKE Keepers.\nOnce SPIKE Nexus gathers adequate shards, it recreates its root key\nand resumes normal operations.\n\nSPIKE Keeper Crash Recovery\nSPIKE Keeper recovery is automatic and does not require any manual\nintervention.\nSPIKE Nexus regularly sends the shard that a SPIKE Keeper has to store.\nSo, if a SPIKE Keeper instance crashes, it will eventually receive its\nshard.\nComplete System Recovery\nIn critical scenarios where SPIKE remains unavailable for extended periods,\nIn the unlikely case that both SPIKE Nexus and all SPIKE Keeper\ninstances crash all together, the system may transition to a state where\nit cannot automatically recover.\nIn that case, manual intervention will be necessary. The following sections\ndescribe this “break-the-glass” procedure to help restore SPIKE back to\nits operational state:\n1. Before complete system failure:\n\nChange the SPIFFE ID of SPIKE Pilot to recovery mode by\nexecuting ./hack/bare-metal/entry/spire-server-entry-recover-register.sh\nRun spike recover\nSave the files generated in ~/.spike/recover folder to a safe,\nencrypted, and password-protected medium.\nSecurely erase the ~/.spike/recover` folder.\nChange the SPIFFE ID of SPIKE Pilot back using\n./hack/bare-metal/entry/spire-server-entry-su-register.sh or delete the registration\nentry entirely for extra security.\nYou can create the entry back using\n./hack/bare-metal/entry/spire-server-entry-su-register.sh when you need to use\nSPIKE Pilot.\n\n2. During complete system failure:\n\nChange the SPIFFE ID of SPIKE Pilot to restore mode:\n./hack/bare-metal/entry/spire-server-entry-restore-register.sh\nExecute spike restore and enter the shards you created in the\nprevious step one by one. Each spike restore call accepts a\nsingle shard.\nWhen you provide enough shards, the system will restore itself:\nSPIKE Nexus will restore its root key, and it will also hydrate\nits peer SPIKE Keeper instances to protect itself against future\ncrashes.\nChange the SPIFFE ID of SPIKE Pilot back using\n./hack/bare-metal/entry/spire-server-entry-su-register.sh or delete the registration\nentry entirely for extra security.\n\nYou can create the entry back using\n./hack/bare-metal/entry/spire-server-entry-su-register.sh when you need to use\nSPIKE Pilot.\n\n\n\n\nBoth SPIKE Nexus, SPIKE Keeper are unavailable, or the system is\nin another irrecoverable state.\nAdmin executes spike recover.\nAdmin provides their password.\nThe encrypted root key is fetched from the database and injected to\nthe memory of SPIKE Nexus.\nSPIKE Nexus syncs the root key with SPIKE Keeper.\nThe system resumes normal operation.\n\n\nWhy Do We Change SVIDs Between Operations?\nThis approach is similar to “Admin Account Tiering” commonly found in zero\ntrust architectures: Certain operations are forbidden between tiers; for\nexample, a restore account cannot create secrets, and an account that can\nmanage secrets and policies cannot initiate restoration operations.\nFor operations that need unusual/elevated access, and administrator will\nexplicitly have to sign off for that elevated privilege.\n\nTotal System Reset\nThis procedure is for resetting SPIKE to its factory defaults.\nThe situation:\n\nBoth SPIKE Nexus and all SPIKE Keeper instances have crashed, there\nis no way to fetch the root key from SPIKE Keeper(s).\nThe system administrator has not used spike recover to create recovery\nshards, or they have lost access to the recovery shards.\nEveryone has learned their lessons, and now it’s time to reset the system\nand conduct an extensive “what went wrong / what should have been done”\nanalysis.\n\nHow to proceed:\n\nDelete ~/.spike folder, which will also delete all the persisted secrets\nin the SQLite backing store.\nDelete SPIRE Server registration entries.\nRedeploy SPIKE using your preferred method.\n\nYou can check out ./hack/bare-metal/startup/start.sh to see a sample startup/deployment\nscript.\n\n\nThis is a complete system reset; you’ll lose all data and all former\nconfiguration, including secret access policies.\n\n \n\n\nSPIKE Cross-Platform Build\nSPIKE Production Setup\nSPIKE Recovery Procedures\nSPIKE Release Management\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/operations/recovery/","title":"SPIKE Recovery Procedures"},"https://spike.ist/operations/release/":{"body":"SPIKE Release Management\nThis document provides an overview of how the cut a SPIKE release, including\ntesting guidelines and instructions.\n\nWe Still Use Human Push-buttons\nAlthough some steps, audits, and integration tests of the release\nprocess are automated, we still follow several manual steps\noutlined in this document.\n\nBelow, you will find detailed instructions and examples to guide contributors\nthrough the release and testing process.\nThis document is targeted for core contributors who are responsible for\nmanaging the release cuts of SPIKE. It provides detailed instructions to\nensure a smooth and reliable release process.\nCoverage Report\nThe coverage report for SPIKE is available at\nhttps://spike.ist/coverage.html.\nThe coverage report for SPIKE Go SDK available at\nhttps://spike.ist/sdk/coverage.html.\nWe update the coverage report at every release cut.\nIf you want to increase test coverage, you are more than welcome to contribute\nto the project.\nGenerating Coverage Reports\nTo generate and publish the SPIKE coverage report, run make docs from the\nSPIKE repository root. This generates the coverage report and publishes it to\n./docs/coverage.html.\nTo generate and publish the SPIKE Go SDK coverage report:\n\nThis runs the SDK tests with coverage profiling and publishes the HTML report\nto the SPIKE documentation directory at ./docs/sdk/coverage.html.\nBefore Every Release\nBefore every release:\n\nRun the unit tests: make test.\nRun make start and verify you see the message “Everything is set up.”\nto confirm the smoke tests pass, then press Ctrl+C to stop.\nSwitch to “in-memory” mode, run make start and verify you see the message\n“Everything is set up.” again to confirm the smoke tests pass in that mode\ntoo, then press Ctrl+C to stop.\nRun make audit to ensure the project is free of security vulnerabilities.\nIf everything passes, update ./app/VERSION.txt to the release version.\nUpdate any necessary documentation.\nUpdate the changelog\n(docs-src/content/tracking/changelog.md).\nRun make docs to generate and publish the documentation, including the\ncoverage report.\nFrom the spike-sdk-go repository, run make coverage/publish to generate\nand publish the SDK coverage report.\n\nRelease process:\n\nMerge all the changes to the main branch.\nTag a version by running make tag (this creates a GPG-signed tag using the\nversion from app/VERSION.txt and pushes it to origin).\nConvert the tag to a release on GitHub.\nCopy the current version’s changelog over to the release notes on GitHub.\nOn a Mac machine follow cross-platform build instructions\nto generate binaries.\nAdd binaries to the release as assets.\nAnnounce the release in relevant channels.\nYou are all set.\n\n \n\n\nSPIKE Cross-Platform Build\nSPIKE Production Setup\nSPIKE Recovery Procedures\nSPIKE Release Management\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/operations/release/","title":"SPIKE Relase Management"},"https://spike.ist/tracking/":{"body":"Tracking\nHere you can find the changelog, documentation snapshots, and all the essential\nupdates to stay informed.\n\nChangelog\nDocumentation Snapshots\n\n","id":"https://spike.ist/tracking/","title":"Tracking"},"https://spike.ist/tracking/changelog/":{"body":"SPIKE Changelog\nRecent\n\nAdded configurable retry backoff intervals for SPIKE Bootstrap keeper\ncommunication. New environment variables SPIKE_BOOTSTRAP_KEEPER_RETRY_INITIAL_INTERVAL\n(default 2s) and SPIKE_BOOTSTRAP_KEEPER_RETRY_MAX_INTERVAL (default 30s)\nallow operators to tune retry behavior during bootstrap.\nSDK: retry.WithMaxAttempts now accepts optional RetrierOption parameters,\nenabling callers to customize backoff settings while maintaining backward\ncompatibility.\nUpdate documentation to reflect the new SPIKE architecture.\nFix occasional dangling process issues when make start does not exit cleanly.\nSDK API methods now return cloned versions of sentinel *SDKErrors instead of\nreturning the original reference. This prevents accidental mutation of the\nerror values.\nmem.Lock() does not print JSON error logs on CLI startup anymore.\nmoved some of the internal reusable feature from in-tree to SPIKE Go SDK.\nbinaries are now create at the ./bin folder instead of the root of the project.\nlog files are now created at the ./logs folder instead of the root of the project.\nfactored out some common validation and error handling logic from in-tree to the SDK.\n\n[0.8.0] - 2025-11-28\nAdded\n\nAdditional and comprehensive logging to all SPIKE Nexus and SPIKE Keeper API\nmethods.\nBetter error handling across the entire codebase.\nPilot: Reduced CLI verbosity by removing structured JSON log output from\nall commands (policy, secret, cipher, operator). The CLI now outputs clean,\nconcise error messages to stderr without internal debug logs cluttering the\nterminal.\n“Encryption as a service” support for SPIKE Pilot. There is an outstanding\nissue for JSON mode; however, streaming mode works as expected.\nmake start includes additional smoke tests to ensure all SPIKE components are\nin good shape and ready to roll.\nAdded extensive package documentation to ALL packages of SPIKE and\nSPIKE Go SGK.\nSDK: Improved documentation clarity for single return value functions, CSPRNG\nfatal behavior, and function distinctions (ValidatePath vs.\nValidatePathPattern).\nSDK: Significantly increased test coverage across all SDK packages with\ncomprehensive unit and integration tests.\nSDK: Enhanced documentation for the version numbering system—version numbers\nstart at 1, and CurrentVersion == 0 indicates all versions have been deleted.\nSDK: Updated Delete() documentation to clarify soft-delete behavior and that\npaths remain in storage even when all versions are deleted.\nSDK: Added HasValidVersions() and Empty() helper methods to kv.Value for\nchecking if secrets have any non-deleted versions, useful for identifying\npurgeable secrets.\nSDK: Added Destroy() method to kv.KV for hard-delete operations that\npermanently remove secret paths from storage and reclaim memory. Unlike\nsoft-delete (Delete()), this cannot be undone.\nNexus: Comprehensive documentation updates across ALL files ensuring\nconsistency between function signatures, parameter types, return values, and\nactual code behavior. Updated error type references from generic error to\nspecific *sdkErrors.SDKError types.\nNexus: Added defensive nil source checks across concurrent/distributed systems\nwhere workload API can asynchronously invalidate X509Source. Updated\nInitializeBackingStoreFromKeepers, SendShardsPeriodically, CLI commands,\nand server startup with proper nil handling and documentation explaining\nretry behavior for transient failures.\nNexus, Keeper: Added AST-based tests to enforce guard function usage in all\nroute handlers. The tests scan route handler files and verify each Route*\nfunction calls either net.ReadParseAndGuard or a guard function directly.\nThis prevents contributors from accidentally adding routes without\nauthorization checks. See ADR-0031.\n\nChanged\n\nBREAKING: SDK now returns typed sentinel errors instead of generic error\nvalues.\nBREAKING: SDK: Enhanced error handling—Get methods now return\nErrAPINotFound instead of (nil, nil) when resources are not found,\nfollowing idiomatic Go patterns (similar to os.Open, database/sql).\nSDK: Improved API consistency by standardizing policy function\nparameters from name to id across all operations, matching internal\nimplementation.\nNexus: Enhanced backend interface documentation with proper parameter and\nreturn type information, and documented CurrentVersion == 0 behavior in\nLoadSecret and LoadAllSecrets methods.\nNexus: Comprehensive documentation updates for all secret management functions\nwith accurate parameter names, return types, and behavioral details including\nsoft-delete semantics and metadata update logic.\nNexus: Made DeleteSecret more defensive when finding the new current version\nby removing unnecessary condition, improving code clarity and robustness.\nBREAKING: Nexus: Fixed inconsistent error returns in memory backend -\nLoadSecret now returns ErrEntityNotFound instead of (nil, nil) for\nmissing secrets.\nNexus: Optimized retry loop in InitializeBackingStoreFromKeepers with early\nnil check to avoid unnecessary function call overhead when X509 source is nil.\nNexus: Refactored ShardGetResponse to return ([]byte, *sdkErrors.SDKError)\ninstead of logging errors internally and returning empty slices, following\ncanonical Go error handling patterns.\nNexus: Improved resilience in data loading functions (LoadAllPolicies,\nLoadAllSecrets) by changing from aggressive exit behavior to graceful\ndegradation - now logs warnings and continues processing valid entries instead\nof abandoning entire dataset on single entry corruption.\nPilot: Comprehensive refactoring of CLI output handling across all commands\n(14 files) to use Cobra’s cmd.Print*() methods instead of fmt.Print*().\nError messages now properly route to stderr via cmd.PrintErrln()/\ncmd.PrintErrf(), while success and normal output routes to stdout via\ncmd.Println()/cmd.Printf(). This improves testability, respects Cobra’s\noutput configuration, and provides proper stderr/stdout separation. Updated\nhelper functions printSecretResponse() and handleAPIError() to accept\ncmd parameter for consistent output handling.\nSDK: Added UpdatedAt field to Policy struct to track when policies are\nmodified. Removed unused CreatedBy field.\nNexus: Standardized error handling across recovery modules to use\nlog.WarnErr/log.FatalErr with SDK error types instead of generic\nlog.Warn/log.FatalLn calls. This provides searchable error codes and\nconsistent error patterns.\nBREAKING: Nexus: Changed policy operations from create-only to upsert\nsemantics for consistency with secret operations. state.CreatePolicy is now\nstate.UpsertPolicy. If a policy with the same name exists, it is updated\n(preserving ID and CreatedAt); otherwise, a new policy is created.\nCode Quality: Eliminated error variable shadowing across the codebase. Error\nvariables now use descriptive names (atoiErr, nonceErr, openErr,\nrestoreErr, etc.) instead of reusing err. This prevents subtle bugs where\na later error could inadvertently shadow an earlier one and improves code\nreadability by making error sources explicit.\n\nFixed\n\nFinally, fixed the flaky tests around the retry logic in SPIKE Go SDK for\ngood.\nVarious other bugfixes, refactorings, and security improvements.\nSDK: Added nil validation to CreateMTLSServer functions with fail-fast\nbehavior for configuration errors.\nSDK: Fixed resource management bug in StreamPostWithContentType where defer\nwas closing response body on the success path, causing callers to receive closed\nbody.\nSDK: Fixed critical bug in Undelete function that was ignoring the versions\nparameter due to missing else clause.\nNexus: Added OldestVersion tracking to UndeleteSecret for consistency\nwith DeleteSecret, ensuring metadata accurately reflects the oldest\nnon-deleted version.\nNexus: Fixed bug in UndeleteSecret where undeleting a version higher than\nthe current CurrentVersion did not update CurrentVersion to reflect the\nnew highest active version, causing metadata inconsistency.\nNexus: Fixed critical bug in UpsertSecret where adding a new version when all\nexisting versions were deleted (CurrentVersion == 0) would create version 1,\npotentially colliding with an existing deleted version 1. Now correctly finds\nthe highest existing version number and increments from there.\nNexus: Fixed resource leak in internal/net/post.go where response body\nclose was deferred after body read instead of immediately after response\nobtained, causing leaks when read operations failed.\nNexus: Fixed a critical bug in secret route handlers where error paths were not\nsending HTTP responses to clients. Added missing net.Fail() calls in\nput_intercept.go (3 locations) and undelete.go to ensure proper error\nresponses.\nNexus: Fixed bug in RouteDeletePolicy that returned HTTP 500 for all errors\nincluding “not found.” Now correctly returns HTTP 404 when the policy does not\nexist\n\nSecurity\n\nPoP validation after the bootstrap sequence to ensure SPIKE Nexus has\ninitialized properly.\nUpdate SPIKE Components’ Go version to 1.25.3.\nlog.FatalLn exits cleanly by default to avoid leaking sensitive information\nvia stack traces in production. Stack traces can be enabled for\ndevelopment/testing by setting SPIKE_STACK_TRACES_ON_LOG_FATAL=true.\nSDK upgrade to Go 1.25.3 to fix GO-2025-4007.\nFixed error handling inconsistency in NewPilotRecoveryShards to\nensure fail-fast behavior on shard generation failures. The function now\nconsistently uses log.FatalLn for all critical errors during shard\nmarshaling to prevent silent generation of corrupted recovery material.\nAdded SPIFFE ID validation to SPIKE Keeper shard endpoints.\nThe RouteShard endpoint now validates that only SPIKE Nexus can retrieve\nshards during recovery operations. The RouteContribute endpoint validates\nthat only SPIKE Bootstrap (during initial setup) or SPIKE Nexus (during\nperiodic updates) can contribute shards. This prevents unauthorized access\nto sensitive shard data.\nCrypto: Consolidated GCM nonce size constant (crypto.GCMNonceSize) to\ninternal/crypto/gcm.go. This removes duplication across cipher and bootstrap\npackages and documents the decision to use the NIST-recommended 12-byte\nstandard. See ADR-0032.\nFixed CWE-117: go-viper’s mapstructure May Leak Sensitive Information in\nLogs When Processing Malformed\nData\nFixed CVE-2025-58181: golang.org/x/crypto/ssh allows an attacker to cause\nunbounded memory\nconsumption\nFixed CVE-2025-47914: golang.org/x/crypto/ssh/agent vulnerable to panic if\nmessage is malformed due to out of bounds\nread\n\n[0.6.1] - 2025-10-02\nThis is a patch release to align with the changes in the upstream helm charts.\n[0.6.0] - 2025-10-01\nThis was a security release where the main focus was hardening SPIKE SDK mTLS\nimplementation. In addition, we created a configurable SPIKE backing store\ndirectory to enable future HA development.\nAdded\n\nAdded SPIKE_TRUST_ROOT_BOOTSTRAP to enable SPIKE Bootstrap to be used\nin different trust boundaries.\nAdded SPIKE_NEXUS_DATA_DIR to enable setting up custom data directories for\nSPIKE Nexus backing store.\nAdded convenience methods to the SPIKE Go SDK.\n\nChanged\n\nImprovements to the SPIKE Go SDK.\nStricter SPIFFE ID validation. SPIKE SDK now ensures that the API client\nonly talks to SPIKE Nexus as the server.\n\nFixed\n\nMinor bug fixes.\nFixed flaky unit tests.\n\nSecurity\n\nSPIKE Go SDK clients are hardened to only talk to SPIKE Nexus as the\nserver during mTLS.\n\n[0.5.1] - 2025-09-14\nChanged\n\nUpdated SPIKE Bootstrap to be more robust by adding exponential backoff while\nwaiting for SPIKE Keepers to be ready.\nEnhancements in startup scripts to better enable local development with\nSPIFFE Helm Charts that have not been published yet.\n\n[0.5.0] - 2025-09-11\nThis is still a prerelease version; however, it includes major changes\nand improvements. We will cut a stable release once we have SPIKE Bootstrap\nincluded in the SPIFFE Helm Charts.\nAdded\n\nUpdates to documentation and usage examples.\nUpdates to the SPIKE Go SDK around the logging API.\nMoved certain reusable features from in-tree to SPIKE Go SDK.\nA new make audit target that helps contributors run style checks and\nlinters before submitting a PR.\nEnhancements to bare-metal installation scripts.\n\nChanged\n\nUpdated Go version to 1.25.1\nUpdated SPIKE Bootstrap to be more robust and enabled it to work on\nKubernetes too.\nClarified documentation around path pattern and SPIFFE ID pattern matching\nin SPIKE policies.\nSlight improvements in the SPIKE logo and a brand-new landing page that\nhighlights the project’s vision and goals.\nMoved environment variable names to the SPIKE Go SDK as constants to prevent\ntypos and to make it easier to use the SDK.\n\nFixed\n\nBug fixes and stability improvements.\nFixed failing unit tests on CI (that’s a temporary fix that runs tests\nsequentially instead of in parallel; we will fix that soon)\n\nSecurity\n\nAlong with secrets, SPIKE Nexus now encrypts policies at rest too.\n\nUpcoming\n\nA lot of ongoing design work around key rotation, encryption, and a secure\nweb interface that leverages Web Cryptography API to provide a secure\nexperience of managing secrets without having to interact with the command\nline.\nOngoing work on the Cipher API to provide “encryption as a service” to\nsystems and workloads that do not require to store secrets in a backing store.\n\n[0.4.3] - 2025-08-16 (prerelease)\nThis is a “prerelease” version to enable upstream SPIFFE Helm Charts\nintegration initiatives. The most significant change is the introduction of a\nSPIKE Bootstrap app that is responsible for initializing\nSPIKE Nexus. This new approach separates the bootstrapping workflow that\nhad been inside SPIKE Nexus’ initialization workflow before. And that\nenables us an opportunity to run SPIKE Nexus in HA mode without designing\nelaborate, and potentially error-prone, consensus algorithms.\nAdded\n\nFIPS 140.3 Compliance: FIPS is now enabled at build time, and it’s\nenforced everywhere. We are using GOFIPS140=v1.0.0, the modern way of\nenabling FIPS, retiring our older boringcrypto implementation.\nspike policy list command can now filter by SPIFFE ID pattern and path\npattern.\nspike policy command cano now accept a YAML file as input, instead of\nrequiring command-line parameters.\nSPIKE Go SDK now has a generator that creates pattern-based, secure,\nrandomized secrets.\nImplemented a (currently experimental) “SPIKE Lite” mode where SPIKE Nexus\nwould not need a backing store, or policies, and can leverage the storage\nand policy mechanism of S3-compatible object stores (such as Minio). Once\nwe fully implement and polish SPIKE Lite, we will also update documentation\nand use cases to allow users to understand the benefits and liabilities of\nSPIKE Lite and why they might want to use one over the other.\n\nChanged\n\nBetter alignment with idiomatic Go practices. SPIKE and SPIKE Go SDK code\nhas been refactored to better align with common Go idioms and conventions.\nWe also created a make audit target to run style checks and linters that\nenforce a consistent code style and some of these guidelines. make audit\nis also a part of the CI pipeline to ensure that the code is always compliant\nat every commit. In addition make audit also does vulnerability checks.\nBREAKING: SPIKE Nexus now requires a separate initializer (SPIKE Bootstrap)\nto begin its lifecycle. The user guides and relevant documentation have been\nupdated to reflect this change.\nUpdated Go to the latest version (1.24.6).\n\nFixed\n\nFixed a bug related to Windows builds. SPIKE Nexus, SPIKE Pilot, and SPIKE\nKeeper can now be built as Windows binaries too.\nVarious refactorings, improvements, code cleanup, and bug fixes.\n\n[0.4.2] - 2025-07-19\nAdded\n\nAbility to configure to not how SPIKE banner on startup.\nAbility to configure to show a warning if memory locking is not\navailable on the system.\nSPIKE can now be deployed from SPIFFE helm charts. Tested and verified!\nDocumentation updates.\nSPIKE can now be installed from SPIFFE Helm\nCharts and can\nfederate secrets across clusters\n\nChanged\n\nMoved logging to SPIKE SDK. VSecM v2 will share the same logging setup.\nspike policy command now accepts file input; you can design your policies\nas yaml files and then spike policy apply -f them.\n\nSecurity\n\nFixed GHSA-fv92-fjc5-jj9h: mapstructure May Leak Sensitive Information\nin Logs When Processing Malformed\nData\n\n[0.4.1] - 2025-06-01 (prerelease)\nAdded\n\nInitial support for Kubernetes deployments.\nBetter shard sanitization during recovery procedures.\nAdded memory locking to SPIKE Pilot too.\nFiner control of the startup script via flags.\nAdded the ability to optionally skip database schema creation during SPIKE\ninitialization.\n\nChanged\n\nBREAKING: SDK validation methods now take trust root as an argument.\nBREAKING: SPIKE_NEXUS_KEEPER_URL is now a comma-delimited list of URLs\n(instead of JSON).\nSPIKE components can now be configured to accept multiple trust roots as\nlegitimate peers—this will be useful in complex mesh and federation\ndeployment scenarios.\nSPIKE now uses GitHub Container Registry to store its container image\n(instead of Docker Hub).\n\nFixed\n\nFixed a bug where the doomsday recovery procedure was not immediately\nrestoring the data.\n\n[0.4.0] - 2025-04-16\nAdded\n\nAdded more configuration options to SPIKE Nexus.\nUpdated documentation around security and production hardening.\nUpdated release instructions, added a series of tests to follow and cutting\na release only after all tests pass. These tests are manual for now but\ncan be automated later down the line.\n\nFixed\n\nFixed a bug related to policies not recovering after a SPIKE Nexus crash.\nNow, both secrets and policies recover without an issue.\nEnsured that “in memory” mode works as expected, and we can create policies\nand secrets.\nFixed inconsistencies in the audit log format.\nFixed NilPointer exception during certain shard creation paths.\nFixed regressions due to premature memory cleanup. Now the memory is cleaned\nup when no longer needed (but not before).\nVarious bug fixes and improvements.\n\nChanged\n\nMoved some common reusable code to spike-sdk-go.\nVarious changes and improvements in SPIKE Go SDK.\nThe startup script does not initiate SPIKE Keepers if SPIKE is running in\n“in memory” mode.\nRenamed AuditCreated enum as AuditEntryCreated to specify its intention\nbetter (i.e., it’s not creation of an entity or a DAO, but rather it’s\nthe start of an audit trail).\nImproved spike policy commands with better UX and error handling.\n\nSecurity\n\nAdded cache invalidation headers to all API responses.\nFor added security, we strip symbols during the build process now.\nImplemented better memory protection with cleaning up memory when no longer needed.\nSPIKE Nexus and SPIKE Keepers use mlock to avoid memory swapping when possible.\nFixed CVE-2025-22872: golang.org/x/net vulnerable to Cross-site Scripting\nFixed CVE-2025-22870: HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net\n\n[0.3.1] - 2025-03-04\nAdded\n\nSPIKE Nexus now accepts a dynamic number of SPIKE Keepers and Shamir share\nthreshold (defaults to 3 keepers, and minimum 2 shares (out of 3) to\nrecreate the root key).\nStarted containerization work (created a Dockerfile); yet it’s far from\ncomplete: We will work on that.\nVarious documentation updates.\nMinor bug fixes in initialization scripts.\n\nChanged\n\nSecrets now rehydrate from the backing store immediately after SPIKE\nNexus crashes. Former implementation was using an optimistic algorithm\n(i.e., do not load the secret unless you need it), yet that was causing\ncalls to spike secret list return an empty collection. This implementation\nfixes that issue and also ensures that SPIKE Nexus’ memory continues to\nbe the primary source of truth (by design).\n\nSecurity\n\nSPIKE Nexus now securely erases the old root key and shards from memory after\nit is no longer necessary. Before, it was left to the garbage collector to\nhandle that. The current approach is NIST recommendation and provides better\nmemory protection.\nFixed CVE-2025-271447: DoS in go-jose Parsing\n\n[0.3.0] - 2025-02-20\nThis release was focused around bugfixes, stability, documentation, and\ndisaster recovery.\nAdded\n\nDocumentation: SPIKE Production Hardening Guide is complete and ready for\nconsumption (it was in draft mode before).\nImplemented spike operator recover and spike operator restore commands\nthat provide disaster recovery capabilities if there is a total system crash\nand the remaining SPIKE Keepers are less than the threshold to recover the\nroot key.\nSeveral bugfixes and performance improvements.\nAdded a coverage report to the repository. The coverage is not as high as\nwe would like to be; yet we have to start somewhere :).\nAdded several architectural decision records to share the projects’ vision\nand design decisions transparently.\nStarted working on containerization (though it’s still a work in progress).\n\nChanged\n\nSPIKE Website has undergone a major overhaul.\nDocumentation updates, especially around security and disaster recovery.\nDocumentation is now consistent with the code: Removed outdated sections,\nintroduced new modules, explained current workflows and state transitions.\nMoved documentation from Docsify to Zola, that gave, speed, flexibility,\ntemplateability, and consistency to the overall documentation.\nSignificant updates in SPIKE go SDK.\n\n[0.2.1] - 2025-01-23\nAdded\n\nEnabled policy-based access control.\nThe root key that SPIKE Nexus generates is now split into several Shamir\nshards and distributed to SPIKE Keepers.\nNew additions and improvements to SPIKE Go SDK.\nVarious minor bugfixes.\nCode cleanup.\nImplemented several recovery scenarios.\nSPIKE now has static analysis, CI integration, linting, and automated tests.\nDocumentation updates. Documentation is still lagging behind, but we are\nupdating and improving it along the way.\nCreated a makefile to group related scripts into make targets.\nMade the start script more robust.\nEnsured that the policies and the demo app work as expected.\nImplemented a Secret Metadata API.\nImplemented exponential retries across several API-consuming methods.\n\nChanged\n\nBREAKING: changed the CLI usage. Instead of spike get, for example, we\nnow use spike secret get. The reason for this change is that we introduced\na policy command (i.e. spike policy get).\n\nSecurity\n\nFixed CVE-2024-45337: Misuse of ServerConfig.PublicKeyCallback may cause\nauthorization bypass in golang.org/x/crypto\nFixed CVE-2024-45338: Non-linear parsing of case-insensitive content in\ngolang.org/x/net/htm\n\n[0.2.0] - 2024-11-22\nAdded\n\nAdded configuration options for SPIKE Nexus and SPIKE Keeper.\nDocumentation updates.\nMax secret version is now configurable.\nIntroduced standard and configurable logging.\nAdded sqlite3 as a backing store.\nEnabled cross-compilation and SHA checksums.\nEnhanced audit trails and error logging.\nCreated initial smoke/integration tests.\nStability improvements.\n\nChanged\n\nRemoved password authentication for admin users. Admin users’ SVIDs\nare good enough to authenticate them.\nImplemented passwordless admin login flow\n(the neat thing about passwords is: you don’t need them).\n\n[0.1.0] - 2024-11-06\nAdded\n\nImplemented put, read, delete, undelete, and list functionalities.\nCreated initial documentation, README, and related files.\nCompiled binaries targeting various platforms (x86, arm64, darwin, linux).\nSPIKE is demoable; however, we need to update certain login and initialization\nflows.\nIn-memory secrets storage only (using database as a backing store is coming up\nnext)\nCreated a jira.txt to track things (to avoid polluting GitHub issues\nunnecessarily)\nThis is an amazing start; more will come. Turtle power 🐢⚡️.\n\n \n\n\nChangelog\nDocumentation Snapshots\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/tracking/changelog/","title":"Changelog"},"https://spike.ist/tracking/snapshots/":{"body":"Documentation Snapshots\nThe GitHub repository contains the latest documentation of SPIKE already.\nSnapshots\nHere are the links to point-in-time documentation snapshots at each release:\n\ncurrent\nv0.6.0\nv0.6.0\nv0.5.0\nv0.4.3\nv0.4.2\nv0.4.1\nv0.4.0\nv0.3.1\nv0.3.0\nv0.2.1\nv0.2.0\nv0.1.0\n\n \n\n\nChangelog\nDocumentation Snapshots\n\n—2\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/tracking/snapshots/","title":"Documentation Snapshots"},"https://spike.ist/usage/":{"body":"Using SPIKE\n\nConfiguring SPIKE\nSPIKE CLI\n\n","id":"https://spike.ist/usage/","title":"Using SPIKE"},"https://spike.ist/usage/cli/":{"body":"SPIKE Command Line Interface\n\nSPIKE in Action\nTo watch SPIKE CLI in action, you can check out SPIKE presentations\nand demo recordings.\n\nSPIKE uses SPIKE Pilot (the command line tool) to interact with\nSPIKE Nexus (the secrets store).\nDetailed CLI Documentation\nThe rest of this page focuses on providing a practical sense of how to use\nthe SPIKE command line interface. It’s aimed at explaining its usage through\nexamples and common scenarios. Please note that it is not a normative or\nexhaustive reference; for that, refer to the\nSPIKE CLI Reference.\nHow to Get Help\nThe best way to learn about it will be to use its --help flag.\nThe following snippet shows what the interface looks like. Note that what you\nsee might be different based on the version you use.\n\nAnd here is how we can get help about a certain using of the spike command\nusing the --help flag:\n\nLet’s dig in further:\n\nOkay, that explains a lot. Let’s try the command:\n\nNow let’s try to read this secret:\n\nNow that we know how to use the spike secret get command, let’s try it.\n\nThat’s about it. You can use other SPIKE commands similarly.\n \n\n\nConfiguring SPIKE\nSPIKE CLI\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/usage/cli/","title":"SPIKE CLI"},"https://spike.ist/usage/commands/":{"body":"SPIKE CLI Commands\n\nspike secret: Manage secrets.\nspike policy: Manage rules that\ncontrol access to secrets.\nspike cipher: Encrypt and decrypt data\nusing SPIKE Nexus.\nspike operator: Administrative\nfunctionality for system operations and disaster recovery.\n\n \n\n\nConfiguring SPIKE\nSPIKE CLI\n\n","id":"https://spike.ist/usage/commands/","title":"SPIKE CLI Commands"},"https://spike.ist/usage/commands/cipher/":{"body":"spike cipher\nThe spike cipher command provides encryption and decryption capabilities\nthrough SPIKE Nexus. It allows workloads to protect sensitive data in\ntransit or at rest using cryptographic operations managed by the secrets\ninfrastructure.\nQuick Start\n\nWhat is SPIKE Cipher?\nThe cipher commands provide a secure way to encrypt and decrypt data using keys\nmanaged by SPIKE Nexus. This enables:\n\nData protection: Encrypt sensitive files or data streams\nKey management: Cryptographic keys are managed centrally by SPIKE Nexus\nAccess control: Encryption operations are subject to SPIFFE-based\nauthentication\nFlexibility: Support for both file-based and streaming operations\n\nCommands\nspike cipher encrypt\n\nEncrypts data via SPIKE Nexus. The command supports two modes of operation:\nStream Mode (default)\nReads data from a file or stdin and writes encrypted data to a file or stdout.\nThis mode handles binary data transparently.\nJSON Mode\nWhen --plaintext is provided, the command accepts base64-encoded plaintext\nand returns a JSON-formatted encryption result.\nFlags:\nFlagDescription\n--file, -fInput file path (default: stdin)\n--out, -oOutput file path (default: stdout)\n--plaintextBase64-encoded plaintext for JSON mode\n--algorithmAlgorithm hint for JSON mode\n\nExamples:\n\nspike cipher decrypt\n\nDecrypts data via SPIKE Nexus. The command supports two modes of operation:\nStream Mode (default)\nReads encrypted data from a file or stdin and writes decrypted plaintext to a\nfile or stdout. This mode handles binary data transparently.\nJSON Mode\nWhen --version, --nonce, or --ciphertext is provided, the command accepts\nbase64-encoded encryption components and returns plaintext output.\nFlags:\nFlagDescription\n--file, -fInput file path (default: stdin)\n--out, -oOutput file path (default: stdout)\n--versionVersion byte (0-255) for JSON mode\n--nonceBase64-encoded nonce for JSON mode\n--ciphertextBase64-encoded ciphertext for JSON mode\n--algorithmAlgorithm hint for JSON mode\n\nExamples:\n\nUse Cases\nEncrypting Configuration Files\n\nPipeline Processing\n\nBackup Encryption\n\nBest Practices\n\nUse file-based operations for large data to avoid memory issues\nPipe operations are useful for automation and scripting\nEnsure the workload has appropriate SPIFFE credentials before encryption\nStore encrypted files securely; encryption adds a layer but is not a\nreplacement for access control\nUse consistent encryption for data that will be decrypted later\n\nTechnical Details\nCryptographic Algorithm\nSPIKE Cipher uses AES-256-GCM (Galois/Counter Mode) for authenticated\nencryption:\nPropertyValue\nAlgorithmAES-256-GCM\nKey Size32 bytes (256 bits)\nNonce Size12 bytes (96 bits)\nAuthenticationBuilt-in (AEAD)\n\nSecurity Properties:\n\nConfidentiality: Plaintext is hidden from unauthorized parties\nIntegrity: Any tampering or corruption is detected\nAuthenticity: Verifies data originated from a valid source\nFreshness: Unique nonce prevents replay attacks\n\nStream Mode Binary Format\nIn stream mode, the encrypted output has the following binary format:\n\n\nByte 0: Version byte (currently 0x01)\nBytes 1-12: 12-byte GCM nonce (randomly generated)\nBytes 13+: The actual ciphertext with authentication tag\n\nJSON vs Stream Mode\nAspectJSON ModeStream Mode\nContent-Typeapplication/jsonapplication/octet-stream\nRequest FormatJSON objectBinary bytes\nResponse FormatJSON objectBinary bytes\nOverheadHigher (JSON encoding)Lower (raw binary)\nUse CaseSmall data, structuredLarge data, efficiency\nNonce LocationJSON fieldBytes 1-12 of response\nVersion LocationJSON fieldByte 0 of response\n\nSecurity Considerations\n\nAll cipher operations require valid SPIFFE authentication\nEncryption keys are managed by SPIKE Nexus and never exposed to clients\nThe cipher operations use authenticated encryption (AEAD)\nMemory containing sensitive data is cleared after operations\nNonces are randomly generated and must be unique per encryption\n\n\nspike Command Index\n\nspike secret: Manage secrets.\nspike policy: Manage rules that\ncontrol access to secrets.\nspike cipher: Encrypt and decrypt data\nusing SPIKE Nexus.\nspike operator: Administrative\nfunctionality for system operations and disaster recovery.\n\n \n\n\nConfiguring SPIKE\nSPIKE CLI\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/usage/commands/cipher/","title":"spike cipher"},"https://spike.ist/usage/commands/operator/":{"body":"spike operator\nThe spike operator command provides administrative functionality for\ndisaster recovery and system restoration in SPIKE. It allows\nprivileged operators with specific SPIFFE roles to perform critical operations\nfor maintaining SPIKE Nexus’ resilience.\nQuick Start\n\nWhat is SPIKE Operator Mode?\nThe Operator mode in SPIKE provides privileged functionality for system\nmaintenance and recovery. These commands:\n\nAre restricted to users with specific SPIFFE roles (recover or restore)\nHandle sensitive security operations for disaster recovery\nManage the cryptographic shards needed for system restoration\nProvide secure mechanisms for recovering from catastrophic system failures\n\nOperator commands are the safety net for SPIKE installations, ensuring that\neven in worst-case scenarios, the system can be recovered without compromising\nsecurity.\nCommands\nspike operator recover\n\nThe recover command allows privileged operators with the recover role to\nextract recovery shards from a healthy SPIKE Nexus system. These shards are\nessential for system restoration in case of catastrophic failure.\nRequirements:\n\nCaller must have the recover SPIFFE role\nSPIKE Nexus must be running and healthy\nA recovery directory must be configured and accessible\n\nProcess:\n\nAuthenticates the caller’s SPIFFE ID for the recover role\nRetrieves recovery shards from the SPIKE API\nCleans the recovery directory of any previous recovery files\nSaves the retrieved shards as text files in the recovery directory\nProvides instructions for securing the recovery shards\n\nSecurity Considerations:\n\nRecovery shards are security-critical and must be protected\nAfter recovery, shards should be encrypted and securely stored\nThe recovery directory should be cleaned after shards are secured\nLoss of recovery shards may prevent system restoration\n\nExample:\n\nAfter executing the command, you will see:\n\nspike operator restore\n\nThe restore command allows privileged operators with the restore role to\nrestore SPIKE Nexus after a system failure. It requires the recovery shards\npreviously generated with the recover command.\nRequirements:\n\nCaller must have the restore SPIFFE role\nSPIKE Nexus must be in a state that requires restoration\nRecovery shards must be available\n\nProcess:\n\nAuthenticates the caller’s SPIFFE ID for the restore role\nPrompts for a recovery shard (input is hidden for security)\nValidates and processes the provided shard\nReports the current restoration status\nMay require multiple executions with different shards to complete restoration\n\nSecurity Considerations:\n\nRecovery shards are security-critical and handled with care\nInput is hidden during shard entry to prevent exposure\nRecovery shards are cleared from memory after use\nThe restoration process is designed to require multiple shards for security\n\nExample:\n\nDuring execution, you will be prompted:\n\nAfter providing a valid shard, you will see one of two responses:\nIf restoration is complete:\n\nIf more shards are needed:\n\nRecovery Shard Format\nRecovery shards follow a specific format:\n\nWhere:\n\nINDEX is the numeric index of the shard\nHEXDATA is the 64-character hexadecimal representation of a 32-byte secret\n\nThe system enforces strict validation of this format to ensure security and\nproper restoration.\nBest Practices\n\nRegular Recovery Preparation: Periodically run recover on healthy\nsystems to ensure up-to-date shards\nSecure Shard Storage: Encrypt recovery shards and store them in secure,\nseparate locations. DO NOT STORE SHARDS ON DISK UNENCRYPTED, use a secure\nstorage tool, like a password manager.\nAccess Control: Strictly limit access to the recover and restore roles\nDocumentation: Maintain secure documentation of recovery procedures\nTesting: Regularly test the recovery process in non-production environments\nMultiple Administrators: Distribute recovery shards among multiple trusted\nadministrators\n\nSecurity Considerations\n\nRecovery shards provide full system access and must be protected accordingly\nThe system uses cryptographic techniques to secure recovery operations\nMemory containing shards is explicitly cleared after use\nBoth commands implement role-based access control through SPIFFE IDs\nRecovery files are created with restrictive permissions (0600)\n\nRole Assignment\nTo assign the required roles for operator commands:\n\n\nFor recovery role:\n\n\n\nFor restore role:\n\n\n\nThese scripts must be run with appropriate privileges.\n\nspike Command Index\n\nspike secret: Manage secrets.\nspike policy: Manage rules that\ncontrol access to secrets.\nspike cipher: Encrypt and decrypt data\nusing SPIKE Nexus.\nspike operator: Administrative\nfunctionality for system operations and disaster recovery.\n\n \n\n\nConfiguring SPIKE\nSPIKE CLI\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/usage/commands/operator/","title":"spike operator"},"https://spike.ist/usage/commands/policy/":{"body":"spike policy\nThe spike policy command is the main entry point for managing access\npolicies in SPIKE. It allows administrators to define, view, and manage rules\nthat control access to secrets and resources based on workload identity\n(SPIFFE ID) and resource paths.\nSPIKE provides two commands for managing policies:\n\nspike policy create—Traditional command-line interface\n(backward compatibility)\nspike policy apply—Enhanced command with YAML file support\n(recommended for new workflows)\n\nWhile spike policy create checks for the existence of a policy, and\nerrors out if we are overriding an existing policy, spike policy apply uses\nupsert semantics—it will create a new policy if one doesn’t exist, or\nupdate an existing policy if one with the same name already exists. This makes\nthe spike policy apply command safe to use in automation and GitOps workflows.\nQuick Start\n\nYAML File Format\nBasic Structure\n\nRealistic SPIFFE ID Pattern and Path Pattern Examples\n\nAll Available Permissions\n\nAlternative YAML Formats\nFlow Sequence for Permissions\n\nQuoted Values\n\nCreating Policies Using Command-Line Flags\nInstead of using a yaml file, you can provide command-line arguments\nto programmatically create your policies too:\n\nWhat are SPIKE Policies?\nPolicies in SPIKE provide a secure and flexible way to control access to\nsecrets and resources. Each policy defines:\n\nWho can access resources (via SPIFFE ID patterns)\nWhat resources can be accessed (via path patterns)\nHow resources can be accessed (via permissions)\n\nPolicies are the cornerstone of SPIKE’s security model, allowing for\nfine-grained access control based on workload identity. Using\nSPIFFE IDs as the foundation, SPIKE ensures that\nonly authorized workloads can access sensitive information.\nHow Policies Work\nWhen a workload attempts to access a resource in SPIKE:\n\nThe workload presents its SPIFFE ID through a\nSPIFFE Verifiable Identity Document (SVID)\nSPIKE validates the SVID to verify the workload’s identity\nSPIKE checks if any policy matches both:\n\nThe workload’s SPIFFE ID against the policy’s SPIFFE ID pattern\nThe requested resource path against the policy’s path pattern\n\n\nIf a match is found, SPIKE checks if the requested operation is allowed by\nthe policy’s permissions\nAccess is granted only if ALL conditions are met\n\nWhy Use Policies?\n\nZero Trust Security: Access is based on workload identity, not network\nlocation\nLeast Privilege: Grant only the permissions needed for each workload\nAuditability: All access is tied to specific policies and identities\nFlexibility: Patterns support regular expression matching, which allows\na more fine-grained control over which resources the policy applies to.\nScalability: Policies work consistently across any deployment size\n\nFeatures\n\nCreate policies with specific permissions and access patterns\nApply policies using upsert semantics (create new or update existing)\nList all policies in human-readable or JSON format\nGet policy details by ID or name\nDelete policies with confirmation protection\nEnhanced validation for permissions and parameters\n\nCommands\nspike policy list\n\nLists all policies in the system. Can be filtered by a resource path pattern or\na SPIFFE ID pattern.\nWhen using filters, you must provide the exact regular expression pattern as\ndefined in the policies you want to match. For example, if a policy is defined\nwith pattern ^secrets/database/production$, you must use exactly that pattern\nto find it—no partial matches or simpler patterns will work.\nNote: --path-pattern and --spiffeid-pattern flags cannot be used\ntogether.\nspike policy create\n\nCreates a new policy with the specified parameters.\nspike policy apply\n\nCreates a new policy with file-based input using YAML configuration.\nYAML Configuration Format\nWhen using the --file flag, the YAML file should follow this structure:\n\nExample Files\nSPIKE repository has the following example policies for your convenience:\n\n./examples/policies/sample-policy.yaml—Basic policy example\n./examples/policies/test-policies/basic-policy.yaml—Minimal\npolicy\n./examples/policies/test-policies/admin-policy.yaml—Full\npermissions policy\n./examples/policies/test-policies/invalid-permissions.yaml—Example\nwith invalid permissions (for testing)\n\nPermission Types\nPermissionDescription\nreadAllows reading secrets and resources\nwriteAllows creating, updating, and deleting secrets\nlistAllows listing resources and directories\nexecuteAllows cipher operations (encrypt/decrypt)\nsuperFull administrative permissions (use with caution)\n\nValidation\nAll policy configurations are validated to ensure:\n\nRequired fields: name, spiffeidPattern, pathPattern, and\npermissions must be present\nValid permissions: Only read, write, list, execute, and super\nare allowed\nValid YAML syntax: Proper YAML formatting is required (for YAML files)\nNon-empty values: All fields must have non-empty values\n\nGitOps Integration\nYAML files can be easily integrated into GitOps workflows:\n\n\nStore policy YAML files in a Git repository\n\n\n\nUse CI/CD pipelines to validate policies before deployment\n\n\n\nApply policies using spike policy apply --file in deployment scripts\n\n\n\nVersion control changes to policies alongside application code\n\n\nUse upsert semantics to safely apply policy changes without worrying\nabout conflicts\n\n\nspike policy get\n\nGets details of a specific policy by ID or name. Use --format=json\nfor machine-readable output.\nspike policy delete\n\nDeletes a policy by ID or name. Requires confirmation.\nUsage Examples\n\nPattern Syntax\nSPIKE policies support regular expression pattern matching for both\nSPIFFE IDs and resource paths:\n\nThe pattern is compiled as a “regular expression”.\n\nThis would mean, for an exact match, you would need to include ^ and $ in\nyour patterns as well.\nFor example:\n\nsecrets/db matches global/secrets/db and secrets/db/local\nWhereas, ^secrets/db$ only matches secrets/db and nothing else\n(global/secrets/db and secrets/db/local will not match)\n\nThus, for precise control, you are encouraged to include ^ and $ at the\nbeginning and end of your patterns respectively for an exact match.\nHow Regular Expressions are Used For Policy Matching\nMore specifically, SPIKE compiles SPIFFE ID patterns and\npath patterns defined in the policies into regular\nexpressions.\nHere is a simplified version of how this regular expression compilation\nhappens behind-the-scenes:\n\nAs seen from the example above, both the path pattern and the SPIFFE ID\npattern that are provided during policy creation which are used “AS IS” to\ncreate regular expression matchers. These patterns are compiled\ninto Go’s built-in regex engine, ensuring that the matching process strictly\nadheres to the patterns defined in the policy, allowing for precise and flexible\naccess control.\nSimplicity Is the Key\nBecause of the regular expression usage in SPIKE policies, a policy create\noperation can define more flexible matching patterns. However, keeping patterns\nsimple is both more secure and easier to manage and reason about. Creating a\npattern that is too broad or that uses overly complex regular expressions may\nlead to unintended consequences and security risks. Simplicity is important\nto ensure patterns are clear, predictable, and effective.\nWhen a workload attempts to access a resource, its SPIFFE ID and the\nrequested resource path are matched against these compiled regular\nexpressions. This ensures that both identity and resource patterns follow the\nspecified rules and allow for flexibility with wildcards or exact matches.\nPath Pattern Examples\n\nSPIFFE ID Pattern Examples\n\nBest Practices\n\nFollow the principle of least privilege when assigning permissions\nUse descriptive policy names that reflect their purpose\nCreate separate policies for different workload types\nUse specific path patterns rather than overly broad ones\nRegularly audit and review your policies\nNever assign super permissions unless absolutely necessary\n\nTechnical Details\nPermission Hierarchy\nThe super permission acts as a wildcard that grants all other permissions:\nPermissionDescription\nsuperAll permissions (wildcard)\nwriteCreate and update secrets\nreadRead secrets\nlistList secret paths\nexecuteCipher operations (encrypt/decrypt)\n\nAuthorization for Policy Management\nPolicy management operations (create, update, delete) are authorized as follows:\n\nSPIKE Pilot (spiffe://<trustRoot>/spike/pilot/*) has full access to\nall operations, including policy management\nOther workloads need a policy granting write permission on the\nsystem path spike/system/acl\n\nEncryption at Rest\nPolicy details are encrypted in the database using AES-256-GCM:\nEncrypted fields:\n\nSPIFFE ID Pattern (regex string)\nPath Pattern (regex string)\nPermissions (JSON array)\n\nNot encrypted:\n\nPolicy name (used for lookups)\nPolicy ID\nTimestamps\n\nA single nonce is generated per policy and used for all encrypted fields\nto ensure atomicity.\nPolicy Evaluation\nWhen a secret is accessed, SPIKE Nexus evaluates policies by:\n\nChecking if the requestor is SPIKE Pilot (grants immediate access)\nLoading all policies from the backing store\nFor each policy, checking if the SPIFFE ID pattern matches the requestor\nIf matched, checking if the path pattern matches the requested resource\nIf matched, checking if the policy grants the required permission\nAccess is granted on first match; there are no “deny” policies\n\nPolicies are loaded fresh from the database on each request to ensure\nchanges take effect immediately.\nRegex Safety\nSPIKE uses Go’s regexp package which provides linear-time matching\nguarantees. This prevents ReDoS (Regular Expression Denial of Service)\nattacks.\nCommon Errors\nPattern validation failed:\n\nUnauthorized:\n\nPath starts with a slash:\n\nEmpty policy name:\n\n\nspike Command Index\n\nspike secret: Manage secrets.\nspike policy: Manage rules that\ncontrol access to secrets.\nspike cipher: Encrypt and decrypt data\nusing SPIKE Nexus.\nspike operator: Administrative\nfunctionality for system operations and disaster recovery.\n\n \n\n\nConfiguring SPIKE\nSPIKE CLI\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/usage/commands/policy/","title":"spike policy"},"https://spike.ist/usage/commands/secret/":{"body":"spike secret\nThe spike secret command is the main entry point for managing secrets in\nSPIKE. It allows administrators to create, read, update, and delete secrets\nbased on SPIFFE identities and corresponding access policies.\nQuick Start\n\nWhat are SPIKE Secrets?\nSecrets in SPIKE are sensitive pieces of information that need to be\nsecurely stored, accessed, and managed. Each secret:\n\nIs stored at a specific path\nContains one or more key-value pairs\nHas version history for auditing and recovery\nIs protected by access policies based on workload identity\n\nSecrets are the core data objects managed by SPIKE, providing a secure way\nto distribute sensitive configuration data, credentials, and other confidential\ninformation to authorized workloads based on their SPIFFE identities.\nHow Secrets Work\nWhen a workload attempts to access a secret in SPIKE:\n\nThe workload presents its SPIFFE ID through a SPIFFE Verifiable Identity\nDocument (SVID)\nSPIKE validates the SVID to verify the workload’s identity\nSPIKE checks if any policy allows the workload to access the requested\nsecret path\nIf authorized, the secret is securely delivered to the workload\n\nThis ensures that only authorized workloads can access specific secrets based on\ntheir verified identity, following zero-trust security principles.\nPath Syntax and Conventions\nSecret paths in SPIKE have specific syntax requirements and recommended\nconventions to ensure consistency and avoid common pitfalls.\nPaths in SPIKE are designed to provide flexibility but also follow\ncertain conventions for clarity and usability. While the path is\nsuggested (but not mandated) to look like a UNIX-style path for familiarity,\nSPIKE secret paths SHOULD NOT start with a leading slash.\nThis is because SPIKE paths represent logical key namespaces, not\nhierarchical filesystem paths. They are always relative to the secrets engine\nmount point, making the leading slash redundant and potentially confusing.\nAdditionally, although there is currently no restriction on how the path is\nformed, it is worth noting that future versions of SPIKE may restrict paths\nfrom having a trailing slash to avoid ambiguity and maintain consistency\nin naming practices.\nExample:\n\nCorrect: secrets/app/config\nRedundant/Confusing: /secrets/app/config\n\nPath Format Requirements\nAll secret paths must match the regex pattern:\n\nThis pattern allows alphanumeric characters, dots, underscores, hyphens, forward\nslashes, parentheses, question marks, plus signs, asterisks, pipes, square\nbrackets, curly braces, and backslashes.\nPath Format Recommendations\nWhile the validation requirements allow for flexibility, the following\nconventions are strongly recommended:\n\nAvoid leading slashes: Paths should not start with a forward slash (/)\nUse forward slashes to create hierarchical structures (like a file system)\nUse descriptive, hierarchical naming to organize secrets logically\nAvoid double slashes or other ambiguous path constructions\nAvoid special characters when possible, even if they are technically allowed\n\nExample Valid Paths\n\n✅ secrets/myapp/config - Clear hierarchy, no leading slash\n✅ secrets/db-creds/admin-user - Well-structured with hyphens\n✅ tenantA/projectX/env1/key - Multi-level organization\n\nExample Invalid or Discouraged Paths\n\n❌ /secrets/myapp/config - Avoid leading slashes\n❌ secrets//double-slash - Avoid double slashes\n❌ secret\\path - Avoid backslashes (use forward slashes)\n❌ secret path/with space - Avoid spaces\n❌ secret#invalid?path - Avoid URL-reserved characters when possible\n\nBest Path Practices\n\nUse consistent prefixes like secrets/ or credentials/ as the first segment\nOrganize paths by application, service, or environment\nInclude version indicators in the path for managed rotation\n(e.g., secrets/database/v1/credentials)\nUse clear, descriptive names that indicate the purpose of the secret\nKeep paths reasonably short while maintaining clarity\n\nPath Examples\n\nBest Practices\n\nOrganize secrets hierarchically with descriptive paths\nUse separate paths for different environments (dev, staging, production)\nLimit the number of key-value pairs in a single secret for better management\nUse version history for auditing and rollback capability\nCreate specific policies that grant the minimum required access to each\nsecret path\nRegularly rotate sensitive secrets like API keys and passwords\nUse secret delete and undelete for safe secret lifecycle management\nValidate paths are properly formatted and follow naming conventions\n\nSecurity Considerations\n\nEach secret access is authenticated and authorized based on workload identity\nVersion history allows for audit trails and secure secret rotation\nDeleted secrets can be recovered if needed\nSecret access is controlled by the spike policy permissions system\n\nFeatures\n\nStore secrets as key-value pairs at specific paths\nRetrieve secrets with full or partial key selection\nList available secrets across the system\nDelete and undelete secret versions for lifecycle management\nView secret metadata to track changes and versioning\nPath validation to ensure proper secret organization\n\nCommands\nspike secret list\n\nLists all available secret paths in the system. Displays paths in a readable\nformat.\nspike secret put\n\nStores key-value pairs as a secret at the specified path. Multiple key-value\npairs can be specified.\nExamples:\n\nspike secret get\n\nRetrieves and displays the key-value pairs stored at the specified secret path.\nBy default, it returns the current (latest) version, but a specific version can\nbe requested. Optionally, you can specify a single key to retrieve only that\nvalue.\nFlags:\nFlagDescription\n--version, -vSpecific version to retrieve (default: 0, the current version)\n--format, -fOutput format: plain, p, yaml, y, json, j (default: plain)\n\nExamples:\n\nspike secret delete\n\nDeletes one or more versions of a secret at the specified path.\nFlags:\nFlagDescription\n--versions, -vComma-separated list of versions to delete (default: 0, the current version)\n\nExamples:\n\nspike secret undelete\n\nRestores one or more previously deleted versions of a secret at the specified path.\nFlags:\nFlagDescription\n--versions, -vComma-separated list of versions to restore (default: 0, the current version)\n\nExamples:\n\nspike secret metadata get\n\nRetrieves and displays metadata for a secret, including creation time,\nmodification time, version history, and other administrative information.\nFlags:\nFlagDescription\n--version, -vSpecific version to retrieve metadata for (default: 0, the current version)\n\nExamples:\n\nPath Syntax\nSecret paths in SPIKE have specific syntax requirements and conventions:\n\nPaths must match the regex pattern: ^[a-zA-Z0-9._\\-/()?+*|[\\]{}\\\\]+$\nPaths should not have a leading slash\nUsing descriptive hierarchical paths is recommended for organization\n\nPath Examples\n\nBest Practices\n\nOrganize secrets hierarchically with descriptive paths\nUse separate paths for different environments (dev, staging, production)\nLimit the number of key-value pairs in a single secret for better management\nUse version history for auditing and rollback capability\nCreate specific policies that grant the minimum required access to each secret path\nRegularly rotate sensitive secrets like API keys and passwords\nUse secret delete and undelete for safe secret lifecycle management\nValidate paths are properly formatted and follow naming conventions\n\nSecurity Considerations\n\nEach secret access is authenticated and authorized based on workload identity\nVersion history allows for audit trails and secure secret rotation\nDeleted secrets can be recovered if needed\nSecret access is controlled by the spike policy permissions system\n\n\nspike Command Index\n\nspike secret: Manage secrets.\nspike policy: Manage rules that\ncontrol access to secrets.\nspike cipher: Encrypt and decrypt data\nusing SPIKE Nexus.\nspike operator: Administrative\nfunctionality for system operations and disaster recovery.\n\n \n\n\nConfiguring SPIKE\nSPIKE CLI\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/usage/commands/secret/","title":"spike secret"},"https://spike.ist/usage/configuration/":{"body":"Configuring SPIKE\nYou can use environment variables to configure the SPIKE components.\nThe following table lists the environment variables that you can use to\nconfigure the SPIKE components:\nComponentEnvironment VariableDescriptionDefault Value\nAllSPIFFE_ENDPOINT_SOCKETThe Unix domain socket path used for SPIFFE Workload API\"unix:///tmp/spire-agent/public/api.sock\"\nAllSPIKE_BANNER_ENABLEDWhether to display the SPIKE banner on startup. Set to true to enable.true\nAllSPIKE_HTTP_CLIENT_DIALER_KEEP_ALIVEKeep-alive duration for HTTP client’s network dialer connections.\"30s\"\nAllSPIKE_HTTP_CLIENT_DIALER_TIMEOUTTimeout for establishing new HTTP client network connections.\"30s\"\nAllSPIKE_HTTP_CLIENT_EXPECT_CONTINUE_TIMEOUTTimeout for HTTP client to wait for Expect: 100-continue responses from servers.\"5s\"\nAllSPIKE_HTTP_CLIENT_IDLE_CONN_TIMEOUTMaximum duration an idle HTTP connection will remain open before closing.\"30s\"\nAllSPIKE_HTTP_CLIENT_MAX_CONNS_PER_HOSTMaximum number of HTTP connections allowed per host.10\nAllSPIKE_HTTP_CLIENT_MAX_IDLE_CONNSMaximum number of idle HTTP connections across all hosts.100\nAllSPIKE_HTTP_CLIENT_MAX_IDLE_CONNS_PER_HOSTMaximum number of idle HTTP connections per host.10\nAllSPIKE_HTTP_CLIENT_RESPONSE_HEADER_TIMEOUTTimeout for HTTP client waiting for server’s response headers.\"10s\"\nAllSPIKE_HTTP_CLIENT_TIMEOUTOverall timeout for HTTP client requests (includes connection, request, and response time).\"60s\"\nAllSPIKE_HTTP_CLIENT_TLS_HANDSHAKE_TIMEOUTTimeout for completing TLS handshakes in HTTP client connections.\"10s\"\nAllSPIKE_HTTP_SERVER_READ_HEADER_TIMEOUTTimeout for reading HTTP request headers on the server side. Helps prevent slowloris attacks.\"10s\"\nAllSPIKE_NEXUS_API_URLThe URL where SPIKE Nexus can be reached\"https://localhost:8553\"\nAllSPIKE_SPIFFE_SOURCE_TIMEOUTTimeout for creating SPIFFE X509Source and fetching initial SVID from Workload API. Prevents indefinite blocking on socket issues.\"30s\"\nAllSPIKE_STACK_TRACES_ON_LOG_FATALWhether to print stack traces when log.FatalLn is called. Set to true to enable for development/testing. Disabled by default for production safety.false\nAllSPIKE_SYSTEM_LOG_LEVELThe log level for all SPIKE components (\"DEBUG\", \"INFO\", \"WARN\", \"ERROR\").\"WARN\"\nAllSPIKE_TRUST_ROOTThe SPIFFE trust root used within the SPIKE trust boundary. Can be a single entry, or a comma-delimited list of suitable trust roots.\"spike.ist\"\nAllSPIKE_TRUST_ROOT_BOOTSTRAPThe SPIFFE trust root used for SPIKE Bootstrap. Can be a single entry, or a comma-delimited list of suitable trust roots.\"spike.ist\"\nAllSPIKE_TRUST_ROOT_KEEPERThe SPIFFE trust root used for SPIKE Keeper instances. Can be a single entry, or a comma-delimited list of suitable trust roots.\"spike.ist\"\nAllSPIKE_TRUST_ROOT_LITE_WORKLOADThe SPIFFE trust root used for lite workload instances. Can be a single entry, or a comma-delimited list of suitable trust roots.\"spike.ist\"\nAllSPIKE_TRUST_ROOT_NEXUSThe SPIFFE trust root used for SPIKE Nexus instances. Can be a single entry, or a comma-delimited list of suitable trust roots.\"spike.ist\"\nAllSPIKE_TRUST_ROOT_PILOTThe SPIFFE trust root used for SPIKE Pilot instances. Can be a single entry, or a comma-delimited list of suitable trust roots.\"spike.ist\"\nSPIKE BootstrapSPIKE_BOOTSTRAP_FORCEWhether to force SPIKE Bootstrap to run even if the system has already bootstrapped before.false\nSPIKE BootstrapSPIKE_BOOTSTRAP_KEEPER_MAX_RETRIESMaximum retry attempts per keeper before failing.5\nSPIKE BootstrapSPIKE_BOOTSTRAP_KEEPER_RETRY_INITIAL_INTERVALInitial interval between retry attempts when broadcasting to keepers. Uses exponential backoff.\"2s\"\nSPIKE BootstrapSPIKE_BOOTSTRAP_KEEPER_RETRY_MAX_INTERVALMaximum interval between retry attempts when broadcasting to keepers.\"30s\"\nSPIKE BootstrapSPIKE_BOOTSTRAP_KEEPER_TIMEOUTTotal timeout for reaching each keeper during bootstrap. Bootstrap fails fast after this timeout to allow operators to fix issues and rerun.\"30s\"\nSPIKE BootstrapSPIKE_BOOTSTRAP_INIT_VERIFICATION_TIMEOUTTimeout duration for bootstrap initialization verification. Accepts Go duration strings (e.g., \"30m\", \"1h\", \"45m30s\").\"30m\"\nSPIKE BootstrapSPIKE_BOOTSTRAP_TIMEOUTMaximum duration for the entire bootstrap process. Accepts Go duration strings (e.g., \"24h\", \"48h\"). A value of 0 means no timeout (infinite).0 (no timeout)\nSPIKE KeeperSPIKE_KEEPER_TLS_PORTThe TLS port the current SPIKE Keeper instance listens on.\":8443\"\nSPIKE NexusSPIKE_NEXUS_BACKEND_STOREThe backend store SPIKE Nexus uses to store secrets (memory, lite, sqlite).\"sqlite\"\nSPIKE NexusSPIKE_NEXUS_CRYPTO_MAX_CIPHERTEXT_SIZEThe maximum allowed ciphertext size in bytes for encryption operations.65536\nSPIKE NexusSPIKE_NEXUS_DATA_DIRCustom directory for Nexus data storage. Falls back to ~/.spike/data or /tmp/.spike-$USER/data.~/.spike/data\nSPIKE NexusSPIKE_NEXUS_DB_BUSY_TIMEOUT_MSThe timeout for the database to wait for a lock.1000\nSPIKE NexusSPIKE_NEXUS_DB_CONN_MAX_LIFETIMEThe maximum lifetime of a database connection.\"1h\"\nSPIKE NexusSPIKE_NEXUS_DB_INITIALIZATION_TIMEOUTThe maximum initialization time for SPIKE Nexus DB before bailing out\"30s\"\nSPIKE NexusSPIKE_NEXUS_DB_JOURNAL_MODEThe journal mode for the SQLite database.\"WAL\"\nSPIKE NexusSPIKE_NEXUS_DB_MAX_IDLE_CONNSThe maximum number of idle connections to the database.5\nSPIKE NexusSPIKE_NEXUS_DB_MAX_OPEN_CONNSThe maximum number of open connections to the database.10\nSPIKE NexusSPIKE_NEXUS_DB_OPERATION_TIMEOUTThe timeout for database operations.\"15s\"\nSPIKE NexusSPIKE_NEXUS_DB_SKIP_SCHEMA_CREATIONIf set to true, skip creating SPIKE Nexus backing store. When set to true, the operator will manually have to create the initial backing store.false\nSPIKE NexusSPIKE_NEXUS_KEEPER_PEERSA mapping that contains a comma-delimited list of URLs for all SPIKE Keepers that SPIKE Nexus knows about.“” (check ./hack/bare-metal/startup/start-nexus.sh for usage examples.\nSPIKE NexusSPIKE_NEXUS_KEEPER_UPDATE_INTERVALThe duration between SPIKE Nexus updates SPIKE Keepers with the relevant shard information.\"5m\"\nSPIKE NexusSPIKE_NEXUS_MAX_SECRET_VERSIONSThe maximum number of versions of a secret that SPIKE Nexus stores.10\nSPIKE NexusSPIKE_NEXUS_PBKDF2_ITERATION_COUNTThe number of iterations for the PBKDF2 key derivation function.600000\nSPIKE NexusSPIKE_NEXUS_RECOVERY_MAX_INTERVALMaximum interval between retries the recovery operation’s backing off algorithm\"60s\"\nSPIKE NexusSPIKE_NEXUS_SHAMIR_MAX_SHARE_COUNTThe maximum allowed number of shares in Shamir’s Secret Sharing. Also limits the maximum number of SPIKE Keeper instances a deployment can support.1000\nSPIKE NexusSPIKE_NEXUS_SHAMIR_SHARESThe total number of shares used for secret sharding, this should be equal to the number of SPIKE Keepers too.3\nSPIKE NexusSPIKE_NEXUS_SHAMIR_THRESHOLDThe minimum number of shares to be able to reconstruct the root key.2\nSPIKE NexusSPIKE_NEXUS_TLS_PORTThe TLS port SPIKE Nexus listens on.\":8553\"\nSPIKE PilotSPIKE_PILOT_RECOVERY_DIRCustom directory for Pilot recovery shards. Falls back to ~/.spike/recover or /tmp/.spike-$USER/recover.\"\"\nSPIKE PilotSPIKE_PILOT_SHOW_MEMORY_WARNINGWhether to show a warning when the system cannot lock memory for security.false\n\nWe’ll add more configuration options in the future. Stay tuned.\n \n\n\nConfiguring SPIKE\nSPIKE CLI\n\n\n\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations\n\n","id":"https://spike.ist/usage/configuration/","title":"Configuring SPIKE"}},"docInfo":{"https://spike.ist/":{"body":52,"title":1},"https://spike.ist/about/":{"body":4,"title":0},"https://spike.ist/about/intro/":{"body":412,"title":1},"https://spike.ist/about/project-status/":{"body":85,"title":2},"https://spike.ist/architecture/":{"body":34,"title":2},"https://spike.ist/architecture/adrs/":{"body":243,"title":3},"https://spike.ist/architecture/adrs/adr-0001/":{"body":458,"title":10},"https://spike.ist/architecture/adrs/adr-0002/":{"body":399,"title":6},"https://spike.ist/architecture/adrs/adr-0003/":{"body":494,"title":7},"https://spike.ist/architecture/adrs/adr-0004/":{"body":519,"title":7},"https://spike.ist/architecture/adrs/adr-0005/":{"body":525,"title":9},"https://spike.ist/architecture/adrs/adr-0006/":{"body":622,"title":7},"https://spike.ist/architecture/adrs/adr-0007/":{"body":660,"title":7},"https://spike.ist/architecture/adrs/adr-0008/":{"body":655,"title":6},"https://spike.ist/architecture/adrs/adr-0009/":{"body":672,"title":6},"https://spike.ist/architecture/adrs/adr-0010/":{"body":508,"title":8},"https://spike.ist/architecture/adrs/adr-0011/":{"body":610,"title":6},"https://spike.ist/architecture/adrs/adr-0012/":{"body":498,"title":6},"https://spike.ist/architecture/adrs/adr-0013/":{"body":760,"title":8},"https://spike.ist/architecture/adrs/adr-0014/":{"body":531,"title":8},"https://spike.ist/architecture/adrs/adr-0015/":{"body":370,"title":10},"https://spike.ist/architecture/adrs/adr-0016/":{"body":833,"title":6},"https://spike.ist/architecture/adrs/adr-0017/":{"body":629,"title":7},"https://spike.ist/architecture/adrs/adr-0018/":{"body":280,"title":5},"https://spike.ist/architecture/adrs/adr-0019/":{"body":574,"title":7},"https://spike.ist/architecture/adrs/adr-0020/":{"body":446,"title":6},"https://spike.ist/architecture/adrs/adr-0021/":{"body":422,"title":7},"https://spike.ist/architecture/adrs/adr-0022/":{"body":493,"title":9},"https://spike.ist/architecture/adrs/adr-0023/":{"body":711,"title":9},"https://spike.ist/architecture/adrs/adr-0024/":{"body":553,"title":10},"https://spike.ist/architecture/adrs/adr-0025/":{"body":435,"title":9},"https://spike.ist/architecture/adrs/adr-0026/":{"body":657,"title":7},"https://spike.ist/architecture/adrs/adr-0027/":{"body":840,"title":7},"https://spike.ist/architecture/adrs/adr-0028/":{"body":702,"title":9},"https://spike.ist/architecture/adrs/adr-0029/":{"body":928,"title":8},"https://spike.ist/architecture/adrs/adr-0030/":{"body":1073,"title":7},"https://spike.ist/architecture/adrs/adr-0031/":{"body":637,"title":9},"https://spike.ist/architecture/adrs/adr-0032/":{"body":555,"title":9},"https://spike.ist/architecture/architectural-decision-records/":{"body":314,"title":1},"https://spike.ist/architecture/security-model/":{"body":1553,"title":3},"https://spike.ist/architecture/system-overview/":{"body":1527,"title":2},"https://spike.ist/community/":{"body":21,"title":1},"https://spike.ist/community/contact/":{"body":89,"title":1},"https://spike.ist/community/hello/":{"body":128,"title":2},"https://spike.ist/community/presentations/":{"body":428,"title":2},"https://spike.ist/community/resources/":{"body":36,"title":1},"https://spike.ist/development/":{"body":6,"title":2},"https://spike.ist/development/api-docs/":{"body":53,"title":2},"https://spike.ist/development/bare-metal/":{"body":678,"title":2},"https://spike.ist/development/local-deployment/":{"body":404,"title":2},"https://spike.ist/development/sdk-integration/":{"body":223,"title":3},"https://spike.ist/getting-started/":{"body":5,"title":2},"https://spike.ist/getting-started/quickstart/":{"body":491,"title":3},"https://spike.ist/operations/":{"body":14,"title":1},"https://spike.ist/operations/backup/":{"body":691,"title":3},"https://spike.ist/operations/build/":{"body":57,"title":4},"https://spike.ist/operations/production/":{"body":2313,"title":3},"https://spike.ist/operations/recovery/":{"body":481,"title":3},"https://spike.ist/operations/release/":{"body":289,"title":3},"https://spike.ist/tracking/":{"body":13,"title":1},"https://spike.ist/tracking/changelog/":{"body":2488,"title":1},"https://spike.ist/tracking/snapshots/":{"body":47,"title":2},"https://spike.ist/usage/":{"body":6,"title":2},"https://spike.ist/usage/cli/":{"body":129,"title":2},"https://spike.ist/usage/commands/":{"body":35,"title":3},"https://spike.ist/usage/commands/cipher/":{"body":476,"title":2},"https://spike.ist/usage/commands/operator/":{"body":477,"title":2},"https://spike.ist/usage/commands/policy/":{"body":1018,"title":2},"https://spike.ist/usage/commands/secret/":{"body":823,"title":2},"https://spike.ist/usage/configuration/":{"body":606,"title":2}},"length":70},"lang":"English"} \ No newline at end of file +window.searchIndex = {"fields":["title","body"],"pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5","index":{"body":{"root":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":8,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"2":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"3":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"2":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"3":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"5":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"6":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"8":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"2":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"3":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"4":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"5":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"6":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"7":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"8":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"9":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28}},"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"1":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"2":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"3":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"4":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29,"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":1}},"5":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"6":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29},"7":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29},"8":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29},"9":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29}},"2":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"1":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":30,"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}},"2":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29},"3":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"4":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29},"5":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29},"6":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"7":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29},"8":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"9":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":29}},"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28},"1":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":29},"2":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":29}}},"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":4},"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":5},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":12},"4":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3},"5":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1},"6":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":2}}},"7":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772}},"df":1}}},"8":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4},"9":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3},"x":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}},"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":13,".":{"docs":{},"df":0,"2":{"docs":{},"df":0,"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"5":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"3":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}},"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":21,"7":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"2":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":3.4641016151377544},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772}},"df":30,"3":{"docs":{},"df":0,"]":{"docs":{},"df":0,"$":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}},"^":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":3},"4":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2,"0":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772}},"df":1,".":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"5":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1},"6":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1,"g":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}}},"7":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1,"1":{"docs":{},"df":0,"7":{"docs":{},"df":0,"9":{"docs":{},"df":0,"8":{"docs":{},"df":0,"6":{"docs":{},"df":0,"9":{"docs":{},"df":0,"1":{"docs":{},"df":0,"8":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}}}}}}}}}},"8":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1},"9":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2},"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":19,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5,"0":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}}}},"2":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":21},"5":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":4.242640687119285}},"df":15}},"7":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}},"9":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}},"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4,"8":{"docs":{},"df":0,"7":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"2":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4},"4":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"5":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1,"5":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1},"6":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":11}},"7":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":2,"1":{"docs":{},"df":0,"4":{"docs":{},"df":0,"4":{"docs":{},"df":0,"7":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"8":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2},"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":13,"0":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"2":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":2},"8":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}},"4":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":2,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1,"7":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":2.0}},"df":3},"4":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":30,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"5":{"docs":{},"df":0,"3":{"docs":{},"df":0,"3":{"docs":{},"df":0,"7":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"8":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{},"df":0,"s":{"docs":{},"df":0,"\"":{"docs":{},"df":0,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}},"7":{"docs":{},"df":0,"9":{"docs":{},"df":0,"1":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"8":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}},"5":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":4,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1},"8":{"docs":{},"df":0,"1":{"docs":{},"df":0,"8":{"docs":{},"df":0,"1":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"6":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":2,"m":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}},"7":{"docs":{},"df":0,"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}},"8":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":3}}},"9":{"docs":{},"df":0,".":{"docs":{},"df":0,"_":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}},"6":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":2}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":4}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":3}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":38}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/about/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":3.872983346207417},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":5.0},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/presentations/":{"tf":2.8284271247461903},"https://spike.ist/development/sdk-integration/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":2.449489742783178},"https://spike.ist/operations/production/":{"tf":5.744562646538029},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":2.23606797749979},"https://spike.ist/recipes/production-hardening/":{"tf":2.23606797749979},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":2.23606797749979},"https://spike.ist/recipes/troubleshooting/":{"tf":2.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/policy/":{"tf":4.47213595499958},"https://spike.ist/usage/commands/secret/":{"tf":3.605551275463989}},"df":56}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":8}}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":3}}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":7}}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":1}}},"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":2}},"k":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}}}}}}}},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":3},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951}},"df":2}}}}}},"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.4142135623730951}},"df":12}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}},"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":6}}}}},"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":6.244997998398398}},"df":9,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":24,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979}},"df":29,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0}},"df":7}}}}},"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":5}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}},"j":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.6457513110645907},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":33,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.872983346207417},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":3.605551275463989},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":41,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"’":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":2}}}},"o":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951}},"df":3}}},"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":5.656854249492381},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":6.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":5.916079783099616},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":5.916079783099616},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":6.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":5.916079783099616},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":5.916079783099616},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":6.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":6.082762530298219},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":6.082762530298219},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":6.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":5.916079783099616},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":5.916079783099616},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":6.164414002968976},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":6.082762530298219},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":5.916079783099616},"https://spike.ist/architecture/architectural-decision-records/":{"tf":6.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":36,"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0}},"df":3},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":3}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.23606797749979},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":32,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0}},"df":5}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}},"n":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":2}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}}}}}}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":5,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.8284271247461903},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":37}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":2.23606797749979},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772}},"df":10,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951}},"df":3}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":2}}}},"i":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1},"m":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":2},"r":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772}},"df":4}}},"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":4,"\"":{"docs":{},"df":0,"6":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}},"a":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1},"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":13}},"v":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,")":{"docs":{},"df":0,"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0}},"df":2},"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/secret/":{"tf":2.6457513110645907},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":23,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}},"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"_":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"g":{"docs":{"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5}}}}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":13}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":18}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":15}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"z":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":2}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.7320508075688772}},"df":2}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":7}},"z":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":3}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3}}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":5}}},"y":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":4}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":3}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":2.0},"https://spike.ist/community/resources/":{"tf":1.7320508075688772},"https://spike.ist/development/api-docs/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":47,"\"":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":1}}}}},"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,":":{"docs":{},"df":0,"6":{"docs":{},"df":0,"7":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,":":{"docs":{},"df":0,"7":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":6,"/":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"y":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}}}}}}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/release/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}},"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979}},"df":2}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.6457513110645907},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.8284271247461903}},"df":8,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":13}},"y":{"docs":{},"df":0,"—":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":39,"—":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}}}}}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":11}}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":63}}}}}},"v":{"docs":{"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":4},"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0}},"df":2}}}},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":3}}}}}},"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907}},"df":3}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0}},"df":2}}}}}}},"s":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":7},"l":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":3}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":3,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":3}},"t":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":2}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":8}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":4}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951}},"df":8,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":29}}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":29,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}},"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951}},"df":1,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.605551275463989},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1},"k":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":3.1622776601683795},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.3166247903554},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":18,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":14}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":3.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772}},"df":4}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}}}}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}}},"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":7.0710678118654755},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":3.7416573867739413},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979}},"df":40,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979}},"df":1},"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}},"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":42,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979}},"df":18}}},"o":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.7320508075688772}},"df":3,"m":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":12,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.449489742783178},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951}},"df":16}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/api-docs/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":42,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":2}}}}}}}}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":3.1622776601683795}},"df":15}}}},"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}},"x":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}},"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/operations/recovery/":{"tf":2.449489742783178},"https://spike.ist/recipes/backup-and-restore/":{"tf":2.6457513110645907},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":2.23606797749979},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.23606797749979}},"df":48,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":4.358898943540674},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":3.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":2.0},"https://spike.ist/recipes/deploying-spike/":{"tf":2.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":40,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}}}}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":2,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":1}}}}},"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":5.830951894845301},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":3.605551275463989},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":2.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":2.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":21,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":1}}}}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5}}}}}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":8}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":3},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":11}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.6457513110645907},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":47,"6":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":2}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":7}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951}},"df":1}}},"ş":{"docs":{},"df":0,"k":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":9,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":13}}},"d":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":2.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":25,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}}}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795}},"df":9}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}},"w":{"docs":{"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":4}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":17}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":19}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":15}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":19}}}}},"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":5}}}}},"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":1},"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":3.1622776601683795},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":3.1622776601683795},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":2.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":2.8284271247461903},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":2.23606797749979}},"df":15},"y":{"docs":{},"df":0,"’":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":1}}}},"d":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":3}},"r":{"docs":{"https://spike.ist/community/hello/":{"tf":1.4142135623730951}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/hello/":{"tf":1.4142135623730951}},"df":1}}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":5},"z":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":2},"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":6,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":2}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":4,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":4.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":3.7416573867739413},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":2.449489742783178},"https://spike.ist/recipes/deploying-spike/":{"tf":4.242640687119285},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":2.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":2.23606797749979},"https://spike.ist/recipes/troubleshooting/":{"tf":3.7416573867739413},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.4641016151377544},"https://spike.ist/usage/configuration/":{"tf":3.0}},"df":18,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979}},"df":25},"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":3}}}}}},"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":1},"d":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":35,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":5}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3}},"d":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0}},"df":2}},"k":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":2.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.8284271247461903}},"df":18}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0}},"df":3}},"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":3}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":2,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":1}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":2}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.872983346207417}},"df":6,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":1}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":3.0},"https://spike.ist/development/local-deployment/":{"tf":2.449489742783178},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":2.23606797749979},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":17},"t":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":15,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":2}}}}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}},"ş":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"ı":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":7}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1},"i":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":5}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":3.3166247903554},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":36,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772}},"df":1,".":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951}},"df":1}}}}}}},":":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"s":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":34,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":4}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":12,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":5,"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":4}}}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}},"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"n":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}},"’":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":4}}},"p":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}}}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":20}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":5}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.4142135623730951}},"df":1},"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":5,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":5}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":2}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":16,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":5}}}}}}},"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":2}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951}},"df":1}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178}},"df":5},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":4}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":11}}},"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":7}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951}},"df":3}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":8}}}}},"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1},"g":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":2.449489742783178},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":4.58257569495584},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":31,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772},"https://spike.ist/tracking/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":5}}},"s":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":6,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":5}}}}}}}},"t":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":2.0},"https://spike.ist/getting-started/quickstart/":{"tf":3.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178}},"df":6}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":3}},"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":28,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951}},"df":1}}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":3}},"o":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951}},"df":8}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":3,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.6457513110645907},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":16,".":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"g":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":4,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":7}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":2,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":1},"f":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":4,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3}},"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":2}}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":26,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}}},"i":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":4.898979485566356},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":44,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.23606797749979}},"df":11,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}}},"’":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":3},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"u":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":8}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":2.6457513110645907},"https://spike.ist/community/presentations/":{"tf":3.0},"https://spike.ist/development/local-deployment/":{"tf":2.449489742783178},"https://spike.ist/getting-started/quickstart/":{"tf":2.23606797749979},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":10,"—":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"n":{"docs":{},"df":0,"(":{"docs":{},"df":0,")":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{},"df":0,"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}}},"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"’":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}},"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.47213595499958},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.6457513110645907},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.4641016151377544},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":20,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":10}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}}}}},"g":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1},"z":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772}},"df":4}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":4},"m":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.6457513110645907}},"df":3,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.3166247903554},"https://spike.ist/usage/cli/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/operator/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/policy/":{"tf":3.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":23}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0}},"df":3}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":12,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.6457513110645907},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/":{"tf":1.7320508075688772},"https://spike.ist/community/contact/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":2.23606797749979},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":56}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":5,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}}}}},"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":35}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979}},"df":9}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":2.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":18,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":1}}}},"x":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":31}},"i":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":12},"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":3}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":3.3166247903554},"https://spike.ist/architecture/system-overview/":{"tf":3.872983346207417},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":2.6457513110645907},"https://spike.ist/operations/production/":{"tf":3.0},"https://spike.ist/recipes/deploying-spike/":{"tf":2.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":45,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979}},"df":6}}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":11,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":9}}},"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951}},"df":5,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2}}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3}}}}},"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":5,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}},"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":5}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":3.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/architecture/system-overview/":{"tf":3.1622776601683795},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":2.8284271247461903},"https://spike.ist/operations/production/":{"tf":5.830951894845301},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":2.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.3166247903554},"https://spike.ist/usage/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":2.449489742783178}},"df":58,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}},"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}}}}},"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":10}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":3}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4}}},"j":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.6457513110645907}},"df":14,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"1":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}},"q":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":33,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":22,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":15}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":23}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":6}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}},"m":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":7,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":6}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/local-deployment/":{"tf":3.4641016151377544},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":4.47213595499958},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":21,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":5,"d":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"’":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":7}},"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":34,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951}},"df":1},"—":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":37}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3}}}}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.3166247903554},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/community/presentations/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":3.1622776601683795},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":49,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"—":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.6457513110645907}},"df":6}},"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1},"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":2}},"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":5}}}}},"p":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":6}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":15},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":7,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":4}}}},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.3166247903554}},"df":3},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}}}}}},"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":5}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":4}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951}},"df":2,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951}},"df":6,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/operations/release/":{"tf":3.4641016151377544},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":2,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":2}},"q":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":2.8284271247461903},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":12}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/community/contact/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":3.7416573867739413},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":3.872983346207417},"https://spike.ist/usage/commands/secret/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":36,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}},"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"b":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"—":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":9,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}}}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/":{"tf":1.4142135623730951}},"df":1}}}},"d":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":4}}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.449489742783178},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772}},"df":17,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"7":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":2.449489742783178},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":25}},"w":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":3}}}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":3}},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":1,"o":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.605551275463989},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":12,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"+":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/operations/release/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"+":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":31,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979}},"df":1}}}}}}}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951}},"df":1,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}}}}}}}},"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":9}}}},"t":{"docs":{"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907}},"df":1}},"w":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":2}}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.4641016151377544},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":3.3166247903554},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":2.449489742783178},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":4.242640687119285},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":53,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":3.7416573867739413},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":3.605551275463989},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":21,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"5":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"q":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":35}},"y":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":4,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}},"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":5},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}}}},"l":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":11}}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951}},"df":4},"s":{"docs":{"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":39}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":2.23606797749979},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":17}}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951}},"df":4}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":19}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":7}},"r":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.6457513110645907}},"df":12,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"e":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":4},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":2.8284271247461903},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.605551275463989},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":3.1622776601683795}},"df":17,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":8}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.6457513110645907}},"df":2}}},"v":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979}},"df":1}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":3}}},"o":{"docs":{"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":4.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":8,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.0}},"df":2}}}}}},"n":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":19}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/development/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":2.0},"https://spike.ist/getting-started/quickstart/":{"tf":3.3166247903554},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.7416573867739413},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":2.6457513110645907},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":38,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"—":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.449489742783178},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":5}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":4}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":3},"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979}},"df":5,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":2.449489742783178},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":41}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951}},"df":1}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":30}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.872983346207417},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.0}},"df":17}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":5,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}},"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":7,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":4,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}}}}},"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"2":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}},"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/contact/":{"tf":1.4142135623730951},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":2.6457513110645907},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/":{"tf":1.4142135623730951},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":35,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}}}}}}}}}}}}},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":2}},"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.0}},"df":1}},"o":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.8284271247461903},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":3.605551275463989}},"df":1}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":27,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}}}}}}}},"g":{"docs":{"https://spike.ist/usage/cli/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}}},"l":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":35,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":11}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":39}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":3.4641016151377544},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":5}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":3.3166247903554},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":22}}},"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772}},"df":1}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3}}}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951}},"df":5}}}},"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.449489742783178},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":13},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":30}}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.6457513110645907},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":17}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1},"s":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":1}}}},"n":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":3},"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4,"c":{"docs":{"https://spike.ist/operations/release/":{"tf":1.7320508075688772}},"df":1,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":3.1622776601683795},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"k":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":29}}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/resources/":{"tf":1.7320508075688772},"https://spike.ist/development/api-docs/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":2.449489742783178},"https://spike.ist/tracking/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":5.385164807134504},"https://spike.ist/tracking/snapshots/":{"tf":2.23606797749979},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":45}}}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":7}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":3},"’":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":11}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":3}}},"w":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":11,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951}},"df":1,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951}},"df":1}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":1,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0}},"df":3},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":8}}}},"o":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":3}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":15},"m":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1},"p":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.1622776601683795},"https://spike.ist/recipes/production-hardening/":{"tf":2.0}},"df":3}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":4}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":2.6457513110645907}},"df":2}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":15}},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2}}},"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}},"ü":{"docs":{},"df":0,"n":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":24}},"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":3.1622776601683795},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":2.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":24}},"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":8,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":9}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":3}}}}}}}},"d":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":3},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":14}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":11}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":4}}}}},"g":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951}},"df":1}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":4}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/community/contact/":{"tf":1.7320508075688772}},"df":1}}},"b":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":8}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":8}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":3.605551275463989},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":15,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":2.23606797749979}},"df":3,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,")":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":3}}}}},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":2.23606797749979},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.6457513110645907},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":3.1622776601683795},"https://spike.ist/operations/production/":{"tf":3.3166247903554},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.7320508075688772},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":2.23606797749979},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":3.4641016151377544},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":2.8284271247461903},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":4.69041575982343},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":43,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":2}}}}}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":3,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.7320508075688772},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":8,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":5}}}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":34}}}},"g":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/community/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951}},"df":1}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":13}}}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772}},"df":1}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":8}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":3.0},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":4.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":28}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772}},"df":3}}}}}},"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":10},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}}}},"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.3166247903554},"https://spike.ist/operations/recovery/":{"tf":3.3166247903554},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":2.0},"https://spike.ist/recipes/troubleshooting/":{"tf":2.449489742783178},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.449489742783178}},"df":22,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"“":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"v":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":2.0}},"df":1,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":3.3166247903554},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":22,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}},"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1,"s":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}},"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":6.164414002968976},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":6.928203230275509},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":5.5677643628300215},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":38,"\"":{"docs":{},"df":0,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772}},"df":1}}}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0}},"df":3},"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":5}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":8}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":12}}}}}}}},"t":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}}}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"w":{"docs":{},"df":0,"s":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}},"d":{"docs":{"https://spike.ist/about/intro/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":5}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":17,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":11,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":2}}},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":12}},"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951}},"df":3}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":2}}}},"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.0}},"df":6,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6}}}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/secret/":{"tf":3.1622776601683795},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":23,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":2}}}},"\\":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":1}}}}}}}}}}}}}}},"x":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":1}}}}}}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2},"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":2}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772}},"df":1}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":6}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":12,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":3}}}}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":2.449489742783178}},"df":27}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":4}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":18}},"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"t":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951}},"df":1}}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951}},"df":3}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.4142135623730951}},"df":7}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":7}}}}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}},"r":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":5}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":3.1622776601683795},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":3}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":5,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":7}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":3.4641016151377544}},"df":31}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":7}},"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":8}}},"r":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":1,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":4}}},"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}}},"ğ":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}},"f":{"docs":{"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":4},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":1,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":4}}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":23,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"5":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772}},"df":22}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":4,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":5}}}},"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951}},"df":4}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}}}}}},"r":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":4},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}},"v":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":16}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3}}},"e":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":2,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772}},"df":1}}}}},"l":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":5}}},"w":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772}},"df":5}}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":2.0}},"df":9,"b":{"docs":{},"df":0,"y":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":3.605551275463989},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.7320508075688772},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":2.449489742783178},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/cipher/":{"tf":3.872983346207417},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":47,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":8}}}}}},"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":6}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":14},"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":10,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}},"p":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":2.6457513110645907},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":2},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":42}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":3},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":6.557438524302},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":7}},"j":{"docs":{},"df":0,"c":{"docs":{},"df":0,"5":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":7,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":2}}}}}}}}},"k":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}},"w":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":17}}}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":3.1622776601683795},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4}},"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"m":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"(":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772}},"df":1,"(":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":15}}},"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":5}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":3.3166247903554},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":3.4641016151377544},"https://spike.ist/development/local-deployment/":{"tf":3.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.449489742783178},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":33,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"—":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}}}}}}},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":4}}}}}},"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":5},"e":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":5}}},"m":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":34,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":2.6457513110645907}},"df":13,"=":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":4}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":9,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":7}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951}},"df":1}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":8}}}}}}},"e":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":5,"z":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951}},"df":1}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2,"y":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":5}}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":2.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":2.23606797749979},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":12}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951}},"df":2}}}}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":19,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}}},"n":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.872983346207417},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":38,".":{"docs":{},"df":0,"6":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":7}}}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":8}}}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":20}}},"z":{"docs":{},"df":0,"z":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"9":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":2}}}}}}}}}},"p":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":3},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":2}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.6457513110645907},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":33}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":2.6457513110645907},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":24,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":1}}}}}},"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":32,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":3,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.4142135623730951},"https://spike.ist/community/resources/":{"tf":1.4142135623730951},"https://spike.ist/development/api-docs/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":8}}},"o":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":5,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":3}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":2.23606797749979},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.7320508075688772}},"df":12}}},"o":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":3.1622776601683795},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.7320508075688772}},"df":3,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951}},"df":2,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}},"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/community/resources/":{"tf":1.4142135623730951},"https://spike.ist/development/api-docs/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":3.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/recipes/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":5.0990195135927845},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":19,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"=":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"1":{"docs":{},"df":0,"4":{"docs":{},"df":0,"0":{"docs":{},"df":0,"=":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":4,"n":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"1":{"docs":{},"df":0,"4":{"docs":{},"df":0,"0":{"docs":{},"df":0,"=":{"docs":{},"df":0,"v":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}}}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"x":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":3}},"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":5,"b":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":1}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}},"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":5}},"p":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":2},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":10}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":2.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":12},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951}},"df":5}}}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"q":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":3}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}},"w":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.7320508075688772}},"df":5},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":8}}}},"d":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":5.196152422706632},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":33,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"y":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.8284271247461903},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.6457513110645907},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":22,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":4}}},"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":13}}}}}}},"ü":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}},"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":4,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":2.6457513110645907},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":4}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1},"f":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":1},"v":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":2,"i":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":30,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}},"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}},"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}}}}}}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.8284271247461903},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":4,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772}},"df":1}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"—":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}}}}},"g":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772}},"df":2}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":9}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0}},"df":2}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":3.3166247903554},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":2.23606797749979},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":13},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":5}}}},"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":2}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":3,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951}},"df":2}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.4142135623730951}},"df":1,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772}},"df":5,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":2.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772}},"df":4}}}},"v":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":3},"l":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0}},"df":5}},"m":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":3.1622776601683795},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178}},"df":7},"p":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":14,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":19,"’":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}},"x":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":1}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{"https://spike.ist/community/contact/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":3}}},"e":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":4,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}}}}}}},"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":32,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772}},"df":2,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}}}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":12}}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":13,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":31}}}},"m":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/operations/build/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":2.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":6,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":1}}},"=":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":1}}}}}}}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"’":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":3.3166247903554}},"df":33,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"%":{"docs":{},"df":0,"2":{"docs":{},"df":0,"7":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"k":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"k":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"df":0,"w":{"docs":{},"df":0,"w":{"docs":{},"df":0,".":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":33}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951}},"df":1}}}},"y":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951}},"df":1}}}},"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":3}}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":1}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":1}}}}}}}}},"i":{"docs":{},"df":0,".":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":5},"/":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}},"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":2.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":4.358898943540674},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":22,"e":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/contact/":{"tf":1.0}},"df":1,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":4}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":4}}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/":{"tf":1.7320508075688772},"https://spike.ist/about/intro/":{"tf":2.23606797749979},"https://spike.ist/architecture/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":3.605551275463989},"https://spike.ist/community/presentations/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":2.0},"https://spike.ist/recipes/production-hardening/":{"tf":2.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/secret/":{"tf":2.8284271247461903}},"df":28,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0}},"df":1,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":8}}}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}},"l":{"docs":{"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":1},"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0}},"df":1}},"f":{"docs":{},"df":0,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}},"g":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"ı":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"l":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}},"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0}},"df":2}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":3.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}}}}}}}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":10}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":15,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.23606797749979},"https://spike.ist/operations/production/":{"tf":3.872983346207417},"https://spike.ist/tracking/changelog/":{"tf":3.7416573867739413},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":38,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":7}},"s":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":4.358898943540674}},"df":12}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}},"d":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}}}}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":26}}},"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":8}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":14}},"d":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":8}}}},"x":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":2},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951}},"df":5}}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":3}}}}}},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":13,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"5":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":13}}}}}}}}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0}},"df":1,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":3.3166247903554},"https://spike.ist/community/contact/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.605551275463989},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":24,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":5}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":5,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":2.449489742783178},"https://spike.ist/getting-started/quickstart/":{"tf":3.605551275463989},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":2.449489742783178},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":14},"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":2.449489742783178}},"df":12},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":4.123105625617661},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":9}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":7}}}}},"u":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":1}},"k":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":1,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":2.449489742783178},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":26}},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":3},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}},"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":30,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":9}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":19}}},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":8,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1,":":{"docs":{},"df":0,"4":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"/":{"docs":{},"df":0,"g":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}}}}}}}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772}},"df":1}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772}},"df":1}}}}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951}},"df":1}}}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":5,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":5,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"—":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":2.6457513110645907},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":8,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":7,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.23606797749979}},"df":1},"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":5}}}}},"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979}},"df":2,"v":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2}}}}}}}},"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":4}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":3.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":11}},"s":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":2.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":21,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2},"r":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":4}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":11}}}},"—":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"’":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":9,"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/community/contact/":{"tf":1.0}},"df":1}}}},"̇":{"docs":{},"df":0,"ç":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}},"j":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0}},"df":2}}}}}}}}},"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}},"j":{"docs":{},"df":0,"9":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951}},"df":2},"e":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0}},"df":1,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":2.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":9,"/":{"docs":{},"df":0,"j":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":1}},"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":3,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":2}}}}}}},"k":{"docs":{},"df":0,"8":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1},"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"ı":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"k":{"docs":{},"df":0,"ı":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.7320508075688772},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":2.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":27,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":5.830951894845301},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":5.916079783099616},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":4.242640687119285},"https://spike.ist/architecture/system-overview/":{"tf":6.164414002968976},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":2.449489742783178},"https://spike.ist/operations/production/":{"tf":5.291502622129181},"https://spike.ist/operations/recovery/":{"tf":3.1622776601683795},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":4.123105625617661},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":2.449489742783178},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":3.7416573867739413},"https://spike.ist/recipes/deploying-spike/":{"tf":3.605551275463989},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":4.795831523312719},"https://spike.ist/recipes/troubleshooting/":{"tf":3.872983346207417},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.605551275463989},"https://spike.ist/usage/configuration/":{"tf":3.0}},"df":50,"(":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}},"’":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":3}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":5.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":4.795831523312719},"https://spike.ist/architecture/system-overview/":{"tf":6.082762530298219},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":4.795831523312719},"https://spike.ist/operations/production/":{"tf":4.898979485566356},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":4.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":3.4641016151377544},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":3.3166247903554},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":3.0},"https://spike.ist/recipes/deploying-spike/":{"tf":2.23606797749979},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":3.872983346207417},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":2.449489742783178},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":4.123105625617661},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":2.23606797749979},"https://spike.ist/recipes/upgrading-spike/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/cipher/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":3.4641016151377544},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":63,".":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"/":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}}}},"=":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":1}}}}},"?":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}}},"’":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0}},"df":3}},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":5},"g":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}},"m":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":2},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":7,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":5}}}},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":3}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}},"ş":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951}},"df":3}}},"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":4.47213595499958},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":2.0},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":3.605551275463989},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":2.449489742783178},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":20,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}},"—":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}}}}}}}}},"v":{"docs":{},"df":0,".":{"docs":{},"df":0,"k":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":6}},"g":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":4}},"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":6},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4}}}},"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":16}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":11,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772}},"df":1}}},"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979}},"df":3,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":2}}},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":10}},"v":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":5}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1},"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}}}}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951}},"df":4}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":11,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1,"’":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":2.0}},"df":3}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":19},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":7}}}}}},"i":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}},"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":3},"y":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"k":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}}}}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951}},"df":1}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":36}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}}}}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":5}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":2}}}}}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":3.1622776601683795},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":23,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"=":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":3}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1,"=":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":10,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}},"k":{"docs":{"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":17},"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.0},"https://spike.ist/development/local-deployment/":{"tf":2.449489742783178},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.449489742783178},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":11}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":2.8284271247461903},"https://spike.ist/recipes/troubleshooting/":{"tf":2.23606797749979},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":2.8284271247461903}},"df":18,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":3.605551275463989},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":2.6457513110645907},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":11,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"q":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":4}}}}}},"n":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":15}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":14,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":3.605551275463989},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.6457513110645907},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":18},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":12,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.8284271247461903},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":14,"/":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":1}}}}},"g":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":6.082762530298219},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":4.69041575982343},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":4.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":39,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}},"l":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":14},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3}},"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":6,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":9}}}},"o":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6,"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"p":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.7320508075688772}},"df":7},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":8},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":9}},"t":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":3},"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772}},"df":3}}}},"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":2.23606797749979},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.8284271247461903},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":10,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":1}},"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":6}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":39}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":8}}}}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.8284271247461903},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":2.8284271247461903},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":29,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":1}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":2}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/intro/":{"tf":2.8284271247461903},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.872983346207417},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/architecture/system-overview/":{"tf":3.7416573867739413},"https://spike.ist/community/presentations/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.449489742783178},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/operator/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":3.0},"https://spike.ist/usage/commands/secret/":{"tf":3.3166247903554}},"df":52,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":5,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":3}}}},"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":4}}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.449489742783178},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":14}}}},"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":7,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}}},"s":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":2.449489742783178},"https://spike.ist/recipes/writing-access-policies/":{"tf":3.1622776601683795},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":4.69041575982343},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":38,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":8}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951}},"df":2}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":2}}},"x":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.8284271247461903}},"df":4}}}}},"y":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":18,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0}},"df":3}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.0}},"df":5}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":39}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":5}}}},"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}},"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":3.605551275463989},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":6.164414002968976},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":3.7416573867739413},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":2.6457513110645907},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":2.23606797749979},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":4.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":50},"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}},"u":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":4}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.69041575982343},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":32,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}}},"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":3.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":9}}}},"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":11,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":1},"y":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":2.449489742783178}},"df":2}}}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795}},"df":34}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":3}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}}}}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.23606797749979},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":2.0}},"df":12}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"i":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1,"k":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":2.8284271247461903},"https://spike.ist/getting-started/quickstart/":{"tf":3.605551275463989},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":5}}},"m":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":39,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28}}}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":4}}},"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":2}},"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.4142135623730951}},"df":1}}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":7,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"—":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":2.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":10},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":2}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}}}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":10}}},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":2}},"k":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"(":{"docs":{},"df":0,"m":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":1,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.7320508075688772},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":3.3166247903554},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/cipher/":{"tf":4.358898943540674},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":18,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.3166247903554},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":39},"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9}}},"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":4}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.8284271247461903}},"df":19}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":34,"o":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":2}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178}},"df":7,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":39}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":5}},"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":36,"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":23}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"e":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":4}}}}}},"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951}},"df":2,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":41,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":37}}}}}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}},"v":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":10}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":5}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}},"b":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":28}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951}},"df":1},"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":13}}}}}}},"e":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":3.605551275463989},"https://spike.ist/development/bare-metal/":{"tf":2.0},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":2.23606797749979},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.7320508075688772},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":2.6457513110645907},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":2.23606797749979},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":57,"s":{"docs":{},"df":0,"–":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}}}},"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":29,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}}}}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":11,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":2}}}}}}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":6}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":2.449489742783178},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":23}}},"w":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":2.6457513110645907},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":3.1622776601683795},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":28,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":21},"u":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":4.58257569495584},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":4.795831523312719},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":3.605551275463989},"https://spike.ist/architecture/system-overview/":{"tf":6.782329983125268},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":2.449489742783178},"https://spike.ist/operations/backup/":{"tf":3.1622776601683795},"https://spike.ist/operations/production/":{"tf":4.242640687119285},"https://spike.ist/operations/recovery/":{"tf":3.605551275463989},"https://spike.ist/recipes/backup-and-restore/":{"tf":2.23606797749979},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":3.3166247903554},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":2.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":2.8284271247461903},"https://spike.ist/recipes/deploying-spike/":{"tf":3.7416573867739413},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":2.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.23606797749979},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":3.1622776601683795},"https://spike.ist/recipes/troubleshooting/":{"tf":3.7416573867739413},"https://spike.ist/recipes/upgrading-spike/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":6.4031242374328485},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/operator/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":3.1622776601683795}},"df":59,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"b":{"docs":{},"df":0,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"b":{"docs":{},"df":0,"k":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{},"df":0,"2":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}},"’":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0}},"df":4}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}},"l":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.0}},"df":2,")":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}}}},"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":9}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":7}},"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":1}},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":12,"c":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":4.242640687119285},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":32,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/cli/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":8}}}},"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}},"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":26},"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":8},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2},"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951}},"df":1,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}},"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":6.557438524302},"https://spike.ist/usage/cli/":{"tf":1.4142135623730951}},"df":11}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":3.1622776601683795},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":3.4641016151377544}},"df":11}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":1}}}},"x":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}}}}}}},"o":{"docs":{"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":3}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":3}}}},"f":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":7}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":7}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.7320508075688772}},"df":3}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":2}}},"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/usage/cli/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":2.23606797749979},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":8,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":1}}},"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":2.449489742783178},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":2.449489742783178},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":2.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":2.449489742783178},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":30,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,":":{"docs":{},"df":0,"8":{"docs":{},"df":0,"4":{"docs":{},"df":0,"4":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}},"5":{"docs":{},"df":0,"5":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":18},"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":5}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":4}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}}}},"p":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":3,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0}},"df":1,"q":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":7,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":4.47213595499958},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.872983346207417},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":6.082762530298219},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":5.477225575051661},"https://spike.ist/architecture/system-overview/":{"tf":5.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":2.23606797749979},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.0},"https://spike.ist/operations/recovery/":{"tf":3.7416573867739413},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":2.23606797749979},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.3166247903554},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":3.605551275463989},"https://spike.ist/usage/commands/operator/":{"tf":4.242640687119285},"https://spike.ist/usage/commands/policy/":{"tf":3.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":67,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"1":{"docs":{},"df":0,"5":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}},"6":{"docs":{},"df":0,"5":{"docs":{},"df":0,"5":{"docs":{},"df":0,"3":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}},"’":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"=":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}},"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":10,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":22}}}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":2.23606797749979},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":5}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":1}}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.6457513110645907}},"df":8,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":2}}}}}}}}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":5}}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":7,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":2,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":22,"\"":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}},"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":2}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":6}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":5}}},"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":9}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":2}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":13,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":15,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1},"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":3}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":33}}}},"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951}},"df":2}}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":5}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}}}}}}}}},"p":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":31}}}},"g":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":9}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"r":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.6457513110645907}},"df":5}},"m":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951}},"df":1},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":9}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":4,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":10,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":3}}}}}}}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":13,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}},"t":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}},"h":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":4.898979485566356},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.449489742783178},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":2.6457513110645907},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":3.872983346207417},"https://spike.ist/recipes/troubleshooting/":{"tf":2.449489742783178},"https://spike.ist/recipes/writing-access-policies/":{"tf":3.4641016151377544},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/cipher/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":4.242640687119285},"https://spike.ist/usage/commands/secret/":{"tf":6.782329983125268},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":47,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":5.291502622129181},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":2.23606797749979},"https://spike.ist/recipes/writing-access-policies/":{"tf":3.872983346207417},"https://spike.ist/tracking/changelog/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/policy/":{"tf":6.324555320336759},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":42,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}},"b":{"docs":{},"df":0,"k":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951}},"df":4,"s":{"docs":{},"df":0,"—":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":1}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":2}}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":9,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":27}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":12}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":4.69041575982343},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":18,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"—":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.7320508075688772},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951}},"df":39,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"(":{"docs":{},"df":0,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":4.123105625617661},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.7320508075688772}},"df":2}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772}},"df":3}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":5},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":2.0}},"df":1}}}},"e":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":3.4641016151377544},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":2.449489742783178},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":42,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}}},"n":{"docs":{"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951}},"df":3},"p":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":8}}}}},"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":16}}}}},"k":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/development/api-docs/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":10,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":30,"/":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/cipher/":{"tf":2.449489742783178}},"df":5,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}}}}}}},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951}},"df":10,"e":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772}},"df":8}},"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9}}}}},"y":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":5}}},"u":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3,"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":4.69041575982343},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":33}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951}},"df":1}}}}},"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":6,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":12}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":4.898979485566356},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":4.898979485566356},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":4.47213595499958},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.8284271247461903},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.449489742783178},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":3.1622776601683795},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":2.449489742783178},"https://spike.ist/recipes/troubleshooting/":{"tf":3.1622776601683795},"https://spike.ist/recipes/writing-access-policies/":{"tf":3.4641016151377544},"https://spike.ist/tracking/changelog/":{"tf":5.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":9.0},"https://spike.ist/usage/commands/secret/":{"tf":2.8284271247461903}},"df":37,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}}}},"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"—":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}}}},"’":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":1}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"l":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772}},"df":31,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}},"p":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":2,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":30}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":16}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":5,"g":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"q":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":19}}}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}},"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":3.3166247903554},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":21}}}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":2}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772}},"df":2}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":3}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":5}},"i":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}}},"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951}},"df":1}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":4}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":1}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0}},"df":7}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0}},"df":2},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.23606797749979},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":9}},"r":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}},"s":{"docs":{"https://spike.ist/operations/release/":{"tf":1.4142135623730951}},"df":1,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.4641016151377544},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":20}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":6,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":35,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":4}}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":13}}}},"t":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":1}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.6457513110645907},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.7416573867739413},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":15,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"=":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,")":{"docs":{},"df":0,"—":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":2}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951}},"df":4},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":25,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":2}}}}}},"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":3.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":17}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":4.242640687119285},"https://spike.ist/operations/release/":{"tf":2.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":28,")":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{},"df":0,"3":{"docs":{},"df":0,"5":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}},"5":{"docs":{},"df":0,"7":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":2,"t":{"docs":{"https://spike.ist/":{"tf":1.4142135623730951},"https://spike.ist/about/project-status/":{"tf":1.7320508075688772},"https://spike.ist/architecture/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.3166247903554},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":2.0},"https://spike.ist/recipes/production-hardening/":{"tf":2.23606797749979},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":30}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4}}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":7}}}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":2.23606797749979},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":8,"’":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"y":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":2}},"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":3,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":17,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":7}},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":3},"y":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":2}}}}}}}},"o":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":3}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.7416573867739413},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":4.123105625617661},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":20,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951}},"df":3}}},"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":2}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/architecture/system-overview/":{"tf":3.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":39},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":3}}},"x":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951}},"df":3,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/development/api-docs/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":1}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":2.449489742783178},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":3}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":3},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":8}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":4}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.7320508075688772},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":2.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":7,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":1}}}}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951}},"df":4}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4}}}}},"u":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":3}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951}},"df":7}}}}}}}},"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1,"a":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.449489742783178},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0}},"df":2}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0}},"df":1}}}},"s":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1}},"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":7,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":1}}}}},"g":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":19}}}}}},"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":4}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":5}}},"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":2.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":2.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":2.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":19,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":9,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772}},"df":2}}},"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,":":{"docs":{},"df":0,"8":{"docs":{},"df":0,"5":{"docs":{},"df":0,"5":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}}},"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":3.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":2.6457513110645907},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":2.449489742783178},"https://spike.ist/recipes/troubleshooting/":{"tf":2.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.6457513110645907},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":32,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":31}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}},"i":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":2.23606797749979},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":2.8284271247461903},"https://spike.ist/recipes/troubleshooting/":{"tf":2.23606797749979},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":12},"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"y":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":5,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":13}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}}}}},"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":5}}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":7}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}},"i":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/recipes/":{"tf":1.7320508075688772},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951}},"df":7}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":5}},"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":15}}}}},"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951}},"df":2}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":13}}}}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":38}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":3.4641016151377544},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":2.6457513110645907},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.7320508075688772},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":3.1622776601683795},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":2.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":23,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1,"i":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":5.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.4641016151377544},"https://spike.ist/architecture/system-overview/":{"tf":4.123105625617661},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":3.1622776601683795},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.1622776601683795},"https://spike.ist/operations/recovery/":{"tf":3.1622776601683795},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":3.605551275463989},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":2.23606797749979},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":5.5677643628300215},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":58},"y":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":3}}}}}}}},"o":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":25},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":8,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979}},"df":2}}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.7320508075688772}},"df":36}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951}},"df":2}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":5}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":4}}},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":7,"p":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":2.449489742783178}},"df":2}}}}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951}},"df":14,"i":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.7416573867739413},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":3.4641016151377544}},"df":38,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":7}}}}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":3}}}},"y":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":13}}}},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":11},"x":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"y":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":4.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":10}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":10}},"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":6,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.0}},"df":14}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":15}},"p":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907}},"df":10}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772}},"df":1}}},"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":6},"y":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":3,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}}}},"o":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":2.0}},"df":2,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":3.3166247903554},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":8}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":8}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":1}}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":18,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":1}}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":3.1622776601683795},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.449489742783178},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":49,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"?":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":2.0}},"df":5}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":4},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":10}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":2}},"v":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":3}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":4.123105625617661}},"df":15}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":5}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":41}}}},"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":2.23606797749979},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":16,")":{"docs":{},"df":0,"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":2.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":2.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":19,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":1}}}}}}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.4641016151377544},"https://spike.ist/architecture/system-overview/":{"tf":3.1622776601683795},"https://spike.ist/operations/backup/":{"tf":4.123105625617661},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":3.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":3.7416573867739413},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":3.605551275463989},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":4.358898943540674},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":47,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.4641016151377544},"https://spike.ist/recipes/production-hardening/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":36}}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":9}},"m":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":2}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":5}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":7,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"v":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":14}}},"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.872983346207417},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":15}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":1}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":5}},"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":8}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":3}}}},"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951}},"df":1},"k":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":1}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":10}}},"s":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":14,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":2}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"=":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":12,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":3.1622776601683795},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/operator/":{"tf":3.7416573867739413}},"df":10,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":3}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":3}}}}},"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":4.242640687119285},"https://spike.ist/architecture/system-overview/":{"tf":5.385164807134504},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":4.358898943540674},"https://spike.ist/operations/production/":{"tf":4.47213595499958},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":3.1622776601683795},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":3.3166247903554},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":2.8284271247461903},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":2.8284271247461903},"https://spike.ist/recipes/deploying-spike/":{"tf":2.6457513110645907},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":2.8284271247461903},"https://spike.ist/recipes/production-hardening/":{"tf":2.6457513110645907},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":2.8284271247461903},"https://spike.ist/recipes/troubleshooting/":{"tf":2.449489742783178},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.8284271247461903},"https://spike.ist/usage/configuration/":{"tf":2.6457513110645907}},"df":54,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":2.449489742783178}},"df":1}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":4.58257569495584},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979}},"df":16,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":2}},"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":4.69041575982343},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907}},"df":33,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":11}},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":2.6457513110645907},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":3.7416573867739413},"https://spike.ist/development/local-deployment/":{"tf":2.6457513110645907},"https://spike.ist/development/sdk-integration/":{"tf":2.0},"https://spike.ist/getting-started/quickstart/":{"tf":3.3166247903554},"https://spike.ist/operations/build/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":4.69041575982343},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":3.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":2.449489742783178},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":2.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":2.23606797749979},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":29,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}}}},"e":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":10,"e":{"docs":{},"df":0,"’":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":5.291502622129181},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":31,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":2,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1}}}}}}}}},"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772}},"df":1}},"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":13,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":4},"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}},"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":16},"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":7}}},"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":6}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":9}},"r":{"docs":{"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951}},"df":1}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":7}},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":16}}}},"e":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":5}}},"m":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979}},"df":6}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.8284271247461903},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":20}}},"u":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":2}}}},"d":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.3166247903554},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/community/resources/":{"tf":1.4142135623730951},"https://spike.ist/development/api-docs/":{"tf":2.0},"https://spike.ist/development/sdk-integration/":{"tf":2.6457513110645907},"https://spike.ist/operations/release/":{"tf":2.23606797749979},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.449489742783178},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":3.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":6.164414002968976}},"df":15,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":2}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951}},"df":2,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951}},"df":1}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/":{"tf":1.7320508075688772},"https://spike.ist/about/intro/":{"tf":5.916079783099616},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":4.69041575982343},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":5.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":4.0},"https://spike.ist/architecture/system-overview/":{"tf":4.47213595499958},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":4.58257569495584},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":3.7416573867739413},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":3.1622776601683795},"https://spike.ist/operations/production/":{"tf":3.1622776601683795},"https://spike.ist/operations/recovery/":{"tf":2.23606797749979},"https://spike.ist/recipes/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.7320508075688772},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":2.6457513110645907},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.7320508075688772},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.8284271247461903},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":2.6457513110645907},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":2.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":3.4641016151377544},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":4.69041575982343},"https://spike.ist/usage/cli/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/secret/":{"tf":8.0},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":68,"#":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"?":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}}}}}}}}},".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":1,"[":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}},"\\":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"*":{"docs":{},"df":0,"*":{"docs":{},"df":0,"^":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,".":{"docs":{},"df":0,"*":{"docs":{},"df":0,"$":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"^":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"[":{"docs":{},"df":0,"^":{"docs":{},"df":0,"/":{"docs":{},"df":0,"]":{"docs":{},"df":0,"*":{"docs":{},"df":0,"$":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}},"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951}},"df":1,"*":{"docs":{},"df":0,"^":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,".":{"docs":{},"df":0,"*":{"docs":{},"df":0,"$":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":2}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}},"v":{"docs":{},"df":0,"1":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"b":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":1}}}}}},"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}},"?":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":3.1622776601683795},"https://spike.ist/architecture/":{"tf":2.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":3.872983346207417},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":6.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.872983346207417},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.23606797749979},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":5.196152422706632},"https://spike.ist/architecture/system-overview/":{"tf":5.196152422706632},"https://spike.ist/community/hello/":{"tf":2.0},"https://spike.ist/community/presentations/":{"tf":2.8284271247461903},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":3.4641016151377544},"https://spike.ist/operations/production/":{"tf":8.426149773176359},"https://spike.ist/operations/recovery/":{"tf":2.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":4.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":4.358898943540674},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":2.8284271247461903}},"df":56,"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}},"e":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":2.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":2.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951}},"df":26,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":2.449489742783178},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772}},"df":6},"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}},"g":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772}},"df":7}}}}},"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951}},"df":3},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979}},"df":2}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":5,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"—":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}}}}}}}},"s":{"docs":{"https://spike.ist/usage/cli/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":2}},"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":4.123105625617661},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":19}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":3.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2}}}}}},"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772}},"df":2},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":45}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2},"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"v":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":15,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.605551275463989},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":5.0990195135927845},"https://spike.ist/operations/recovery/":{"tf":2.6457513110645907},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":17,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"5":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}},"’":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":2.23606797749979},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.7320508075688772},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":24,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}}}}}}}},"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":2}}}}}}},"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}}}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":3.872983346207417},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.0}},"df":29}}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/local-deployment/":{"tf":2.6457513110645907},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":4.69041575982343},"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":2.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":27,"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":20}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979}},"df":6}}}},"g":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"h":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4,"2":{"docs":{},"df":0,"5":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":2,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}},"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":13,"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":7}}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.4641016151377544},"https://spike.ist/architecture/system-overview/":{"tf":6.855654600401044},"https://spike.ist/operations/backup/":{"tf":4.358898943540674},"https://spike.ist/operations/production/":{"tf":3.605551275463989},"https://spike.ist/operations/recovery/":{"tf":3.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":2.8284271247461903},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":4.69041575982343},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/operator/":{"tf":5.5677643628300215},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":44,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.6457513110645907},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":3.1622776601683795},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":3.4641016151377544},"https://spike.ist/recipes/deploying-spike/":{"tf":2.449489742783178},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":3.4641016151377544},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":21,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":3}},"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":6}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}},"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":3}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":7,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":1},"w":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.23606797749979},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":12,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":2}}},"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":2}}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.6457513110645907},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":6,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}}}}},"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}},"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":10,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":8}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":3}}}}}},"p":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":14,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":12},"f":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":16}}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951}},"df":3}}}}}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":2.449489742783178}},"df":30},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28}}}}}},"t":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":2}}}},"z":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":4.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":32,"1":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}},"3":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":2}}}}},"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":11}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/community/contact/":{"tf":2.23606797749979},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951}},"df":3}},"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":3.7416573867739413}},"df":8}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951}},"df":5}}}}}},"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":7,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.4142135623730951}},"df":1}}},"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3,"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":2}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/tracking/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":2.23606797749979}},"df":4}}}}}},"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/cli/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":2.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":8}}}},"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":2,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":3}}}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":4},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":2.23606797749979},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":14}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":4},"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}},"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":2.0},"https://spike.ist/development/local-deployment/":{"tf":2.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":18,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":4}},"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}},"w":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}},"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":2.8284271247461903}},"df":29,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":6}}}},"e":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1},"f":{"docs":{"https://spike.ist/":{"tf":1.7320508075688772},"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/about/project-status/":{"tf":1.4142135623730951},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.0},"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/community/contact/":{"tf":2.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.8284271247461903},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.6457513110645907},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":3.0},"https://spike.ist/operations/recovery/":{"tf":2.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":3.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":4.0},"https://spike.ist/usage/commands/secret/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":2.8284271247461903}},"df":61,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":5}}}}},":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"$":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":3}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":4}}}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":3}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":1}}}}}}}},"\\":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":4}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":3,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}}}}}}}},"’":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0}},"df":2}}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/":{"tf":1.4142135623730951},"https://spike.ist/about/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":3.3166247903554},"https://spike.ist/about/project-status/":{"tf":2.6457513110645907},"https://spike.ist/architecture/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":4.358898943540674},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":5.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":4.47213595499958},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":4.358898943540674},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":4.58257569495584},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":7.0710678118654755},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":6.928203230275509},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":5.385164807134504},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":5.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":4.58257569495584},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":5.477225575051661},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":4.358898943540674},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":4.123105625617661},"https://spike.ist/architecture/architectural-decision-records/":{"tf":4.47213595499958},"https://spike.ist/architecture/security-model/":{"tf":8.660254037844387},"https://spike.ist/architecture/system-overview/":{"tf":12.041594578792296},"https://spike.ist/community/contact/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":2.6457513110645907},"https://spike.ist/community/presentations/":{"tf":5.916079783099616},"https://spike.ist/community/resources/":{"tf":2.6457513110645907},"https://spike.ist/development/":{"tf":1.7320508075688772},"https://spike.ist/development/api-docs/":{"tf":3.605551275463989},"https://spike.ist/development/bare-metal/":{"tf":6.6332495807108},"https://spike.ist/development/local-deployment/":{"tf":4.58257569495584},"https://spike.ist/development/sdk-integration/":{"tf":4.0},"https://spike.ist/getting-started/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":5.656854249492381},"https://spike.ist/operations/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":5.744562646538029},"https://spike.ist/operations/build/":{"tf":3.1622776601683795},"https://spike.ist/operations/production/":{"tf":9.643650760992955},"https://spike.ist/operations/recovery/":{"tf":7.211102550927978},"https://spike.ist/operations/release/":{"tf":4.242640687119285},"https://spike.ist/recipes/":{"tf":2.23606797749979},"https://spike.ist/recipes/backup-and-restore/":{"tf":2.449489742783178},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":2.6457513110645907},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":2.6457513110645907},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":3.4641016151377544},"https://spike.ist/recipes/deploying-spike/":{"tf":3.605551275463989},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":3.4641016151377544},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.449489742783178},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":2.449489742783178},"https://spike.ist/recipes/production-hardening/":{"tf":2.8284271247461903},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":2.23606797749979},"https://spike.ist/recipes/troubleshooting/":{"tf":2.449489742783178},"https://spike.ist/recipes/upgrading-spike/":{"tf":2.449489742783178},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":9.9498743710662},"https://spike.ist/tracking/snapshots/":{"tf":2.0},"https://spike.ist/usage/":{"tf":2.0},"https://spike.ist/usage/cli/":{"tf":4.242640687119285},"https://spike.ist/usage/commands/":{"tf":3.0},"https://spike.ist/usage/commands/cipher/":{"tf":4.898979485566356},"https://spike.ist/usage/commands/operator/":{"tf":5.0990195135927845},"https://spike.ist/usage/commands/policy/":{"tf":6.48074069840786},"https://spike.ist/usage/commands/secret/":{"tf":5.916079783099616},"https://spike.ist/usage/configuration/":{"tf":7.874007874011811}},"df":83,"'":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":3},")":{"docs":{},"df":0,"&":{"docs":{},"df":0,"n":{"docs":{},"df":0,"b":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1}}}}}},".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951}},"df":1}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}}}},"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}}},"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951}},"df":2}}}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":2}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}}}}},"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}}}}}}}},":":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,":":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"=":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"_":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951}},"df":6}}}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}}}}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"=":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}},"’":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":2.449489742783178},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":2.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":39}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":2.449489742783178},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":4.123105625617661},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":3.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":6.782329983125268},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":2.23606797749979},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.449489742783178},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":3.0},"https://spike.ist/recipes/production-hardening/":{"tf":2.449489742783178},"https://spike.ist/recipes/troubleshooting/":{"tf":2.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772}},"df":22,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.23606797749979},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":10}}},"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951}},"df":1}},"o":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"w":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}}}},"q":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.8284271247461903},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.7320508075688772},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":3.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":42,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"s":{"docs":{},"df":0,"q":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}},"3":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"y":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1},"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951}},"df":4}}}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}}}},"s":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":4}},"l":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":4}},"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":4}},"g":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":2}},"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":2},"l":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":3}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":3.605551275463989},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":35}}}}},"r":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":4.358898943540674},"https://spike.ist/development/local-deployment/":{"tf":2.0},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":2.8284271247461903},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":38,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":2}},"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.7320508075688772},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.449489742783178},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":13,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1}}}}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":20,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}},"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":31}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":7}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}},"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":34,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}},"y":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":2,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.0}},"df":2,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":1}}}}}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":3.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.0}},"df":5}}}},"e":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951}},"df":15}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":13}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}},"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":9},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":4.58257569495584},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":5.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":4.358898943540674},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":4.795831523312719},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.6457513110645907},"https://spike.ist/architecture/architectural-decision-records/":{"tf":2.449489742783178},"https://spike.ist/architecture/security-model/":{"tf":3.3166247903554},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":2.23606797749979},"https://spike.ist/operations/production/":{"tf":3.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":47,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}},"e":{"docs":{"https://spike.ist/":{"tf":1.4142135623730951},"https://spike.ist/about/intro/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":4.242640687119285},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":3.3166247903554},"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":2.449489742783178},"https://spike.ist/operations/production/":{"tf":3.7416573867739413},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":2.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":3.4641016151377544},"https://spike.ist/recipes/deploying-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":3.1622776601683795},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":2.0},"https://spike.ist/recipes/production-hardening/":{"tf":2.23606797749979},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":2.449489742783178},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.23606797749979},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":62,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":31}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":2.8284271247461903}},"df":6,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":9,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6}}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772}},"df":1}},"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":4}},"p":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":13,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":11,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951}},"df":4}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":8}}}},"u":{"docs":{"https://spike.ist/operations/recovery/":{"tf":2.0}},"df":1,"b":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":4}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":1}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":2,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":5,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":1}}}}}}},"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":3}}}}}}}}},"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9}},"d":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":9}},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951}},"df":5,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.449489742783178}},"df":3}}}}},"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"’":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":7,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"l":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}},"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0}},"df":7}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.7320508075688772},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":44,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":9},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":13}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":2}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"c":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}}}}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":2.449489742783178},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":2.23606797749979},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":19,")":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":1}}}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":3.605551275463989},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":2.6457513110645907},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":8,"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":30}}}}},"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":2.23606797749979}},"df":2,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":1}}}}}}}}},"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.7320508075688772}},"df":5,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951}},"df":1}}}},"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":31}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":5}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":4.47213595499958},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":4.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":3.605551275463989},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.23606797749979},"https://spike.ist/architecture/architectural-decision-records/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":4.58257569495584},"https://spike.ist/architecture/system-overview/":{"tf":5.477225575051661},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.449489742783178},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":4.69041575982343},"https://spike.ist/operations/recovery/":{"tf":3.3166247903554},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":3.7416573867739413},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":54,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}},"d":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":3},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}},"—":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":9}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772}},"df":1,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}},"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":2.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":36},"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":7,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":3}}},"l":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":7}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.449489742783178},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":6}}}},"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0}},"df":8}}}},"s":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0}},"df":3}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":6,"@":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0}},"df":2}}}}}}}}}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5},"q":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/hello/":{"tf":1.0}},"df":2}}}}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":4.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,"1":{"docs":{},"df":0,"/":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951}},"df":2,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.7320508075688772}},"df":1,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":4}}}}}}}}}},"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1},"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772}},"df":2,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":4.123105625617661},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":2.6457513110645907},"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":3.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.872983346207417},"https://spike.ist/usage/commands/operator/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":42,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}},"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":31}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.4142135623730951}},"df":3}},"t":{"docs":{},"df":0,"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0}},"df":7}}},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":2}}},"’":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"’":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":11},"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951}},"df":1}},"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.4142135623730951}},"df":1}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":7}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":9,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772}},"df":1}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.7320508075688772}},"df":7},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":2.8284271247461903},"https://spike.ist/operations/backup/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":2.449489742783178},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":2.23606797749979},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":2.23606797749979},"https://spike.ist/recipes/deploying-spike/":{"tf":2.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":2.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":9,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":1}}}},"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}}}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":31,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":3}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":5}}}}}}},"u":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":3,"m":{"docs":{},"df":0,"b":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":2}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":23,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"6":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.6457513110645907}},"df":3}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6}}}}}}},"p":{"docs":{"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":15}},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":7,";":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":15}}}},"m":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":2}}}}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}},"o":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":6}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":4.58257569495584},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":28}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":7}}},"o":{"docs":{},"df":0,".":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}},"l":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":36,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":3,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":3}}}}},"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":7}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":5}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":2}}}},"k":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":35}},"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":6,"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":13},"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951}},"df":2}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":3}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951}},"df":1}}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":35}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":2}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":5}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":2}}}}}},"p":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":9}},"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":1}},"i":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.7320508075688772}},"df":7,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":2}}}},"p":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":3},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951}},"df":11}}}}}}}}}},"u":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":2.0}},"df":5},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":3.1622776601683795},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":3.605551275463989}},"df":45,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":5}}}},"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":5}},"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":2.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.7320508075688772},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":14}},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":2.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":8,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":4}},"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"ü":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{},"df":0,"ç":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,".":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1},"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951}},"df":1}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"ş":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}}}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":3,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":11}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.4142135623730951}},"df":6}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.7320508075688772}},"df":1}}}},"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951}},"df":1}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":2}}}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":2.0}},"df":5,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}},"r":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951}},"df":6,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.7320508075688772},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":3}}}}}}},"o":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":2}}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":1}}}},"x":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":4}}}}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1},"t":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}},"q":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951}},"df":10}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":5,"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/community/resources/":{"tf":1.0}},"df":5}}}},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":5,":":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"2":{"docs":{},"df":0,"5":{"docs":{},"df":0,"6":{"docs":{},"df":0,":":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":7}}},"i":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":6}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":2,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":10,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":3}}}}}}}}}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951}},"df":2}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":2}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":2}}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772}},"df":1}},"t":{"docs":{"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":12}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":4,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"u":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1}}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":2.23606797749979},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":2.449489742783178},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":2.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":27,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.23606797749979},"https://spike.ist/operations/release/":{"tf":2.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":5.477225575051661},"https://spike.ist/usage/commands/policy/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":25,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":3.4641016151377544},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":7}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":4,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}}}}}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.7320508075688772},"https://spike.ist/getting-started/quickstart/":{"tf":2.449489742783178},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":3}}}}}}},"r":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.6457513110645907},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":5}},"s":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/about/intro/":{"tf":2.8284271247461903},"https://spike.ist/about/project-status/":{"tf":1.4142135623730951},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":3.1622776601683795},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":4.358898943540674},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":4.358898943540674},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":4.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":4.795831523312719},"https://spike.ist/architecture/system-overview/":{"tf":4.123105625617661},"https://spike.ist/community/contact/":{"tf":1.7320508075688772},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":3.0},"https://spike.ist/community/resources/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":4.242640687119285},"https://spike.ist/development/local-deployment/":{"tf":2.8284271247461903},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":3.872983346207417},"https://spike.ist/operations/backup/":{"tf":2.6457513110645907},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":6.4031242374328485},"https://spike.ist/operations/recovery/":{"tf":3.0},"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":2.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.7320508075688772},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":2.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":2.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.7320508075688772},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":4.358898943540674},"https://spike.ist/tracking/snapshots/":{"tf":1.0},"https://spike.ist/usage/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":3.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":3.3166247903554},"https://spike.ist/usage/commands/operator/":{"tf":2.449489742783178},"https://spike.ist/usage/commands/policy/":{"tf":5.291502622129181},"https://spike.ist/usage/commands/secret/":{"tf":3.7416573867739413},"https://spike.ist/usage/configuration/":{"tf":3.7416573867739413}},"df":76,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}},"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":14}},"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":1}}}},"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":3.7416573867739413},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":3.4641016151377544},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.449489742783178},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":3.4641016151377544},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":22,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}},"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"~":{"docs":{},"df":0,"/":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}},"=":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":1}}}},"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}}}}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}},"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}}}}}},"’":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":5}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951}},"df":4}}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":1}}},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":2}},"v":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":2.23606797749979}},"df":1,"$":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"2":{"docs":{},"df":0,"5":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1}}},"2":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1}}},"3":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1}}},"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"2":{"docs":{},"df":0,"5":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}}}}}},"1":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1},"2":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1},"3":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1}}},"5":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1}}},"6":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.4142135623730951}},"df":1}}}}},"1":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"2":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1},"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.3166247903554},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":2.23606797749979},"https://spike.ist/architecture/security-model/":{"tf":2.23606797749979},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":2.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":3.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/operator/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/secret/":{"tf":2.449489742783178}},"df":26,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":2.8284271247461903},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":15,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":3.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":2.23606797749979},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":11,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.6457513110645907}},"df":11}}},"s":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0}},"df":4}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":1}}}}},"e":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":3,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}}}}}}}}},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":12,"i":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":2.0},"https://spike.ist/architecture/security-model/":{"tf":1.7320508075688772},"https://spike.ist/architecture/system-overview/":{"tf":2.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/getting-started/quickstart/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/release/":{"tf":1.4142135623730951},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/production-hardening/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":2.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.7320508075688772}},"df":25}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":2.449489742783178},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.7320508075688772},"https://spike.ist/recipes/backup-and-restore/":{"tf":2.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":2.23606797749979},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":3.872983346207417},"https://spike.ist/recipes/upgrading-spike/":{"tf":3.1622776601683795},"https://spike.ist/tracking/changelog/":{"tf":4.58257569495584},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":5.0990195135927845},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":27,"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}},"’":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}}},"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":25},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":5}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.7320508075688772},"https://spike.ist/operations/production/":{"tf":1.0}},"df":6}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"’":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1}}}}},"m":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"=":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":2}}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":2}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":10,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/usage/commands/secret/":{"tf":1.4142135623730951}},"df":1}}}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772}},"df":6}}}}}},"w":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":2.23606797749979},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":2.449489742783178},"https://spike.ist/recipes/troubleshooting/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":7}},"l":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951}},"df":1,"k":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0}},"df":2,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":2}}}}}}}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":2.8284271247461903},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.7320508075688772},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.7320508075688772},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":17}},"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/configuration/":{"tf":1.4142135623730951}},"df":8},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/usage/cli/":{"tf":1.0}},"df":1}}},"y":{"docs":{"https://spike.ist/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/community/contact/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":1.4142135623730951},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":17}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1},"r":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":2}}}},"b":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":1,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"k":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3}}},"l":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":15}},"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":2}},"’":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":3}},"v":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"’":{"docs":{"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":15}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2},"v":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":2}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.4142135623730951},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":3}}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951}},"df":5}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":5,"n":{"docs":{"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.4142135623730951},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":4}}}}},"e":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":2.23606797749979},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951}},"df":9}}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":3}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":4}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":10}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":2.449489742783178},"https://spike.ist/development/local-deployment/":{"tf":2.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":2.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.4142135623730951},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.4142135623730951},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":2.23606797749979},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":32}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/development/bare-metal/":{"tf":2.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":2.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":25,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.7320508075688772}},"df":1}}}}}},"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.7320508075688772},"https://spike.ist/usage/commands/policy/":{"tf":1.7320508075688772}},"df":22}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/about/intro/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":2.8284271247461903},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":2.8284271247461903},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.7320508075688772},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/sdk-integration/":{"tf":2.449489742783178},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":2.6457513110645907},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.23606797749979},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":3.1622776601683795},"https://spike.ist/recipes/production-hardening/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.4142135623730951},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.0},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":3.1622776601683795},"https://spike.ist/usage/commands/secret/":{"tf":3.0},"https://spike.ist/usage/configuration/":{"tf":1.7320508075688772}},"df":24,"’":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":3}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/community/contact/":{"tf":2.0},"https://spike.ist/community/hello/":{"tf":1.0}},"df":2}}}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/community/hello/":{"tf":1.0}},"df":3}},"m":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":2,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":3}}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0}},"df":2}}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.7320508075688772},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":2.23606797749979},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":2.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.4142135623730951},"https://spike.ist/community/presentations/":{"tf":1.4142135623730951},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.4142135623730951},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.4142135623730951},"https://spike.ist/recipes/go-sdk-integration/":{"tf":2.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.7320508075688772},"https://spike.ist/recipes/production-hardening/":{"tf":1.7320508075688772},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":2.6457513110645907},"https://spike.ist/recipes/troubleshooting/":{"tf":1.7320508075688772},"https://spike.ist/recipes/writing-access-policies/":{"tf":2.8284271247461903},"https://spike.ist/usage/commands/cipher/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":1.4142135623730951}},"df":24,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":1}}}}},"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":2}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.4142135623730951},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/recipes/troubleshooting/":{"tf":2.449489742783178},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.7320508075688772}},"df":11}},"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":3.0}},"df":1,"’":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}},"x":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"9":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}},"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"9":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}}}}}}}},"8":{"docs":{},"df":0,"6":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1},"l":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.4142135623730951},"https://spike.ist/tracking/changelog/":{"tf":1.4142135623730951},"https://spike.ist/usage/commands/policy/":{"tf":3.4641016151377544},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":4,"/":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"ı":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}},"z":{"docs":{},"df":0,"ı":{"docs":{},"df":0,"l":{"docs":{},"df":0,"ı":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":2,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}},"’":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":3}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.4142135623730951},"https://spike.ist/recipes/":{"tf":1.0}},"df":2}}}}},"z":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2},"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":2},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/about/intro/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.4142135623730951},"https://spike.ist/architecture/system-overview/":{"tf":1.4142135623730951},"https://spike.ist/community/hello/":{"tf":1.0},"https://spike.ist/community/presentations/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.7320508075688772},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":18}}},"g":{"docs":{},"df":0,"ü":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":2.6457513110645907},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":30,"]":{"docs":{},"df":0,")":{"docs":{},"df":0,"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}},"title":{"root":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1},"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0}},"df":1},"4":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1},"5":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":2},"7":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0}},"df":1},"8":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":1},"9":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}},"1":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":1},"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1},"4":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1},"5":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951}},"df":1},"6":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1},"7":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1},"8":{"docs":{"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0}},"df":1},"9":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":1}},"2":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1},"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1},"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1},"4":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1},"5":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1},"6":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1},"7":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1},"8":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1},"9":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}},"3":{"docs":{},"df":0,"0":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1},"1":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1},"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}},"1":{"docs":{},"df":0,"2":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}},"4":{"docs":{},"df":0,"0":{"docs":{},"df":0,"4":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}}},"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":4}}}}},"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0}},"df":3}}}}}}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.4142135623730951},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0},"https://spike.ist/architecture/architectural-decision-records/":{"tf":1.0}},"df":33}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0}},"df":3},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":3}}}}}}}}}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":4}}},"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/operations/build/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/tracking/changelog/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/usage/commands/cipher/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.0}},"df":4}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/usage/commands/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/community/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":2}}}},"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":2}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/contact/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/build/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":2}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/development/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/development/api-docs/":{"tf":1.0},"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":4}}}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":1}}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}}}},"x":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}}}}}},"g":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/getting-started/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":1}}}},"o":{"docs":{"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":2}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":2}},"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0}},"df":1}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":3}}}},"y":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":4}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":2}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{"https://spike.ist/development/bare-metal/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"/":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}}}}}}},"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.4142135623730951}},"df":1}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0}},"df":3}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/recipes/deploying-spike/":{"tf":1.0}},"df":1}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0}},"df":1}}}}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"u":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0}},"df":4}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":1}}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":2}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/operations/build/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0}},"df":2}}},"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"q":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/community/presentations/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/operations/recovery/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/recipes/production-hardening/":{"tf":1.0}},"df":2}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/about/project-status/":{"tf":1.0}},"df":1}}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/getting-started/quickstart/":{"tf":1.0}},"df":1}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/recipes/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/recipes/break-the-glass-recovery/":{"tf":1.0}},"df":3}}}}}},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0025/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/operations/release/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/community/resources/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0030/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/recipes/backup-and-restore/":{"tf":1.0}},"df":3}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/recipes/root-key-keepers-recovery/":{"tf":1.0}},"df":3}},"u":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"3":{"docs":{"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0}},"df":1},"d":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/development/sdk-integration/":{"tf":1.0},"https://spike.ist/recipes/go-sdk-integration/":{"tf":1.0}},"df":2}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0}},"df":6}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0027/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{"https://spike.ist/operations/production/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0}},"df":1}}}}}},"z":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/tracking/snapshots/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/about/intro/":{"tf":1.0},"https://spike.ist/architecture/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0004/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0012/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0018/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0022/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0023/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0026/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0029/":{"tf":1.0},"https://spike.ist/architecture/security-model/":{"tf":1.0},"https://spike.ist/development/":{"tf":1.0},"https://spike.ist/development/bare-metal/":{"tf":1.0},"https://spike.ist/development/local-deployment/":{"tf":1.0},"https://spike.ist/getting-started/quickstart/":{"tf":1.0},"https://spike.ist/operations/backup/":{"tf":1.0},"https://spike.ist/operations/build/":{"tf":1.0},"https://spike.ist/operations/production/":{"tf":1.0},"https://spike.ist/operations/recovery/":{"tf":1.0},"https://spike.ist/operations/release/":{"tf":1.0},"https://spike.ist/recipes/bootstrapping-spike/":{"tf":1.0},"https://spike.ist/recipes/deploying-spike/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0},"https://spike.ist/usage/":{"tf":1.0},"https://spike.ist/usage/cli/":{"tf":1.0},"https://spike.ist/usage/commands/":{"tf":1.0},"https://spike.ist/usage/commands/cipher/":{"tf":1.0},"https://spike.ist/usage/commands/operator/":{"tf":1.0},"https://spike.ist/usage/commands/policy/":{"tf":1.0},"https://spike.ist/usage/commands/secret/":{"tf":1.0},"https://spike.ist/usage/configuration/":{"tf":1.0}},"df":35,"'":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":3}}}}},"q":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/architecture/adrs/adr-0032/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/getting-started/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0021/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0014/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0019/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":6}},"e":{"docs":{"https://spike.ist/architecture/adrs/adr-0011/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0013/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0016/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0},"https://spike.ist/recipes/choosing-a-backend-store/":{"tf":1.0},"https://spike.ist/recipes/storing-and-reading-secrets/":{"tf":1.0}},"df":6}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{"https://spike.ist/architecture/adrs/adr-0003/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0007/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":3}}}}}}},"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0017/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0008/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0009/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0},"https://spike.ist/architecture/system-overview/":{"tf":1.0}},"df":5}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0031/":{"tf":1.0}},"df":1}},"x":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0001/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://spike.ist/architecture/adrs/adr-0010/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://spike.ist/tracking/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0024/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/recipes/troubleshooting/":{"tf":1.0}},"df":1}}}}}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://spike.ist/architecture/adrs/adr-0006/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://spike.ist/community/hello/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/upgrading-spike/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{"https://spike.ist/architecture/adrs/adr-0002/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0005/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0015/":{"tf":1.0},"https://spike.ist/architecture/adrs/adr-0028/":{"tf":1.0},"https://spike.ist/recipes/encryption-as-a-service/":{"tf":1.0},"https://spike.ist/usage/":{"tf":1.0}},"df":6}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://spike.ist/recipes/granting-a-workload-access/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://spike.ist/recipes/writing-access-policies/":{"tf":1.0}},"df":1}}}}},"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{"https://spike.ist/architecture/adrs/adr-0020/":{"tf":1.0}},"df":1}}}}}}},"documentStore":{"save":true,"docs":{"https://spike.ist/":{"body":"“It is really cool to see a new secret store built on top of SPIFFE\nnatively. This is a great way to show how a common production\nidentity framework can make other things much simpler and automated.”\n— Joe Beda, creator of SPIFFE, co-creator of Kubernetes.\nSecure Production Identity for Key Encryption (SPIKE) \nSPIKE is a lightweight secrets store that uses SPIFFE\nas its identity control plane.\nSPIKE protects your secrets and helps your ops, SREs, and sysadmins\n#sleepmore.","id":"https://spike.ist/","title":"index"},"https://spike.ist/about/":{"body":"About\nAbout SPIKE\nEarly Access Notice","id":"https://spike.ist/about/","title":"About"},"https://spike.ist/about/intro/":{"body":"A Brief Introduction to SPIKE\nAbout SPIKE\nSPIKE is a lightweight secrets store that uses SPIFFE as its\nidentity control plane.\nUsing SPIFFE as the identity layer ensures strong, verifiable workload\nidentities without relying on static credentials like API keys or passwords.\nThis enables SPIKE to authenticate and authorize workloads dynamically,\nreducing the attack surface and preventing key sprawl. Additionally,\nSPIFFE’s automatic identity rotation and short-lived cryptographic\nidentities enhance security and resilience, making it an ideal foundation\nfor a zero-trust secrets management system.\nWhy Not Use Kubernetes Secrets\nOne of the most misunderstood aspects of Kubernetes secrets is that\nKubernetes secrets are not truly secrets. While Kubernetes provides a\nmechanism to store and manage sensitive information, it is not a dedicated\nsecrets management solution.\nHere’s why relying on Kubernetes secrets can be problematic:\nLimited Scope & Portability\nIf a service outside Kubernetes—or in another cluster—needs access to a\nKubernetes secret, it introduces significant authentication and authorization\nchallenges.\nKubernetes Secrets are designed to work within a single cluster, making it\ndifficult to share them securely across different environments\n(e.g., multiple clusters, bare-metal infrastructure, or cloud-based services).\nThis limitation can lead to inconsistent security policies and fragmented secret\nmanagement practices.\nA robust secrets management strategy should consider secrets’ scope beyond a\nsingle cluster.\nStatic Nature of the Secrets\nKubernetes secrets are static once created. They are stored in etcd and\ninjected into pods at startup, meaning updates require manual\nintervention—modifying the secret, redeploying affected applications, and\nensuring no stale or expired secrets remain in use.\nUpdating a Kubernetes Secret does not automatically notify or reload the\nworkloads consuming it. Applications typically need to be restarted or\nre-deployed to pick up the new secret, adding operational complexity and\npotential downtime if not managed carefully.\nThis lack of flexibility introduces security risks and operational overhead.\nSecurity and Governance Limitations\nKubernetes Secrets are governed by Kubernetes RBAC. Using Kubernetes Secrets, it\ncan be tricky to enforce a platform-agnostic security policy that spans\nmultiple environments. This often leads to fragmented governance and\npotential misconfigurations.\nA dedicated secrets manager offers dynamic cross-environment compatibility\nand stronger security controls—making it a better choice for modern,\ndistributed architectures.\nKubernetes Secrets Are Not Encrypted By Default\nKubernetes Secrets are stored in etcd, and unless encryption at rest is\nexplicitly enabled, they are stored in plaintext. This means that anyone with\naccess to etcd (including certain privileged users or attackers who compromise\nthe cluster) can retrieve sensitive data without needing Kubernetes API access.\nMoreover, even with encryption at rest, the security model of Kubernetes Secrets\nremains weaker than a dedicated secrets store. While encryption prevents direct\nretrieval of plaintext secrets from etcd storage, an attacker with right\nprivileges can get the encryption key. Additionally, the Kubernetes API must\ndecrypt secrets when serving them to workloads, meaning any user or process\nwith sufficient API permissions can still retrieve secrets in plaintext.\nSo not only etcd itself, but also API-layer access is also a risk factor\nin enforcing the security of Kubernetes Secrets.\nWhen Are Kubernetes Secrets Useful?\nDespite these challenges, Kubernetes Secrets can still be useful in simple,\ncluster-contained workloads where:\nSecrets do not need frequent rotation.\nAll applications consuming the secrets reside in the same cluster.\nRBAC policies are well-configured to prevent accidental exposure.\nHowever, for any multi-cluster, dynamic, or zero-trust architecture, a\ndedicated secrets management solution is a better approach—providing\nfine-grained access control, cross-environment compatibility, and stronger\nsecurity guarantees.\nThat part taken care of, we can get our hands dirty with SPIKE in the\nSPIKE Quickstart Guide.\n \nSPIKE Quickstart Guide\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/about/intro/","title":"About SPIKE"},"https://spike.ist/about/project-status/":{"body":"Project Maturity\nSPIKE is a SPIFFE-affiliated project that has reached Development\nmaturity as defined in the SPIFFE Project Lifecycle.\nThis means:\nSPIKE is functionally stable and suitable for broader experimentation and\ncommunity involvement.\nSPIKE is not yet production-ready, and certain features or interfaces may\ncontinue to evolve.\nStability and polish are improving, but users should expect occasional bugs or\nbreaking changes.\nWe invite developers and early adopters to explore, test, and contribute. Your\ninput is invaluable in helping us shape a robust and reliable product.\nUse in critical systems is not advised at this time.\nWe’ll announce when the project is ready for production adoption.\n🦔 Thanks for your patience and support. We welcome your thoughts at\n📬 team@spike.ist.\n \nSPIKE Quickstart Guide\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/about/project-status/","title":"Project Maturity"},"https://spike.ist/architecture/":{"body":"SPIKE (Secure Production Identity for Key Encryption) is a secure,\nlightweight, performant Secrets Manager that uses SPIFFE\n(Secure Production Identity Framework for Everyone) as its identity control\nplane.\nFollow the White Rabbit 🐇\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/","title":"SPIKE Architecture"},"https://spike.ist/architecture/adrs/":{"body":"Architecture Decision Records\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI","id":"https://spike.ist/architecture/adrs/","title":"Architectural Decision Records"},"https://spike.ist/architecture/adrs/adr-0001/":{"body":"ADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nStatus: accepted\nDate: 2024-10-28\nTags: Security, Operations, Convenience\nContext and Problem Statement\nThe SPIKE Pilot admin interface needs to provide access to secrets for\nadministrative purposes. We need to determine the most secure and practical way\nto display these secrets while maintaining system security and operational\nefficiency.\nDecision Drivers\nSecurity of sensitive information\nOperational efficiency for administrators\nPrevention of workarounds that could increase attack surface\nAuditability of secret access\nUser experience for administrators\nConsidered Options\nDisplay secrets in plain text\nDisplay only encrypted secrets\nNever display secrets through an admin interface\nDecision\nDisplay secrets in plain text in the SPIKE Pilot admin CLI, while providing\nadditional interfaces to view only keys or metadata when full secret values\naren’t needed.\nRationale\nAdministrators who can write and delete secrets should logically be able to\nview them.\nEncrypting displayed secrets provides false security since:\nAdmins with access likely have decryption keys anyway\nIt only adds inconvenience without meaningful security benefits\nPreventing secret viewing would likely lead to:\nCreation of throwaway secret consumer apps\nIncreased attack surface through workarounds\nExisting security measures provide adequate protection:\nmTLS for secret fetching\nShort-lived sessions\nAudit logging through SPIKE Nexus\nAuthentication and authorization checks\nConsequences\nPositive\nSimplified admin operations\nReduced likelihood of workarounds\nClear audit trail of secret access\nConsistent with the principle of least surprise\nNegative\nPotential for secrets to appear in logs or command history\nIncreased responsibility on admin access control\nImplementation Notes\nImplement separate interfaces for:\nFull secret display\nKeys-only view\nMetadata-only view\nEnsure proper audit logging of all secret access\nDocument proper terminal/session management for admins\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0001/","title":"ADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI"},"https://spike.ist/architecture/adrs/adr-0002/":{"body":"ADR-0002: Use Docsify for Documentation System\nStatus:\nSuperseded by ADR-0020: Switch to Zola for Documentation System\nDate: 2025-02-20\nHistory:\n2024-11-03: Accepted\n2025-02-20: Superseded by ADR-0020\nTags: Documentation\nContext\nWe need a documentation system that:\nIntegrates well with our Git workflow\nSupports Markdown formatting\nRequires minimal setup and maintenance effort\nIs easy for developers to contribute to\nCan serve documentation directly from source control\nDecision\nWe will use Docsify as our documentation system.\nConsequences\nPositive\nGit-native: Documentation lives directly in the repository as Markdown files\nZero build process: Docsify generates documentation on the fly\nMarkdown support: Developers can write documentation in familiar Markdown syntax\nMinimal setup: Only requires a single HTML file and basic configuration\nNo static HTML files: Documentation is generated on-demand from Markdown\nEasy to maintain: No separate build pipeline or compilation step is needed\nGood search capabilities out of the box\nSupport for plugins and themes\nNegative\nRequires JavaScript to be enabled in the browser\nNo static HTML generation means reduced SEO capabilities\nDocumentation loading might be slightly slower compared to pre-built static sites\nLimited compared to full-featured documentation systems like MkDocs or Sphinx\nReferences\nDocsify Official Documentation\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0002/","title":"ADR-0002: Use Docsify for Documentation System"},"https://spike.ist/architecture/adrs/adr-0003/":{"body":"ADR-0003: Root Key Management and Storage Strategy\nStatus: accepted\nDate: 2024-11-03\nTags: Security, Storage, Encryption\nContext\nWe need a secure strategy for managing the root key that SPIKE Nexus\nuses. This key is critical for the system’s security and requires:\nSecure storage\nHigh availability\nDisaster recovery capabilities\nProtection against unauthorized access\nBalance between security and operational needs\nDecision\nWe will implement a multi-layered approach for root key management:\n1. Runtime Storage:\nRoot key will be stored in memory only as plain text\nThis applies to both SPIKE Nexus and SPIKE Keeper components\n2. Persistent Storage:\nRoot key will be stored in a PostgreSQL database\nThe stored version will be:\nSalted\nEncrypted\nProtected by admin user’s password\nConsequences\nPositive\nEnhanced security through memory-only plain text storage\nReduced attack surface as the plain text key never touches the disk\nRecovery is possible through encrypted backup in PostgreSQL\nAdmin password dependency ensures authorized access only\nSalting provides protection against rainbow table attacks\nSeparation of concerns between runtime and persistent storage\nNegative\nMemory-only storage means the key is lost on service restart\nDependency on admin user’s password for recovery\nNeed to manage salt generation and storage\nPotential performance impact from encryption/decryption operations\nRisk of key loss if both admin password and memory contents are lost\nAdditional complexity in key recovery procedures\nSecurity Considerations\nMemory must be properly zeroed when the key is no longer needed\nPostgreSQL access must be properly secured\nAdmin password strength becomes critical for system security\nSalt management and storage must be handled securely\nEncryption algorithm and key derivation function must be carefully chosen\nImplementation Notes\n1. Memory Storage:\nImplement secure memory handling\nUse secure string implementations where available\n2. PostgreSQL Storage:\nUse strong encryption algorithm (e.g., AES-256)\nImplement secure key derivation from the admin password\nEnsure proper salt generation and storage\nReferences\nOWASP Cryptographic Storage Cheat Sheet\nNIST Guidelines for Key Management\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0003/","title":"ADR-0003: Root Key Management and Storage Strategy"},"https://spike.ist/architecture/adrs/adr-0004/":{"body":"ADR-0004: SPIKE Keeper Minimalist Design Approach\nStatus: accepted\nDate: 2024-11-03\nTags: Security, Redundancy, Availability\nContext\nSPIKE Keeper serves as a critical component in our system’s key management\ninfrastructure, working alongside SPIKE Nexus. We need to establish clear\ndesign principles for SPIKE Keeper to ensure it fulfills its role\neffectively and reliably.\nKey considerations:\nSPIKE Keeper co-exists with SPIKE Nexus on the same machine/node\n(this restriction can be removed if we further secure the communication\nbetween SPIKE Keeper and SPIKE Nexus with double encryption)\nIt serves as a recovery mechanism for SPIKE Nexus crashes\nSystem reliability is crucial for key management\nService complexity often correlates with failure rates\nDecision\nWe will implement SPIKE Keeper following a strict minimalist design\nphilosophy:\nCore Functionality:\nSingle responsibility: maintain the root key in memory\nNo additional features beyond key retention\nMinimal API surface area\nImplementation Constraints:\nNo optional or “nice-to-have” features\nNo additional endpoints unless absolutely necessary for core functionality\nResist feature creep and scope expansion\nAvoid unnecessary dependencies\nConsequences\nPositive\nReduced points of failure\nEasier to maintain and debug\nLower resource consumption\nFaster startup time\nSimplified testing\nHigher reliability due to reduced complexity\nClear and focused code base\nEasier security auditing\nReduced attack surface\nNegative\nMay need to reject potentially useful features\nCould require additional services for new functionality\nMight seem limited compared to full-featured alternatives\nMay face pressure to add features over time\nImplementation Guidelines\nCode Organization\nKeep the codebase small and focused\nImplement only essential error handling\nMinimize external dependencies\nFeature Evaluation Criteria\nIs it essential for key retention?\nIs it required for recovery scenarios?\nCan it be handled by another service?\nPerformance Considerations\nOptimize for memory usage\nKeep startup time minimal\nMaintain a low CPU footprint\nMonitoring Guidelines\nFocus on essential metrics only:\nMemory usage\nKey presence\nBasic health checks\nAvoid complex monitoring implementations\nReferences\nUnix philosophy of doing one thing well\nMicroservice design principles\nKISS (Keep It Simple, Stupid) principle\nNotes\nFuture feature requests should be evaluated against this ADR’s principles.\nAny deviation from the minimalist approach requires strong justification and\npossibly a new ADR.\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0004/","title":"ADR-0004: SPIKE Keeper Minimalist Design Approach"},"https://spike.ist/architecture/adrs/adr-0005/":{"body":"ADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nStatus: accepted\nDate: 2024-11-03\nTags: Security, Networking, SPIFFE, SPIRE\nContext\nOur system requires secure communication between various components with:\nStrong mutual authentication\nNetwork-level security\nIdentity management for services\nAutomated certificate management\nZero-trust security model\nCurrent challenges in service-to-service authentication include:\nManaging service identities\nCertificate distribution and renewal\nSecure communication channels\nIdentity verification between components\nDecision\nWe will implement SPIFFE with mTLS for all inter-component\ncommunication and authentication:\nAuthentication Mechanism:\nUse SPIFFE SVIDs (SPIFFE Verifiable Identity Document) for component identification\nImplement mutual TLS (mTLS) for all service-to-service communication\nIdentity Management:\nEach component will be assigned a unique SPIFFE ID\nComponents will authenticate using their SVIDs\nSecurity Layer:\nNetwork security will be handled at the TLS layer using SPIFFE-issued certificates\nAll communication will be encrypted using mTLS\nConsequences\nPositive\nStrong cryptographic identity for each workload\nAutomated certificate management\nZero-trust security model implementation\nDynamic identity provisioning\nReduced operational overhead for certificate management\nPlatform-agnostic identity management\nStandardized authentication mechanism\nAutomatic certificate rotation\nNo shared secrets required\nNegative\nAdditional system complexity\nNeed for SPIFFE infrastructure maintenance\nPerformance overhead from TLS handshakes\nNeed to manage SPIFFE deployment and updates\nImplementation Requirements\nInfrastructure\nDeploy SPIFFE/SPIRE server\nConfigure workload attestation\nSet up certificate authority integration\nComponent Integration\nImplement SPIFFE workload API in all components\nConfigure mTLS endpoints\nImplement SVID verification\nSecurity Considerations\nSecure SPIFFE control plane\nConfigure proper attestation policies\nImplement certificate rotation policies\nMonitor SVID lifecycle\nMonitoring and Maintenance\nMonitor certificate expiration\nTrack authentication failures\nAudit identity assignments\nMonitor SPIFFE infrastructure health\nRecovery Procedures\nCertificate Issues\nAutomated SVID renewal\nManual SVID regeneration procedures\nFallback authentication methods\nInfrastructure Issues\nSPIFFE server redundancy\nBackup attestation procedures\nEmergency access procedures\nReferences\nSPIFFE Specification\nSPIFFE Security Model\nmTLS Best Practices\nNotes\nRegular security audits should verify the correct implementation of SPIFFE/mTLS\nconfigurations and assess the effectiveness of the authentication mechanisms.\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0005/","title":"ADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication"},"https://spike.ist/architecture/adrs/adr-0006/":{"body":"ADR-0006: Trust Boundary Definition and Security Assumptions\nStatus: accepted\nDate: 2024-11-03\nTags: Security, Threat Model, Trust\nContext\nWe need to clearly define our system’s trust boundaries and security assumptions\nto:\nEstablish realistic security expectations\nGuide the efforts to harden security\nDefine the scope of security measures\nInform deployment strategies\nGuide incident response planning\nThe system includes multiple critical components (SPIKE Nexus,\nSPIKE Keeper, SPIRE) that handle sensitive data, particularly\nthe root key.\nDecision\nWe will establish the following trust boundary model:\nPrimary Trust Boundary:\nSet at the machine/host level\nConsider the machine as the primary security perimeter\nTreat machine compromise as a complete system compromise\nComponent Security Approach:\nImplement defense-in-depth while acknowledging its limitations\nFocus on container hardening for containerized deployments\nAccept that component-level security provides diminishing returns after\nmachine compromise\nConsequences\nPositive\nClear security expectations and boundaries\nFocused security efforts\nRealistic threat modeling\nEfficient resource allocation for security measures\nClear incident response triggers\nSimplified security architecture\nNegative\nAccepting certain security limitations\nDependency on host-level security\nNeed for strong physical security measures\nHigher requirements for host hardening\nIncreased importance of access control\nSecurity Implications\nMachine-Level Security\nCritical Areas\nPhysical security\nOS-level hardening\nAccess control\nHost monitoring\nSystem integrity\nAttack Vectors Accepted as Valid Threats\nMemory inspection/modification\nProcess manipulation\nWorkload injection\nSPIRE entry manipulation\nRoot key exposure through memory access\nComponent-Level Security\nSPIKE Nexus\nImplement container hardening\nMinimize attack surface\nMonitor for anomalies\nRestrict capabilities\nSPIKE Keeper\nTreat compromise as machine compromise\nImplement memory protection measures\nRestrict access and capabilities\nMonitor for unauthorized access\nImplementation Requirements\nHost Security\nPhysical Security:\nSecure data center access\nHardware security modules where applicable\nPhysical access logging\nTamper detection\nOS Security:\nRegular security updates\nMinimal running services\nSecure boot\nKernel hardening\nAccess control lists\nContainer Security\nContainer Hardening:\nMinimal base images\nNo privileged containers\nResource limitations\nRead-only filesystems\nSecurity context constraints\nRuntime Protection:\nContainer scanning\nRuntime security monitoring\nBehavioral analysis\nResource isolation\nMonitoring and Detection\nHost-Level\nSystem integrity monitoring\nPrivilege escalation detection\nResource usage anomalies\nAccess pattern analysis\nComponent-Level:\nMemory access patterns\nProcess behavior\nAPI call patterns\nResource utilization\nIncident Response Triggers\nUnauthorized physical access\nAnomalous system calls\nUnexpected memory access patterns\nSPIRE entry modifications\nContainer escape attempts\nReferences\nNIST Guidelines for Server Security\nCIS Benchmarks\nContainer Security Best Practices\nNIST SP 800-207A A Zero Trust Architecture Model for Access Control\nin Cloud-Native Applications in Multi-Cloud Environments\nNotes\nThis ADR should be reviewed when:\nNew deployment models are considered\nSignificant architecture changes occur\nNew security threats emerge\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0006/","title":"ADR-0005: Trust Boundary Definition and Security Assumptions"},"https://spike.ist/architecture/adrs/adr-0007/":{"body":"ADR-0007: Root Key Lifecycle and Management Strategy\nStatus: accepted\nDate: 2024-11-03\nTags: Security\nContext\nOur system requires a robust and secure approach to managing the root key,\nwhich is fundamental to the entire security infrastructure. We need to\nestablish:\nKey generation and storage policies\nBackup and recovery procedures\nRotation policies\nEmergency recovery procedures\nThe root key is a critical security component that requires careful handling\nthroughout its lifecycle while maintaining operational efficiency.\nDecision\nWe will implement the following key management strategy:\nRoot Key Characteristics\nLong-lived key with periodic rotation\nGenerated automatically by SPIKE Nexus\nStored exclusively in memory, never on disk in plain text\nKey Protection\nAdministrator-provided password through SPIKE Pilot\nEncrypted backup for emergency recovery\nMemory-only plain text existence\nKey Rotation:\nPeriodic rotation schedule\nAutomatic re-encryption of all dependent secrets\nMaintain system availability during rotation\nConsequences\nPositive\nNo plain text key storage on disk\nAdministrator-controlled recovery capability\nAutomated key generation reduces human error\nRegular rotation enhances security\nAutomatic re-encryption maintains data security\nClear recovery procedures\nNegative\nDependency on administrator password\nRisk of system unavailability if both memory content and recovery password are\nlost\nPerformance impact during key rotation and re-encryption\nNeed for careful password management\nOperational complexity during rotation\nImplementation Requirements\nKey Generation\nInitial Generation\nAutomated generation by SPIKE Nexus\nCryptographically secure random number generator\nImmediate memory storage\nStorage Requirements:\nMemory-only plain text storage\nSecure memory handling\nMemory zeroing after use\nBackup and Recovery\nPassword Requirements\nStrong password policies\nSecure password transmission\nPassword storage guidelines\nBackup Process\nEncryption of the root key\nSecure storage of encrypted backup\nRegular backup verification\nKey Rotation\nRotation Process:\nAutomated rotation procedure\nGradual secret re-encryption\nValidation of re-encrypted secrets\nScheduling:\nDefine rotation intervals\nMaintenance window planning\nEmergency rotation procedures\nCritical Operations\nPassword Management\nAdministrator Responsibilities:\nSecure password creation\nPassword storage\nAccess control\nRegular password verification\nRecovery Procedures:\nEmergency recovery process\nPassword verification\nSystem restoration steps\nRotation Operations\nPre-rotation:\nSystem health check\nBackup verification\nResource availability check\nDuring Rotation:\nProgress monitoring\nError handling\nRecovery readiness\nPost-rotation:\nVerification of re-encrypted secrets\nSystem health validation\nBackup update\nMonitoring and Alerts\nKey Health\nMemory presence verification\nBackup status\nRotation schedule tracking\nCritical Alerts:\nFailed rotation attempts\nBackup failures\nMemory issues\nAccess attempts\nRecovery Procedures\nEmergency Recovery:\nPassword validation\nBackup decryption\nSystem restoration\nVerification steps\nFailed Rotation Recovery:\nRollback procedures\nSystem state verification\nImpact assessment\nReferences\nNIST Key Management Guidelines\nOWASP Key Management Cheat Sheet\nCryptographic Key Lifecycle Best Practices\nNotes\nRegular audits of key management procedures are required\nDocument all rotation events and issues\nMaintain detailed recovery runbooks\nRegular testing of recovery procedures\nPassword management procedures must be documented and practiced\nWarning\nThe administrator password for key recovery is CRUCIAL. Loss of this\npassword combined with system failure could result in permanent data loss.\nImplement appropriate password management procedures.\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0007/","title":"ADR-0007: Root Key Lifecycle and Management Strategy"},"https://spike.ist/architecture/adrs/adr-0008/":{"body":"ADR-0008: Administrative Access Control System\nStatus: accepted\nDate: 2024-11-03\nTags: Security, Administration, Disaster Recovery\nContext\n*e need a secure and auditable system for administrative access that:\nManages initial system provisioning\nControls ongoing administrative access\nPrevents accidental system re-initialization\nProvides emergency recovery options\nEnsures accountability of administrative actions\nDecision\nWe will implement a multi-layered administrative access system:\nInitial Provisioning\nRequire admin password specification\nGenerate admin token in SPIKE Nexus\nSingle initialization opportunity\nOngoing Access:\nToken-based authentication via spike login\nTemporary access tokens\nPassword-to-token exchange mechanism\nSystem Protection:\nPrevention of accidental re-initialization\nOut-of-band factory reset capability\nStrict initialization state management\nConsequences\nPositive\nClear audit trail of administrative actions\nPrevention of accidental system resets\nTemporary token model reduces the risk of token compromise\nPassword-based authentication with token exchange provides dual security\nEmergency recovery option available\nClear separation between normal operation and emergency procedures\nNegative\nNeed to manage admin password securely\nAdditional complexity in access management\nPotential for system lockout if the password is lost\nNeed to secure factory reset capability\nAdditional operational overhead for token management\nImplementation Requirements\nInitial Provisioning\nPassword Requirements\nStrong password policies\nSecure password transmission\nInitial token generation rules\nInitialization Protection\nState tracking mechanism\nInitialization lock\nState persistence\nAuthentication Flow\nLogin Process\nspike login command implementation\nPassword validation\nToken generation and exchange\nToken lifetime management\nToken Management:\nToken expiration rules\nToken revocation capabilities\nToken usage tracking\nFactory Reset\nOut-of-band Script:\nSecure script storage\nAccess controls\nExecution logging\nState verification\nReset Protection:\nConfirmation requirements\nAudit logging\nState validation\nSecurity Measures\nAccess Control\nPassword Protection:\nSecure storage\nHash algorithms\nSalt management\nUpdate procedures\nToken Security:\nCryptographic strength\nExpiration handling\nRevocation mechanisms\nUsage limitations\nAudit Requirements\nLogging:\nLogin attempts\nToken generations\nAdministrative actions\nReset attempts\nAudit Trail\nTimestamp recording\nAction attribution\nSuccess/failure status\nIP address tracking\nEmergency Procedures\nSystem Reset\nPrerequisites\nAccess to reset script\nAuthentication requirements\nBackup verification\nImpact assessment\nExecution Process:\nSafety checks\nBackup procedures\nReset execution\nSystem verification\nRecovery Procedures\nAccess Recovery:\nPassword reset process\nToken regeneration\nSystem state verification\nAccess restoration\nMonitoring and Alerts\nSecurity Events\nFailed login attempts\nToken misuse\nInitialization attempts\nReset attempts\nSystem State\nInitialization status\nToken validity\nSystem integrity\nAccess patterns\nImplementation Guidelines\nCommand Line Interface\nState Management\nUse atomic operations for state changes\nImplement state persistence\nInclude state verification\nMaintain state history\nReferences\nOWASP Authentication Guidelines\nNIST Digital Identity Guidelines\nNotes\nRegular testing of reset procedures is required\nDocument all emergency procedures\nTrain administrators on proper usage\nRegular audit of access patterns\nReview and update procedures periodically\nWarning\nThe factory reset capability should be strictly controlled and documented.\nAccidental execution could result in complete system reset and data loss.\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0008/","title":"ADR-0008: Administrative Access Control System"},"https://spike.ist/architecture/adrs/adr-0009/":{"body":"ADR-0009: Multi-Administrator Support System\nStatus: accepted\nDate: 2024-11-03\nTags: Security, Administration, Disaster Recovery\nContext\nThe system needs to support multiple administrators with different levels of\naccess and responsibilities. We need to:\nAllow delegation of administrative tasks\nSupport different administrative roles\nImplement fine-grained access control\nMaintain audit trails\nSupport tenant isolation\nHandle emergency access scenarios\nDecision\nWe will implement a hierarchical multi-admin system with policy-based access\ncontrol:\nAdministrative Hierarchy\nInitial admin has super-admin privileges\nAbility to create and manage other admin accounts\nPolicy-based access control for different admin roles\nAccess Control\nRole-based access control (RBAC)\nTenant-based isolation\nFine-grained permissions\nTemporary token-based authentication\nConsequences\nPositive\nDistributed administrative responsibilities\nClear separation of duties\nTenant data isolation\nGranular access control\nImproved audit capabilities\nSupport for different administrative personas\nReduced single-admin bottleneck\nEnhanced security through the principle of least privilege\nNegative\nIncreased system complexity\nMore complex policy management\nAdditional overhead in user management\nNeed for policy coordination\nIncreased training requirements\nMore complex authorization logic\nImplementation Requirements\nUser Management\nAdmin Creation\nUsername/password management\nRole assignment\nPolicy association\nTenant assignment\nAuthentication\nIndividual login credentials\nPersonal access tokens\nToken lifecycle management\nSession management\nPolicy Management\nPolicy Definition\nRead/Write permissions\nResource access levels\nTenant boundaries\nEmergency access rights\nPolicy Enforcement\nReal-time permission checking\nToken validation\nResource access control\nTenant isolation\nAdministrative Roles\nSuper Admin\nUser management\nPolicy creation\nSystem-wide access\nEmergency procedures\nTenant Admin:\nTenant-specific access\nResource management\nUser management within tenant\nLimited policy modification\nAuditor:\nRead-only access\nAudit log access\nReport generation\nCompliance monitoring\nEmergency Admin:\nBreak-glass procedures\nTemporary elevated access\nEmergency restoration capabilities\nAccess Control Implementation\nRBAC Structure\nRole Definitions\nPermission Mapping:\nTenant Isolation\nResource Segregation\nTenant-specific namespaces\nResource ownership\nAccess boundaries\nCross-tenant protection\nAccess Patterns\nTenant-specific tokens\nScoped permissions\nResource filtering\nAccess validation\nAudit Requirements\nUser Activity\nLogin attempts\nResource access\nPolicy modifications\nUser management actions\nAudit Trail:\nTimestamp\nUser identity\nAction details\nResource affected\nAccess context\nMonitoring and Alerts\nSecurity Events:\nPolicy violations\nUnauthorized access attempts\nEmergency access usage\nCross-tenant access attempts\nAdministrative Actions:\nUser creation/modification\nPolicy changes\nPermission updates\nEmergency procedures\nEmergency Procedures\nAccess Elevation:\nTemporary privilege elevation\nApproval workflow\nTime-limited access\nAudit requirements\nBreak-Glass Procedures:\nEmergency access protocol\nRecovery procedures\nAudit requirements\nPost-incident review\nReferences\nNIST RBAC Guidelines\nMulti-Tenant Security Patterns\nOWASP Authorization Cheat Sheet\nCloud Security Alliance Guidelines\nNotes\nRegular policy review is required\nDocument all role definitions\nMaintain emergency access procedures\nRegular access audit recommended\nTrain administrators on policy management\nImplementation Guidelines\nCreate clear role definitions\nImplement strict tenant boundaries\nEstablish emergency procedures\nDocument all policies\nRegular access reviews\nMaintain audit logs\nTest emergency procedures regularly\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0009/","title":"ADR-0009: Multi-Administrator Support System"},"https://spike.ist/architecture/adrs/adr-0010/":{"body":"ADR-0010: Session Token Storage Strategy for SPIKE Nexus\nStatus: accepted\nDate: 2024-11-03\nTags: Security, Sessions, Memory Management, Scalability\nContext\nSPIKE Nexus requires storage of session tokens for admin authentication.\nWe need to evaluate the option of storing these tokens in-memory (as opposed\nto storing them in a database).\nKey considerations:\nSPIKE Nexus is primarily used by administrators, not end-users\nSession persistence across server restarts is not a critical requirement\nSecurity is a primary concern for the SPIKE ecosystem\nUser scale is limited (admin-focused tool)\nMemory consumption for session tokens is minimal\nDecision\nWe will implement in-memory storage for session tokens in SPIKE Nexus\ninstead of storing them in the database.\nRationale\nWhy In-Memory Storage:\nEnhanced Security\nEliminates risks associated with persistent storage\nReduces attack surface by removing database attack vectors\nAutomatic token invalidation on server restart provides a security benefit\nAligns with SPIKE’s security-first approach\nPerformance\nFaster token validation due to in-memory access\nEliminates encryption/decryption overhead\nReduces database load\nSimplicity\nSimpler implementation and maintenance\nNo need for token cleanup mechanisms\nReduces complexity in encryption management\nScale Considerations\nLimited admin users means memory impact is negligible\nSession tokens are small in size\nVertical scaling is sufficient for an admin-focused tool\nWhy Not Database Storage\nSession persistence across restarts is not a requirement\nAdditional security exposure through the database is unnecessary\nEncryption/decryption overhead is not justified\nDatabase cleanup complexity can be avoided\nConsequences\nPositive:\nImproved security posture\nSimplified implementation\nBetter performance\nReduced maintenance overhead\nNegative:\nSessions will be lost on server restart/crash\nNo persistent audit trail of sessions\nPotential minor increase in memory usage\nMay complicate future horizontal scaling if needed\nMitigations:\nClear documentation that sessions require re-authentication after a server\nrestart\nImplement proper logging for security events to compensate for lack of\nsession history\nMonitor memory usage in production\nConsider distributed caching solutions if horizontal scaling becomes\nnecessary\nImplementation Notes\nUse thread-safe in-memory data structure for token storage\nImplement session timeout mechanism\nAdd monitoring for memory usage\nInclude proper logging for security-relevant events\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0010/","title":"ADR-0010: Session Token Storage Strategy for SPIKE Nexus"},"https://spike.ist/architecture/adrs/adr-0011/":{"body":"ADR-0011: PostgreSQL as SPIKE’s Backing Store\nStatus:\nSuperseded by ADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nDate: 2024-11-07\nHistory:\n2024-11-04: Accepted\n2024-11-07: Superseded by ADR-0013\nTags: Database, Persistence, Storage, Backup\nContext\nSPIKE needs a reliable, secure, and performant backing store to maintain\nvarious types of encrypted data, including:\nRoot keys (encrypted with admin password)\nAdmin tokens (encrypted with root key)\nSecrets (encrypted with root key)\nThe system requires:\nStrong data consistency and ACID transactions\nSupport for binary data storage (for encrypted keys and secrets)\nAdvanced data types and indexing capabilities\nRobust access control and security features\nAudit logging capabilities\nSchema management and version control\nDecision\nWe will use PostgreSQL as the exclusive backing store for SPIKE,\nwith SPIKE Nexus being the only client with direct database access.\nRationale\nSecurity Features\nNative support for encryption at rest\nFine-grained access control\nSSL support for encrypted connections\nBuilt-in audit logging capabilities\nData Integrity:\nACID compliance\nStrong consistency model\nNative support for UUID, JSONB, and bytea types\nConstraints and triggers for data validation\nPerformance:\nEfficient indexing for binary and text data\nGood performance with both read and write operations\nMature query optimizer\nSupport for concurrent access\nOperational Benefits:\nWide industry adoption\nExtensive tooling ecosystem\nStrong community support\nWell-documented backup and recovery procedures\nFree and open-source\nConsequences\nPositive\nSimplified architecture with a single source of truth\nReliable data persistence and consistency\nBuilt-in support for all required data types\nEasy integration with existing backup and monitoring tools\nNo additional licensing costs\nNegative\nLimited to PostgreSQL-specific features\nTeam needs to maintain PostgreSQL expertise\nSingle database deployment could be a bottleneck\nMigration complexity if database change is needed in the future\nMitigations\nUse database-agnostic SQL where possible\nImplement connection pooling\nPlan for regular maintenance windows\nDocument all PostgreSQL-specific features used\nImplementation Notes\nSPIKE Nexus can use prepared statements to prevent SQL injection\nAll sensitive data will be encrypted before storage\nRegular backups will be configured\nMonitor database performance metrics\nImplement connection pooling for scalability\nConsequences\nPositive\nSimplified architecture with a single source of truth\nReliable data persistence and consistency\nBuilt-in support for all required data types\nEasy integration with existing backup and monitoring tools\nNo additional licensing costs\nNegative\nLimited to PostgreSQL-specific features\nTeam needs to maintain PostgreSQL expertise\nSingle database deployment could be a bottleneck\nMigration complexity if database change is needed in the future\nMitigations\nUse database-agnostic SQL where possible\nImplement connection pooling\nPlan for regular maintenance windows\nDocument all PostgreSQL-specific features used\nImplementation Notes\nSPIKE Nexus will use prepared statements to prevent SQL injection\nAll sensitive data will be encrypted before storage\nRegular backups will be configured\nMonitor database performance metrics\nImplement connection pooling for scalability\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0011/","title":"ADR-0011: PostgreSQL as SPIKE's Backing Store"},"https://spike.ist/architecture/adrs/adr-0012/":{"body":"ADR-0012: HTTP Methods for SPIKE API\nStatus: accepted\nDate: 2024-11-04\nTags: API, TLS, Semantics, Network, Operations\nContext\nSPIKE is a Secrets Management system that provides an HTTP API for CRUD\noperations. The system integrates with SPIFFE/SPIRE for identity management\nand authentication.\nWhen designing the API, we needed to determine how to handle HTTP methods for\ndifferent operations while maintaining security and preventing unwanted\ncaching of sensitive data.\nKey considerations:\nPrevention of URL caching for security purposes\nDesire for consistent request structure\nNeed to maintain semantic clarity of operations\nIntegration with proxy servers and security infrastructure\nAuditability and debugging capabilities\nDecision\nWe will:\nUse HTTP POST method for all API operations (Create, Read, Update, Delete)\nEncode the operation type in the URL query parameter using action=\nInclude all operation parameters in the request body\nExample URLs:\nConsequences\nPositive\nPrevents sensitive data from being cached in URLs\nAvoids sensitive data appearing in server logs\nProvides consistent request structure for all operations\nSimplifies client implementations by using a uniform HTTP method\nMakes operation type visible in URL for auditing without exposing sensitive data\nWorks well with proxies that might restrict certain HTTP methods\nMaintains clear operation semantics through URL parameters\nNegative\nDeviates from REST architectural principles\nMay surprise developers expecting traditional REST endpoints\nCould complicate integration with some REST-focused tools\nURL routing is slightly more complex due to query parameter handling\nNeutral\nOperation type moved to query parameter instead of HTTP method\nNeed to handle invalid/missing action parameters\nAlternatives Considered\nTraditional REST approach with different HTTP methods\nRejected due to caching concerns and desire for consistency\nUsing path parameters instead of query parameters\nRejected to maintain the existing implementation pattern\nGraphQL-style single endpoint\nRejected as overly complex for current needs\nCompliance\nThis decision maintains compliance with security best practices while providing\na usable API interface. It aligns with the security-first approach required for\na Secrets Management system.\nReferences\nSPIFFE\nSPIRE\nHTTP Method Definitions\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0012/","title":"ADR-0012: HTTP Methods for SPIKE API"},"https://spike.ist/architecture/adrs/adr-0013/":{"body":"ADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nStatus:\naccepted\nSupersedes ADR-0011: PostgreSQL as SPIKE’s Backing Store\nDate: 2024-11-07\nTags: Storage, Authorization, Policy, S3, MinIO\nContext\nSPIKE needs a reliable, secure, and performant backing store to maintain encrypted\ndata including:\nRoot keys (encrypted with admin password)\nAdmin tokens (encrypted with root key)\nSecrets (encrypted with root key)\nThe system requires:\nSecure storage of encrypted blobs\nPath-based access control\nAudit logging capabilities\nFlexible deployment options (cloud and on-premises)\nIntegration with existing identity providers\nAfter further analysis, we recognized that our secrets storage model closely\nresembles object storage patterns, where:\nSecrets are essentially encrypted blobs\nAccess is path-based\nAuthorization decisions are made at the path level\nStorage and retrieval operations are simple CRUD operations\nDecision\nWe will use S3-compatible storage systems (AWS S3, MinIO) as the backing\nstore for SPIKE, leveraging their native policy engines for access control.\nRationale\nAuthorization Model\nS3’s IAM/policy engine is battle-tested and well-understood\nPath-based policies align perfectly with SPIKE’s access patterns\nEliminates the need to build and maintain a custom policy framework\nPolicies can be managed through existing tools and processes\nStorage Capabilities\nExcellent for blob storage (our encrypted secrets)\nStrong consistency guarantees (especially with newer S3 versions)\nBuilt-in versioning support\nCross-region replication options\nExcellent scalability characteristics\nOperational Benefits\nMultiple implementation options:\nAWS S3 for cloud deployments\nMinIO for on-premises deployments\nOther S3-compatible systems for special cases\nRich ecosystem of tools and utilities\nRobust backup and lifecycle management\nBuilt-in metrics and monitoring\nCost-effective for our access patterns\nSecurity Features\nNative encryption at rest\nSSL/TLS support\nIntegration with various identity providers\nBuilt-in audit logging\nObject versioning for recovery\nConsequences\nPositive\nSimplified architecture by using the storage system’s native policy engine\nReduced code complexity in SPIKE\nBetter separation of concerns (storage/policy vs. application logic)\nFlexibility in deployment options (cloud or on-prem)\nFuture-proof: Can adopt better policy engines (e.g., OPA) without changing\nthe storage layer\nBuilt-in versioning and audit capabilities\nNegative\nDependent on S3 API compatibility\nMay need to implement additional caching layer for performance\nLimited by S3’s eventual consistency model for some operations\nNeed to ensure policy engine capabilities are consistent across different\nS3 implementations\nMitigations\nImplement abstraction layer to handle S3 implementation differences\nDocument consistency requirements and guarantees\nRegular testing with different S3-compatible systems\nImplementation Notes\nStorage Pattern\nMemory is the primary storage medium\nS3 serves dual purposes:\nAuthorization source (via IAM/policies)\nPersistent backup store\nWrite pattern:\nCheck S3 policy authorization\nIf authorized, write to memory\nAsynchronously write to S3 for persistence\nRead pattern:\nCheck S3 policy authorization\nIf authorized, serve from memory\nOnly read from S3 during cold starts or recovery\nfor non-HA deployments\nfor HA deployments, the design will need to be adjusted\nDelete pattern:\nCheck S3 policy authorization\nIf authorized, remove from memory\nMark as deleted in S3 (using versioning)\nStorage Layer\nUse AWS SDK for S3 operations\nImplement the storage interface that can work with any S3-compatible system\nEncrypt all data before storage\nUse versioning for secret history\nCaching Strategy\nImplement in-memory cache for performance\nCache only after confirming S3 permissions\nClear cache on policy changes\nImplement TTL for cached items\nPolicy Management\nUse a native S3 policy format\nDocument common policy patterns\nProvide helper utilities for policy creation\nTest policies across different S3 implementations\nFuture Considerations\nIf more complex policy requirements emerge, we can:\nContinue using S3 for storage\nIntegrate OPA or similar for advanced policy evaluation\nKeep existing S3 policies as coarse-grained control\nReferences\nAWS S3 Policy Documentation\nMinIO Security Guide\nOPA (Open Policy Agent) Documentation\nNotes\nThis approach keeps SPIKE lean and focused while leveraging battle-tested\ncomponents for storage and authorization. By using S3’s native policy engine\ninitially, we avoid premature optimization while maintaining the flexibility to\nadopt more sophisticated policy engines like OPA if needed in the future.\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0013/","title":"ADR-0013: S3-Compatible Storage as SPIKE's Backing Store"},"https://spike.ist/architecture/adrs/adr-0014/":{"body":"ADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nStatus: accepted\nDate: 2024-11-15\nTags: Persistence, Storage, SQLite, File-System\nContext\nSPIKE currently uses SQLite as its backing store for secret management. There\nis a proposal to implement a file-system-based backing store as an alternative\nstorage solution. SPIKE uses SPIFFE as its identity control plane for\nauthentication and authorization.\nThe key considerations are:\nSQLite is already implemented and proven to work well for SPIKE’s needs\nSQLite itself is fundamentally a file-system-based database\nA new file-system backing store would need to implement similar functionality\nBoth solutions ultimately interact with the filesystem at their core\nDecision\nWe will maintain SQLite as the primary storage backend and not implement a\nseparate file-system-based storage solution.\nRationale\nTechnical Advantages of SQLite\nFile-System Foundation: SQLite already operates directly on the file\nsystem, using efficient file I/O operations. As per SQLite’s documentation,\nit competes directly with fs.open() for performance.\nACID Compliance: SQLite provides built-in:\nAtomicity for operations\nConsistency in data storage\nIsolation for concurrent operations\nDurability of stored data\nProven Security: SQLite has undergone extensive security auditing and\nhas a well-understood security model.\nImplementation Considerations\nRedundant Development: Creating a separate file-system store would:\nDuplicate existing functionality\nRequire implementing concurrent access controls\nNeed additional security auditing\nRequire new testing infrastructure\nMaintenance Overhead: Supporting two storage backends would:\nIncrease maintenance complexity\nRequire maintaining two sets of documentation\nComplicate troubleshooting\nPotentially create inconsistencies in behavior\nPerformance\nSQLite is highly optimized for the types of operations SPIKE performs\nThe overhead of SQLite compared to direct file system operations is\nnegligible for SPIKE’s use case\nSQLite’s page cache provides performance benefits that would need to be\nre-implemented in a file-system solution\nConsequences\nPositive\nReduced development effort and maintenance burden\nContinued use of a well-tested, secure storage solution\nSimplified codebase and deployment\nConsistent behavior across deployments\nNegative\nLess flexibility in storage formats\nContinued dependency on SQLite\nPotential perception of over-engineering for simple storage needs\nMitigations\nDocument SQLite’s role as a file-system interface\nMaintain clear interface boundaries for potential future storage implementations\nMonitor performance and storage requirements to validate continued suitability\nRelated Documents\nSQLite Documentation\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0014/","title":"ADR-0014: Maintaining SQLite as SPIKE's Primary Storage Backend"},"https://spike.ist/architecture/adrs/adr-0015/":{"body":"ADR-0015: Use Singular Form for File and Package Naming\nStatus: accepted\nDate: 2024-11-18\nTags: Convention, Naming, Go\nContext\nOur codebase needs consistent naming conventions for Go files and packages.\nWhile Go has a strict convention for package names (singular), file naming is\nless standardized. This inconsistency can lead to maintenance overhead and\ncognitive load when working with the codebase.\nDecision\nWe will use singular form for both file names and package names unless\nusing a plural form provides clear additional clarity or disambiguation.\nExamples:\nentity.go over entities.go\nuser.go over users.go\nconfig.go over configs.go\nExceptions are allowed when:\nPlural form better represents the file’s contents (e.g., constants.go for a\nfile containing only constants)\nDisambiguation is needed (e.g., users_api.go vs user_model.go)\nConsequences\nPositive\nConsistent with Go’s package naming convention\nReduces decision overhead\nEasier maintenance and navigation\nAligns with Go standard library practices\nNegative\nMay require renaming existing files\nSome edge cases may require team discussion\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0015/","title":"ADR-0015: ADR-0015: Use Singular Form for File and Package Naming"},"https://spike.ist/architecture/adrs/adr-0016/":{"body":"ADR-0016: Memory-First Secrets Store\nStatus:\nSuperseded by ADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availabilitye\nDate: 2025-08-23\nHistory:\n2024-12-22: Accepted\n2025-08-23: Superseded by ADR-0024\nTags: Security, Operations, Storage, Performance, Scalability\nContext\nSPIKE keeps secrets in the memory of SPIKE Nexus by design. The secrets\nare encrypted and backed up to a secondary backup storage; however, the primary\nsource of truth is the in-memory store.\nThis is an efficient mechanism to store application secrets (e.g.,\nAPI keys, certificates, even relatively beefy Kubeconfig files).\nHowever, we need to maintain certain requirements for SPIKE to be a\nproduction-grade secure, reliable, and robust secrets store:\nOur requirements include:\nHigh-Performance Access: Secrets should be rapidly retrievable with\nminimal latency.\nRobust Backup and Recovery: The system should persist data safely and\nrecover quickly from crashes.\nSecurity: Restrict access to secrets via path-based policies and protect\ndata at rest via encryption.\nAuditability: Record all read/write operations for compliance and\nmonitoring.\nScalability: The system should handle up to hundreds of thousands of\nsecrets.\nHigh Availability: Provide read replicas for scaling reads and failover\nstrategies.\nWe considered disk-only, disk-first, cloud-storage-only\n(like AWS S3) and cloud-storage-first solutions and decided a memory-first\nsecrets store with a reliable back-up mechanism is the best fit for SPIKE.\nDecision\nSPIKE will be an in-memory secrets store with the following characteristics:\nIn-Memory Data: The primary data store resides in RAM, offering\nnear-instant reads and writes.\nPeriodic Backup: An encrypted backing store (SQLite, Postgres DB, or an\nS3-compatible interface) will serve as a backup. The system uses exponential\nretries to ensure data persistence.\nHardened Container: The service is recommended to run in a hardened\ncontainer or sandbox with minimal OS surface area, reducing the likelihood of\nroot compromise.\nPath-Based Access Controls: Secrets are organized hierarchically\n(for, e.g., /secrets/acme/*). Only specific roles/tokens can access their\nrespective paths.\nReplication: A primary read-write store with read-only replicas. These\nreplicas can be promoted or re-hydrated if the primary fails.\nAuditing: All secret operations (reads, writes, deletes) are logged to\nan audit trail for compliance and investigation.\nRationale\nPerformance: In-memory data reduces latency compared to purely\ndisk-backed solutions.\nBackup Safety: The secondary backup (encrypted at rest) mitigates memory\nvolatility by allowing the system to recover from unexpected crashes or\nrestarts.\nSecurity:\nHardened Container: Minimizes OS-level attack surface.\nEncryption at Rest: Protects offline backups if the disk is compromised.\nPath-Based Policies: Enforces the principle of least privilege.\nAuditing: Aids in compliance and detection of unauthorized access.\nScalability: Storing thousands or even hundreds of thousands of secrets\nin memory is feasible with proper resource planning.\nConsequences\nPositive Outcomes\nPerformance Gain: Ultra-fast secrets retrieval for latency-sensitive\napplications.\nBackup Resilience: Encrypted disk backups reduce permanent data loss\nif the container restarts.\nFine-Grained Control*: Path-based policies and an internal auditing\nmechanism meet security and compliance needs.\nTrade-Offs and Risks\nIn contrast to our decision, here are some benefits of using a database (or a\nremote object storage) as the single source of truth:\nSecurity and Persistence: Using an encrypted database as the source of truth\nensures that secrets are securely stored and persist across system restarts\nor crashes. Though with frequent forced writes, the risk of data loss is\nminimized and can further be mitigated by using mechanisms like message queues.\nScalability: Databases can handle growth more effectively, allowing\nthe system to accommodate the increasing number of secrets without a\nsignificant redesign. Again, this is a non-issue because if you have to store\nmillions of secrets, then you need to review your architecture anyway. In an\nideal world, the only secret an app needs are PKI certificates (like SVIDs) as\nthey can uniquely identify the app.\nSimplicity: A single source of truth simplifies the architecture, making\nthe system easier to develop and maintain. To counter this, SPIKE Nexus’\ncurrent architecture is simple enough to maintain and develop. We have\nabstracted exponential backoff and retry mechanisms to the storage layer, and\nonce we have adequate abstractions, the maintainability of the system will\nbe equivalent to a database-as-the-single-source-of-truth system. Besides,\nat the cost of simplicity, we lose performance and will have to implement\nadditional caching mechanisms to mitigate latency, which will add complexity\nand result in an equally complex system. There is no free lunch.\nHere are some other liabilities of a memory-first secrets store:\nCrash Consistency: Potential for a small window of data loss if the system\ncrashes just before backup.\nMitigation: frequent or near-synchronous write-through.\nFailover Complexity: Replication and promotion logic must be robustly\nimplemented to handle node failures seamlessly.\nMemory as an Additional Attack Surface:\nWhile ephemeral in-memory storage can mitigate certain disk-theft scenarios,\nmemory itself can be inspected if an attacker gains OS-level access.\nThat’s why hardening the container and ensuring proper access controls are\ncrucial. SPIKE assume the machine as the trusted boundary. So, if the\nmachine is compromised, the secrets are considered compromised as well.\nReferences\nKubernetes Secrets Management Best Practices\nHashiCorp Vault High-Availability Reference\nSQLite Encryption Extension Documentation\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0016/","title":"ADR-0016: Memory-First Secrets Store"},"https://spike.ist/architecture/adrs/adr-0017/":{"body":"ADR-0017: Synchronous Persistence for SPIKE Secrets Store\nStatus:\nSuperseded by ADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availabilitye\nDate: 2025-08-23\nHistory:\n2025-01-25: Accepted\n2025-08-23: Superseded by ADR-0024\nTags: Security, Persistence, Database, Backing-Store, Performance\nContext\nSPIKE is a Secrets Store that can use an SQLite backing store (among other\nbacking store options) to persist secrets. However, the source of truth for\nthe secrets is held in memory. SQLite is primarily used as a backup to rehydrate\nsecrets in case the secrets store crashes or needs to be recovered.\nPersistence operations were initially designed to be asynchronous, using methods\nlike AsyncSaveSecret(), to minimize blocking and improve performance. However,\nthis design has introduced unnecessary complexity, race conditions, and edge\ncases, with no significant benefit to the overall system. SQLite, being fast and\nlightweight, already offers sufficient performance without the need for\nadditional asynchronous operations.\nProblem\nThe asynchronous approach to persistence introduces the following issues:\nIncreased complexity: Asynchronous operations, while designed to improve\nperformance, add complexity to the system, making it harder to reason about\nand troubleshoot.\nRace conditions and edge cases: The asynchronous operations have led to\npotential race conditions, which compromise the system’s reliability.\nDebugging difficulty: To avoid the race conditions above, we could have\nused abstractions, including Go channels. However, using Go channels and\nasynchronous operations creates challenges for debugging, as tracking state\ntransitions becomes non-trivial.\nGiven that SQLite is already fast enough for our needs, the performance benefit\nof using asynchronous operations is minimal. As a result, we no longer see a\nsignificant justification for using asynchronous persistence operations in\nthis context.\nDecision\nSynchronous Persistence: All database persistence operations will now be\nsynchronous.\nJustification: Since SQLite is fast enough, and we are not seeing\nperformance bottlenecks at the database level, the simplicity of synchronous\noperations outweighs the potential complexity of maintaining asynchronous\nones.\nExpected Outcome: This decision reduces the complexity of the codebase,\neliminates the potential for race conditions, and makes the system easier\nto debug and maintain. We will continue to monitor for any performance\nimpact that might arise due to this decision.\nFallback to Async if Performance Issues Arise: In the unlikely event that\nwe observe significant performance issues with synchronous operations, we\nwill consider optimizing specific areas locally.\nOptimization Strategy: If performance degradation is observed, we will\nexplore optimization options such as local caching, batching of persistence\noperations, or fine-tuning SQLite settings. Asynchronous operations may be\nreintroduced selectively in these cases.\nConsequences\nReduced Complexity: By removing asynchronous operations, the system will\nbe simpler and easier to maintain, with fewer edge cases and race conditions\nto handle.\nPerformance Tradeoff: Synchronous operations may result in slight\nperformance degradation if there is a heavy load on the persistence layer.\nHowever, this is unlikely given the current design and SQLite’s speed.\nEasier Debugging: The synchronous model simplifies debugging, as there are\nno concurrent operations that need to be tracked.\nAlternatives Considered\nAsync Persistence: We initially considered keeping asynchronous operations\nto prevent blocking and improve performance. However, this would introduce\ncomplexity that isn’t justified by the system’s current requirements and\nSQLite’s speed.\nGo Channels for Sync Operations: Using Go channels to handle\nsynchronization in asynchronous operations was also considered, but it would\nincrease debugging complexity and not address the core issue effectively.\nThis ADR will be revisited if performance issues arise, but for now, the shift\nto synchronous persistence aligns with the goal of simplifying the codebase and\nimproving system stability.\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0017/","title":"ADR-0017: Synchronous Persistence for SPIKE Secrets Store"},"https://spike.ist/architecture/adrs/adr-0018/":{"body":"ADR-0018: Administrative Access to SPIKE\nStatus: accepted\nData: 2025-02-20\nTags: Security, Administrative-Access, SPIFFE, IDM, DR\nContext\nSPIKE requires a robust and secure administrative access model to balance\noperational flexibility, security, and auditability. To achieve this,\nSPIKE defines three predefined roles for emergency Disaster Recovery (DR)\nand superadmin access, while delegating named administrative access to an\nexternal identity management system.\nDecision\nRole-Based Administrative Access\nAdministrative access in SPIKE is granted using specific SPIFFE IDs:\n*spiffe://$trustRoot/spike/pilot/role/superuser - Super Admin:\nCan perform all administrative tasks except recovery or restore operations.\n*spiffe://$trustRoot/spike/pilot/role/recover - Recovery User:\nCan only recover the root key shards to the local file system.\n*spiffe://$trustRoot/spike/pilot/role/restore - Restore User:\nCan only restore the root key by providing one shard at a time.\nThis role separation ensures that:\nDifferent users can have distinct operational responsibilities. For example,\nan operator responsible for system restoration cannot modify access policies\nfor secrets.\nThe separation enhances auditability, allowing clear tracking of actions\ntaken by different roles.\nAdditionally:\nOnce the system is initialized, accidental re-initialization is prevented.\nIn emergencies, an out-of-band script can be used to perform a\nfactory reset of SPIKE.\nMulti-Admin Support via External Identity Management\nBeyond the three predefined roles (superuser, recover, restore), named admin\naccess to SPIKE will be managed through an external identity provider, such\nas an OIDC (OpenID Connect) provider.\nHere’s the reasoning:\nSPIKE focuses on secure and efficient secret storage, not authentication.\nAccess control and identity management are better delegated to established\nidentity standards like OIDC.\nThis approach ensures compatibility with enterprise authentication policies\nand simplifies integration with existing IAM solutions.\nConsequences\nSecurity: The predefined SPIFFE-based roles provide a minimal attack\nsurface for core administrative functions, while OIDC integration ensures\nscalability and proper identity management.\nAuditability: Separation of concerns ensures that different roles have\nclearly defined privileges, improving traceability and compliance.\nFlexibility: Organizations can define additional admin roles through\ntheir preferred external identity provider without modifying SPIKE’s core\narchitecture.\nAlternatives Considered\nFully SPIFFE-Based Admin Management\nRejected due to scalability concerns. Managing multiple administrators\ndirectly within SPIKE would introduce unnecessary complexity.\nNo Role Separation\nRejected for security and compliance reasons. A single admin role would\nlack the necessary granularity for controlled recovery and restore operations.","id":"https://spike.ist/architecture/adrs/adr-0018/","title":"ADR-0018: Administrative Access to SPIKE"},"https://spike.ist/architecture/adrs/adr-0019/":{"body":"ADR-0019: Plugin-Based Storage Backend Architecture\nStatus: proposed\nDate: 2024-02-20\nTags: Persistence, Storage, Plugins, Architecture\nRelated: ADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nContext\nFollowing ADR-0014’s decision to maintain SQLite as\nSPIKE’s primary storage backend, we recognize the need for flexibility in\nstorage solutions for different deployment scenarios. Some deployments\nmay require:\nAlternative storage backends for enterprise environments\nSpecialized storage solutions for specific use cases\nCustom implementations for unique requirements\nIn-memory storage for development and testing\nDecision\nWe will implement a plugin-based architecture for storage backends while\nmaintaining SQLite as the default implementation. This architecture will:\nDefine a clear storage interface that all backends must implement\nProvide official plugins for common use cases\nEnable third-party plugin development\nMaintain backward compatibility with existing SQLite implementations\nRationale\nPlugin System Benefits\n1. Extensibility:\nUsers can implement custom storage solutions\nThird-party developers can contribute new backends\nSpecialized solutions can be developed without modifying core code\n2. Maintainability:\nThe core codebase remains focused on primary functionality\nPlugins can be maintained independently\nTesting and validation can be scoped to specific implementations\n3. Deployment Flexibility:\nDifferent environments can use appropriate storage solutions\nMigration between backends becomes possible\nDevelopment and testing can use simplified implementations\nOfficial Plugin Scope\n1. Core Implementation:\nSQLite (default backend, ships with core)\nIn-memory (for development and testing)\n2. Additional Official Plugins:\nPostgreSQL\nS3/MinIO compatible storage\nInterface Requirements\nStorage plugins must implement:\n1. Core Operations:\nCRUD operations for secrets\nAtomic transactions\nConcurrent access handling\nError handling and recovery\n2. Security Features:\nAccess control integration\nAudit logging support\n3. Management Functions:\nHealth checks\nBackup/restore capabilities\nMigration tools\nImplementation\nPlugin Architecture\nHere is a sample structure for the plugin architecture. Note that this is\na starting point and it will likely be subject to change.\nConsequences\nPositive\nIncreased flexibility for different deployment scenarios\nClear path for community contributions\nSimplified testing with in-memory implementation\nBetter separation of concerns\nNegative\nAdditional complexity in plugin management\nNeed for plugin validation and security review\nPotential for incompatible plugin implementations\nDocumentation overhead for multiple backends\nMitigations\nPlugin Validation:\nProvide comprehensive test suites\nImplement plugin verification tools\nDocument security requirements\nCompatibility:\nVersion plugin interface explicitly\nProvide migration tools between backends\nMaintain compatibility tests\nDocumentation:\nClear plugin development guidelines\nExample implementations\nBest practices documentation\nRelated Documents\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nPlugin Development Guide (To be created)\nStorage Interface Specification (To be created)\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0019/","title":"ADR-0019: Plugin-Based Storage Backend Architecture"},"https://spike.ist/architecture/adrs/adr-0020/":{"body":"ADR-0020: Switch to Zola for Documentation System\nStatus:\naccepted\nSupersedes: ADR-0002: Use Docsify for Documentation System\nDate: 2024-02-20\nTags: Documentation\nContext\nWhile Docsify has served our documentation needs, we’ve identified several\nlimitations:\n*\nSEO capabilities are limited due to client-side rendering\nPerformance is dependent on JavaScript execution\nTemplate customization options are restricted\nPage load times can be impacted by the single JavaScript parser\nWe need a documentation system that addresses these limitations while\nmaintaining the benefits of our current system.\nDecision\nWe will switch to Zola as our documentation system, replacing\nDocsify.\nRationale\nZola offers several advantages that align better with our current needs:\nStatic site generation provides better SEO capabilities\nNo JavaScript dependency for core functionality\nFlexible templating system using Tera\nFast build times due to being written in Rust\nDirect rendering to HTML improves page load performance\nMaintains support for Markdown-based content\nBuilt-in syntax highlighting and search capabilities\nConsequences\nPositive\nImproved SEO through static HTML generation\nBetter performance due to pre-rendered content\nMore flexible templating and customization options\nNo JavaScript requirement for core functionality\nFaster page loads\nMaintains Git-based workflow\nSyntax highlighting is out of the box\nBuilt-in search functionality\nClear separation between content and presentation\nNegative\nRequires a build step (though builds are very fast)\nTeam needs to learn Zola-specific templating syntax\nMigration effort required for existing documentation\nNeed to set up a build pipeline for documentation deployment\nReferences\nZola Documentation\nADR-0002: Use Docsify for Documentation System (superseded)\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0020/","title":"ADR-0020: Switch to Zola for Documentation System"},"https://spike.ist/architecture/adrs/adr-0021/":{"body":"ADR-0021: SPIKE Keeper as a Stateless Shard Holder\nStatus: accepted\nDate: 2025-03-01\nTags: Stateless, Availability, Resilience, Fault-Tolerance\nContext\nSPIKE Nexus is the core secret store that generates and manages the\nroot encryption key. To ensure availability and resilience, the root key\nis sharded using Shamir’s Secret Sharing Scheme and distributed to multiple\nSPIKE Keeper instances. These SPIKE Keepers are responsible for holding\ntheir respective key shards in memory to support the recovery process in\ncase SPIKE Nexus needs to reconstruct its root key.\nA key design principle in SPIKE is simplicity and minimalism:\nThe SPIKE Keeper component should remain as lightweight as possible,\navoiding unnecessary complexity such as awareness of Nexus, complex\nconfiguration, or inter-Keeper communication. Instead, SPIKE Nexus should\nmaintain full control over key management while leveraging SPIKE Keepers\nas dumb storage units for key shards.\nDecision\nSPIKE Keepers remain stateless and unaware of SPIKE Nexus:\nSPIKE Keepers do not need to know which SPIKE Nexus instance they are\nserving.\nThey store their assigned key shard in-memory and do not persist in any\nstate.\nZero configuration for SPIKE Keepers:\nSPIKE Keepers have no static configuration files or runtime parameters\nrelated to SPIKE Nexus.\nDeployment should be as simple as running a SPIKE Keeper instance without\nadditional setup.\nSPIKE Nexus is responsible for lifecycle management:\nSPIKE Nexus generates the root key, sharding it and distributing the\npieces to SPIKE Keepers.\nSPIKE Nexus polls Keepers to check their health and ensure that a quorum\nis available.\nIf a SPIKE Keeper goes down and restarts, SPIKE Nexus is responsible\nfor rehydrating it with the correct key shard.\nPolling-based health monitoring and rehydration:\nSPIKE Keepers do not initiate communication with SPIKE Nexus.\nInstead, SPIKE Nexus periodically queries SPIKE Keepers for their\nstatus.\nIf a SPIKE Keeper is found to be empty (e.g., after a restart),\nSPIKE Nexus reassigns the missing shard.\nRationale\nSecurity: SPIKE Keepers hold only a single shard, which is not\nadequate to regenerate the root key. They are never aware of other\nSPIKE Keepers or the full key. This limits their attack surface.\nSimplicity: By removing configuration and inter-service dependencies,\nSPIKE Keepers become easy to deploy, replace, and scale.\nAvailability: The polling and rehydration mechanism ensures that\nSPIKE Nexus* can automatically recover lost shards without manual\nintervention.\nFault Tolerance: Stateless SPIKE Keepers can be replaced without\nrequiring reconfiguration or coordination with other components.\nConsequences\nPositive\nSimplifies Keeper deployment and operation.\nImproves security by ensuring Keepers never hold full knowledge of the system.\nEnhances reliability by making Keepers easily replaceable without system-wide\nimpact.\nReduces operational burden since SPIKE Nexus automatically manages the\nlifecycle of SPIKE Keepers and their shards.\nNegative\nSPIKE Nexus must handle additional logic for polling, health monitoring,\nand rehydration.\nSPIKE Keepers depend on SPIKE Nexus for their purpose, making them\nentirely reliant on SPIKE Nexus’ availability.\nAlternatives Considered\nSPIKE Keepers as Stateful Services:\nRejected because it adds complexity and requires persistent storage.\nWould introduce additional configuration and synchronization challenges.\nSPIKE Keepers Managing Their Own Shards:\nRejected as it violates the principle of keeping SPIKE Keepers unaware\nof the full system state.\nWould require SPIKE Keepers to store metadata about SPIKE Nexus,\nincreasing complexity and risk.\nPush-Based Shard Distribution Instead of Polling:\nRejected because it would require SPIKE Keepers to maintain knowledge of\nSPIKE Nexus.\nPolling ensures that SPIKE Keepers can remain stateless and unaware of\nthe system topology.\nDecision Outcome\nThis decision is final unless significant operational issues arise. Future\nrevisions may consider optimizations such as event-driven polling or alternative\nSPIKE Keeper designs if the current model proves inefficient at scale.","id":"https://spike.ist/architecture/adrs/adr-0021/","title":"ADR-0021: SPIKE Keeper as a Stateless Shard Holder"},"https://spike.ist/architecture/adrs/adr-0022/":{"body":"ADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Responses\nStatus: accepted\nDate: 2025-05-03\nTags: Resilience, Fault-Tolerance, Recovery, Availability\nContext\nSPIKE Nexus distributes root encryption key shards to multiple\nSPIKE Keeper instances using Shamir’s Secret Sharing Scheme.\nWhen a SPIKE Keeper doesn’t have a shard (e.g., after restart or during\ninitial deployment), it returns a 404 HTTP response to shard retrieval\nrequests from SPIKE Nexus.\nA question has arisen about the appropriate behavior when SPIKE Nexus\nreceives 404 responses from SPIKE Keeper instances:\nShould SPIKE Nexus stop polling a SPIKE Keeper after receiving a 404\nresponse?\nShould SPIKE Nexus continue polling SPIKE Keeper instances regardless\nof previous 404 responses?\nThis decision is particularly relevant in scenarios where:\nSPIKE Keeper instances may restart\nNew SPIKE Keeper instances may be deployed\nSPIKE Keeper instances may be rehydrated through alternative methods\nThe system architecture needs to support future recovery mechanisms\nDecision\nSPIKE Nexus will continue polling SPIKE Keepers even after receiving 404\nresponses.\nSpecifically:\nSPIKE Nexus will maintain a regular polling schedule for all known\nSPIKE Keeper instances, regardless of their response history.\nA 404 response from a SPIKE Keeper will be logged but will not affect the\npolling schedule.\nSPIKE Nexus will NOT remove a SPIKE Keeper from its polling list\nbased solely on 404 responses.\nSPIKE Nexus will automatically attempt to rehydrate empty\nSPIKE Keepers when possible.\nRationale\nThe primary reasons for this decision are:\nFuture Extensibility: It allows for future mechanisms to rehydrate\nSPIKE Keepers through alternative methods:\nOther SPIKE Nexus instances may seed the SPIKE Keeper\nCloning from backup SPIKE Keepers may become available\nSecure SPIKE Keeper APIs may be implemented that allow shard\nrestoration\nArchitectural Simplicity: Continuing to poll all SPIKE Keepers\nregardless of their state creates a simpler, more consistent architecture:\nNo complex logic to manage the polling schedule\nNo state to track which SPIKE Keepers should be excluded\nReduced risk of accidentally abandoning a recoverable SPIKE Keeper\nOperational Resilience: Continuous polling allows the system to\nautomatically recover when conditions change:\nSPIKE Keepers that restart will be discovered during the next polling\ncycle\nIf a previously unavailable SPIKE Keeper comes back online with a\nshard, it will be immediately useful\nNo manual intervention is required to re-enable polling\nFewer Assumptions: This approach makes fewer assumptions about the future\nstate of the system:\nDoes not assume a 404 response means permanent unavailability\nDoes not assume the current distribution methods are the only ones possible\nAllows for unanticipated recovery scenarios\nConsequences\nPositive\nSystem can automatically recover from SPIKE Keeper restarts without manual\nintervention\nArchitecture remains simpler with fewer conditional paths and state tracking\nFuture extensibility is preserved for new recovery mechanisms\nConsistent behavior across all SPIKE Keeper instances\nReduced operational burden for managing the system\nNegative\nSlightly increased network traffic due to polling SPIKE Keepers that may\nremain empty\nPotential resource usage for maintaining connections to SPIKE Keepers that\nconsistently return 404\nAdditional log entries for expected 404 responses\nMay mask actual problems if a SPIKE Keeper is consistently unavailable for\nother reasons\nAlternatives Considered\nStop Polling After Consistent 404 Responses\nRejected because it would require additional logic to track\nSPIKE Keeper states\nWould introduce a permanent failure mode requiring manual intervention\nWould not automatically benefit from future recovery mechanisms\nWould add complexity to the codebase\nWould create an inconsistent behavior pattern depending on response history\nEvent-Based Notification System\nRejected in favor of simple polling, though may be reconsidered in the future\nWould require SPIKE Keepers to have knowledge of SPIKE Nexus,\nviolating the design principle\nMore complex to implement and maintain\nIntroduces potential reliability issues with missed notifications\nWould conflict with ADR-0021’s principle of SPIKE Keeper as a stateless\nshard holder\nDecision Outcome\nThis decision is implemented as the standard behavior for SPIKE Nexus when\ninteracting with SPIKE Keeper instances. The continuous polling approach:\nAligns with the principle of simplicity in the SPIKE architecture\nMaintains the stateless nature of SPIKE Keepers as defined in ADR-0021\nProvides immediate recovery when SPIKE Keepers become available\nSupports future extensibility for alternative recovery mechanisms\nThe system should be monitored for any performance impacts from continuous\npolling, but the architectural benefits outweigh the minimal resource costs\nassociated with this approach.","id":"https://spike.ist/architecture/adrs/adr-0022/","title":"ADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Responses"},"https://spike.ist/architecture/adrs/adr-0023/":{"body":"ADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nStatus: accepted\nDate: 2025-07-22\nTags: Security, Operations, HA, Simplicity, SPIRE\nContext and Problem Statement\nA proposal was made to add a lock/unlock mechanism to SPIKE Nexus, allowing\noperators to globally lock the system (e.g., via a CLI or API) to prevent all\nsecret and policy operations except unlock/status. The lock state would be\npersisted in the backing store and enforced across all Nexus instances, with the\nroot key zeroed out in memory. This was intended to provide a system-wide freeze\nfor security or operational reasons.\nHowever, this approach introduces significant complexity, especially in\nhigh-availability (HA) and distributed deployments. It also creates new\noperational and security risks and may not align with SPIFFE-native best\npractices.\nDecision Drivers\nSimplicity and maintainability of the SPIKE architecture\nSecurity model alignment with SPIFFE/SPIRE\nOperational clarity and reliability in HA/distributed setups\nAvoiding unnecessary complexity and performance overhead\nLeveraging existing SPIRE mechanisms for system-level access control\nConsidered Options\nImplement a lock/unlock mechanism in SPIKE Nexus (persisted in the backing\nstore, enforced at API level)\nUse SPIRE registration entry management (delete/disable Nexus entries to “lock” the system)\nRely on infrastructure-level controls (e.g., scaling down Nexus, process management)\nDo nothing (status quo)\nDecision\nSPIKE Nexus will NOT implement a lock/unlock API or CLI feature.\nInstead, operators are recommended to achieve system-level locking by either:\nManaging SPIRE registration entries: Removing or disabling the relevant\nSPIRE registration entries for SPIKE Nexus will immediately block all\nauthenticated API access, effectively freezing the system in a secure,\nauditable, and SPIFFE-native way.\nUsing infrastructure-level controls: Scaling down the Nexus deployment,\nstopping Nexus processes, or otherwise restricting access at the\ninfrastructure level are also valid and supported approaches.\nThese methods are the supported and recommended ways to “lock” the system.\nNo additional lock/unlock API or CLI subcommand will be provided by\nSPIKE Nexus at this time.\nA sample script for SPIRE registration entry management:\nRationale\nSimplicity: Avoids introducing distributed consensus, state management,\nand API enforcement logic for a rarely used feature.\nSecurity: SPIRE registration entries are the root of trust; removing them\nis the most secure and auditable way to block access. Infrastructure controls\nare also robust and well-understood.\nOperational Clarity: The lock/unlock state is unambiguous and enforced\nat the trust boundary or infrastructure, not in application logic.\nHA/Scaling: No need for all Nexus instances to coordinate or poll a\nshared lock state, avoiding performance and reliability issues.\nSPIFFE-Native: Embraces the SPIFFE/SPIRE model for access control,\nrather than reinventing similar mechanisms in SPIKE.\nConsequences\nPositive\nSimpler, more maintainable codebase\nNo performance or reliability impact on Nexus API\nLocking is enforced at the trust boundary (SPIRE), not in application logic\nImmediate effect across all Nexus instances\nNo risk of partial lock or split-brain scenarios\nAligns with SPIFFE-native best practices\nNegative\nLocking/unlocking requires SPIRE server access (not just SPIKE operator\nprivileges)—This can be seen as a “positive” consequence, too, as it\nprovides an additional level of isolation and security.\nNo fine-grained or temporary lock state within SPIKE Nexus itself\nSome operational scenarios (e.g., “pause but keep registration”) are not\ndirectly supported\nAlternatives Considered\nImplementing Lock/Unlock in SPIKE Nexus\nRejected due to complexity, risk of split-brain, performance overhead,\nand operational ambiguity in HA setups.\nWould require distributed consensus or polling and add significant code and\noperational burden.\nInfrastructure-Level Controls\nScaling down Nexus or killing processes is effective but “nuclear” and may\ndisrupt monitoring, logging, or other integrations.\nDirect DB Manipulation\nNot recommended or supported, but possible for those with privileged access.\nNot considered a safe or auditable approach.\nDecision Outcome\nThis ADR documents the decision to rely on SPIRE registration entry management\nor infrastructure-level controls for system-level “locking” of SPIKE Nexus,\nand to avoid implementing a separate lock/unlock API or CLI feature in\nSPIKE Nexus itself.\nThis decision may be revisited if/when a true SPIKE Nexus HA topology is\nimplemented and operational experience suggests a different approach is\nwarranted.\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0023/","title":"ADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus"},"https://spike.ist/architecture/adrs/adr-0024/":{"body":"ADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nStatus: accepted\nSupersedes: ADR-0016: Memory-First Secrets Store\nSupersedes: ADR-0017: Synchronous Persistence\nDate: 2025-08-23\nTags: Security, Operations, HA, Simplicity\nContext\nSPIKE Nexus currently uses a dual-layer storage architecture where an\nin-memory cache (secretStore using kv.KV and policies using sync.Map)\nserves as the primary source of truth, with a backing store (SQLite, S3, etc.)\nproviding persistence. This design pattern follows\nADR-0016 (Memory-First Secrets Store) and\nADR-0017 (Synchronous Persistence).\nWhile this architecture provides excellent performance for single-instance\ndeployments, it creates challenges that unnecessarily increase the\narchitectural complexity of the distributed system when attempting to achieve\nhigh availability (HA) through horizontal scaling:\nCurrent Architecture Issues:\nSplit-brain scenarios: Multiple instances behind a load balancer can\nmaintain independent in-memory states, leading to inconsistent data views\nVersion drift: When instance A and instance B update the same secret\npath, they maintain different version numbers in their local memory stores\nLost updates: Without distributed locking, concurrent updates from\ndifferent instances can silently overwrite each other\nInconsistent reads: Users can receive different responses depending on\nwhich instance handles their request\nComplex synchronization: Maintaining cache coherency across instances\nwould require additional infrastructure (message buses, distributed locks,\nconsensus protocols)\nExample Scenario:\nDecision\nWe will eliminate the in-memory cache layer entirely and make all secret and\npolicy operations interact directly with the backing store.\nThis change involves:\nRemove global in-memory stores:\nComment out secretStore (kv.KV) and secretStoreMu\nComment out policies (sync.Map)\nRefactor all operations to use backend directly:\nGetSecret() → Read from persist.Backend().LoadSecret()\nUpsertSecret() → Write to persist.Backend().StoreSecret()\nwith atomic operations\nDeleteSecret() → Update backend with deletion timestamps\nSimilar changes for policy operations\nMove version management to persistence layer:\nImplement compare-and-swap (CAS) operations in the backend\nUse optimistic locking to handle concurrent updates\nMaintain version consistency at the database level\nTransform NoopStore to InMemoryStore:\nFor development/testing scenarios requiring true in-memory operation\nImplement full Backend interface using kv.KV internally\nProvide the same semantics as persistent backends\nAlternatives Considered\nDistributed cache with cache invalidation: Add Redis/Hazelcast with\npub/sub for cache invalidation. Rejected due to added complexity and\npotential for cache inconsistency windows.\nLeader-follower architecture: Elect a single leader instance to handle\nall writes. Rejected as it doesn’t provide true HA and adds complexity of\nleader election.\nDistributed locking for writes: Keep cache but use distributed locks\n(for, i.e., via etcd) for write operations. Rejected as it adds external\ndependencies and doesn’t solve read inconsistency.\nEvent sourcing: Transform to event-driven architecture with CQRS.\nRejected as it requires fundamental redesign of the entire system and brings\nunnecessary complexity.\nConsequences\nPositive\nImmediate consistency: All instances read the same data from the single\nsource of truth\nTrue high availability: Any SPIKE Nexus instance can serve any request\nwithout coordination\nSimplified architecture: Removes entire class of distributed systems\nproblems\nEasier debugging: No cache invalidation issues or cache/backend divergence\nReduced memory footprint: Instances no longer hold all secrets in memory\nAtomic operations: Version conflicts handled at database level with\nproper transactions\nNegative\nIncreased latency: Every operation now involves backend I/O (can be\nmitigated by backend proximity and connection pooling)\nHigher backend load: All reads hit the backing store (can be mitigated\nby backend scaling and potentially adding read replicas)\nBackend becomes the critical path: System availability now entirely\ndepends on backend availability (can be mitigated by using a HA backing\nstore)\nPotential thundering herd: Many instances might request the same secret\nsimultaneously after backend recovery\nNeutral\nDifferent operational characteristics: Everything (as always) is a\ntrade-off. With this new design, teams now need to monitor and scale\nthe backend appropriately\nChanged failure modes: Failures now manifest as backend errors rather\nthan cache inconsistencies\nImplementation Notes\nThe refactoring follows a systematic approach:\nComment out cache-related globals\nLet the compiler identify all broken dependencies\nUpdate each function to use backend directly\nEnsure proper error handling for I/O operations\nAdd context propagation for timeouts and cancellation\nThis change aligns with modern cloud-native patterns where stateless services\nrely on robust, scalable data stores rather than maintaining local state.\nReferences\nSupersedes: ADR-0016 (Memory-First Secrets Store)\nSupersedes: ADR-0017 (Synchronous Persistence for SPIKE Secrets Store)\nRelated: ADR-0014 (Maintaining SQLite as SPIKE’s Primary Storage Backend)\nRelated: ADR-0019 (Plugin-Based Storage Backend Architecture)","id":"https://spike.ist/architecture/adrs/adr-0024/","title":"ADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability"},"https://spike.ist/architecture/adrs/adr-0025/":{"body":"ADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nStatus: accepted\nDate: 2025-09-01\nTags: Security, Policy, Architecture, UX\nContext\nSPIKE uses path patterns in two primary contexts:\nSecret paths: Logical namespaces where secrets are stored\n(e.g., secrets/app/config)\nPolicy patterns: Regular expressions used to match secret paths\nand SPIFFE IDs for access control\nThis creates potential confusion because:\nSecret paths are not Unix filesystem paths: They are logical key\nnamespaces that happen to use slash-separated hierarchical notation for\nfamiliarity\nPolicy patterns use regular expressions: Pattern matching in policies\nuses full regex syntax, not shell globs or simple wildcards\nDocumentation and examples mix conventions: Some examples used to\nincorrectly suggest Unix path semantics or glob patterns: we have fixed\nthose in the recent documentation updates.\nThe current implementation correctly uses regular expressions for policy\nmatching, but the terminology and documentation can mislead users into thinking\nthey’re working with filesystem paths or simple glob patterns.\nDecision\nWe establish the following architectural principles for path handling in SPIKE:\n1. Secret Paths Are Key Namespaces\nSecret paths represent logical key namespaces, not filesystem paths:\nPaths SHOULD NOT start with a forward slash (/)\nPaths are relative to the secrets engine mount point\nThe slash separator (/) is used purely for hierarchical organization and\nfamiliarity\nFuture versions MAY restrict trailing slashes for consistency\nExamples:\n✅ Correct: secrets/app/config\n❌ Discouraged: /secrets/app/config\n2. Policy Patterns Use Regular Expressions\nAll pattern matching in SPIKE policies uses regular expressions:\nspiffeidPattern fields contain regex patterns, not globs\npathPattern fields contain regex patterns, not globs\nPatterns are compiled using Go’s regexp.Compile()\nFor exact matches, patterns should include ^ (start) and $ (end) anchors\nExamples:\n✅ Regex: ^secrets/app/.*$ (matches secrets/app/config, secrets/app/env, etc.)\n✅ Regex: ^spiffe://example\\.org/service$ (exact match, escaped dots)\n❌ Not glob: secrets/app/* (this is NOT a valid SPIKE pattern)\n❌ Not glob: spiffe://example.org/service* (this is NOT a valid SPIKE pattern)\n3. Terminology Clarification\nPath: Refers to secret storage locations (key namespaces)\nPattern: Refers to regular expressions used in policies for matching\nRoute or Namespace: Alternative terms that may be used to emphasize\nthe non-filesystem nature of paths\nConsequences\nPositive\nClear semantics: Users understand that paths are logical namespaces,\nnot filesystem paths\nPowerful matching: Regular expressions provide precise and flexible\npattern matching\nConsistent behavior: All pattern matching uses the same regex engine\nPredictable results: Users can test patterns using standard regex tools\nSecurity focused: Regex patterns allow for precise access control rules\nNegative\nLearning curve: Users familiar with shell globs must learn regex syntax\nComplexity: Regular expressions can be more complex than simple wildcards\nPotential errors: Incorrect regex patterns can be overly permissive or\noverly restrictive\nNeutral\nDocumentation updates: All examples and documentation will use\nthe correct terminology\nImplementation Guidelines\nFor Secret Paths\nValidation: Paths must match ^[a-zA-Z0-9._\\-/()?+*|[\\]{}\\\\]+$\nConventions: Should not start with /, should use / for hierarchy\nExamples: secrets/database/creds, config/app/production\nFor Policy Patterns\nCompilation: All patterns are compiled with regexp.Compile(pattern)\nAnchoring: Use ^ and $ for exact matches\nEscaping: Literal dots should be escaped as \\.\nTesting: Patterns can be tested using Go’s regex tools or online\nregex testers\nDocumentation Standards\nAlways refer to policy “patterns” not “paths” when discussing regex matching\nInclude regex examples with proper escaping and anchoring\nClearly distinguish between secret paths (storage keys) and policy patterns\n(regex)\nExamples\nSecret Path Examples\nPolicy Pattern Examples\nMigration Guide\nFor users transitioning from glob-style thinking:\nGlob PatternSPIKE Regex PatternNotes\nsecrets/*^secrets/[^/]*$Single level only\nsecrets/**^secrets/.*$All levels\nsecrets/app*^secrets/app.*$Prefix match\nsecrets/db-?^secrets/db-.$Single character\nsecrets/db-[123]^secrets/db-[123]$Character class","id":"https://spike.ist/architecture/adrs/adr-0025/","title":"ADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching"},"https://spike.ist/architecture/adrs/adr-0026/":{"body":"ADR-0026: Configurable Data Directory for SPIKE Components\nStatus: accepted\nDate: 2025-09-13\nTags: Configuration, Operations, Deployment\nContext and Problem Statement\nSPIKE currently hardcodes the data directory to ~/.spike for storing\nencrypted databases and recovery data. The comment in\ninternal/config/config.go:40 states this is “for security reasons,” but\nanalysis reveals this constraint provides limited security benefits while\nrestricting legitimate operational use cases.\nGiven SPIKE’s security model:\nThe backing store is always encrypted with AES-256\nSPIKE treats the backing store as untrusted\nDirectory permissions are set to 0700 regardless of location\nThe hardcoded path primarily provides operational simplicity rather than\nfundamental security guarantees.\nDecision Drivers\nDeployment flexibility for containerized environments\nSupport for multi-instance deployments\nCompliance requirements for data residency\nTesting and CI/CD pipeline needs\nMaintaining the security posture\nConsidered Options\nKeep current hardcoded approach - Maintain ~/.spike as the only option\nEnvironment variable configuration - Allow override via environment\nvariables\nConfiguration file approach - Use a configuration file for data paths\nHybrid approach - Environment variables with sensible defaults and\nvalidation\nDecision\nImplement Option 4: Hybrid approach using environment variables with\nsensible defaults and comprehensive validation.\nDetailed Design\nNew Environment Variables\nFallback Chain\nUse environment variable if set and valid\nFall back to ~/.spike (current default)\nFall back to /tmp/.spike-$USER if home directory unavailable\nValidation Rules\nThe system will validate custom paths to ensure:\nPath exists or can be created - Parent directory must exist\nProper permissions - Directory must have 0700 permissions\nWrite access - Process must be able to write to the directory\nRestricted locations - Reject problematic paths:\nSystem directories: /, /etc, /sys, /proc, /dev\nShared temp without user isolation: /tmp (without user suffix)\nWarning for risky locations - Warn but allow:\nWorld-writable directories\nNetwork mounts (when detectable)\nImplementation Example\nConsequences\nPositive\nContainer deployments - Mount persistent volumes at custom paths\nMulti-instance support - Run multiple SPIKE instances with isolation\nCompliance flexibility - Store data in specific locations for compliance\nTesting isolation - Use temporary directories without affecting user data\nBackward compatible - Existing deployments continue working unchanged\nSecurity maintained - Validation ensures security properties are preserved\nNegative\nConfiguration complexity - Additional environment variables to manage\nValidation overhead - Path validation adds startup complexity\nSupport burden - More configurations to troubleshoot\nMisconfiguration risk - Users might specify inappropriate paths\nNeutral\nDocumentation updates - Need to document new configuration options\nMigration Path\nFor Existing Users\nNo action required. The system continues to use ~/.spike by default.\nFor Users Wanting Custom Paths\nStop SPIKE components\nMove existing data to new location:\nSet environment variable:\nRestart SPIKE components\nSecurity Considerations\nMaintained Security Properties\nEncryption - Data remains encrypted regardless of location\nPermissions - Directory permissions enforced (0700)\nUntrusted storage - Security model unchanged\nAdditional Safeguards\nPath validation - Prevents use of system directories\nPermission checks - Verifies proper access controls\nAudit logging - Log custom directory usage for security monitoring\nImplementation Notes\nUpdate internal/config/config.go to implement path resolution logic\nAdd validation functions for directory security checks\nUpdate CLAUDE.md and configuration.md with new environment variables\nAdd tests for path validation and fallback logic\nUpdate necessary user-facing documentation\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0026/","title":"ADR-0026: Configurable Data Directory for SPIKE Components"},"https://spike.ist/architecture/adrs/adr-0027/":{"body":"ADR-0027: Separate Audit Logs from Operational Logs\nStatus: accepted\nDate: 2025-11-13\nTags: Security, Compliance, Observability, Kubernetes\nContext and Problem Statement\nCurrently, SPIKE sends both audit logs and operational logs to stdout without\ndifferentiation. This creates challenges for:\nCompliance requirements that mandate immutable audit trails with specific\nretention policies\nSecurity teams needing to route audit events to SIEM systems\nDifferent access controls between audit and operational logs\nPerformance optimization as audit logs have different characteristics\nthan operational logs\nWe need to determine the most effective way to separate audit logs from\noperational logs while maintaining simplicity and Kubernetes-native practices.\nDecision Drivers\nCompliance requirements: Audit logs often need years of retention\nversus days/weeks for operational logs\nSecurity isolation: Audit logs require stricter access controls and\ntamper-evident storage\nOperational simplicity: Solution should work seamlessly in Kubernetes\nenvironments\nPerformance considerations: Different log volumes and processing\nrequirements\nIntegration flexibility: Easy routing to different backends\n(SIEM versus observability stacks)\nCurrent Implementation\nSPIKE currently implements a basic audit logging system that outputs to stdout\nalongside operational logs. The implementation consists of:\nArchitecture\nWrapper-Based Auditing (internal/net/handle.go):\nHandleRoute() wraps all HTTP handlers with audit logging\nAutomatically creates an AuditEntry for each request\nLogs two events per request: entry (AuditEnter) and exit\n(AuditExit)\nTracks request duration and completion state (AuditSuccess or\nAuditErrored)\nGenerates unique trail IDs using crypto.ID()\nRoute-Level Auditing (e.g.,\napp/keeper/internal/route/store/contribute.go):\nEach route handler receives an *journal.AuditEntry parameter\njournal.AuditRequest() logs specific actions (create, read, delete,\nlist, etc.)\nUpdates the audit entry with component name, path, resource, and action\nProvides fine-grained operation tracking within the request lifecycle\nAudit Entry Structure (internal/journal/audit.go):\nOutput Mechanism:\njournal.Audit() marshals entries to JSON\nOutputs to stdout via fmt.Println()\nCrashes with log.FatalLn() if JSON marshaling fails (fail-secure)\nAudit Actions\nThe system defines specific audit actions:\nAuditEnter / AuditExit: Request lifecycle\nAuditCreate: Resource creation\nAuditRead: Resource retrieval\nAuditList: Resource listing\nAuditDelete: Resource deletion\nAuditUndelete: Resource restoration\nAuditFallback: Undefined route access\nAuditBlocked: Blocked/unauthorized access\nCurrent Limitations\nNo separation: Audit logs mix with operational logs on stdout\nNo tamper detection: Events lack HMAC signatures\nNo guaranteed delivery: Uses stdout without delivery confirmation\nLimited metadata: Missing SPIFFE ID, source IP, and other security\ncontext\nSingle output: Cannot route to multiple destinations simultaneously\nConsidered Options\nUse stderr for audit logs (stdout for operational)\nStructured logging with type field (both to stdout)\nDedicated audit sidecar pattern\nDirect audit system integration (separate API calls)\nPluggable audit devices (Vault-style architecture)\nDecision\nImplement a two-phase approach:\nPhase 1 (Immediate): Use stderr for audit logs while keeping operational\nlogs on stdout, with structured JSON format and clear prefixes.\nPhase 2 (Future): Evolve to pluggable audit devices.\nRationale\nPhase 1 Justification\nImmediate value: Can be implemented quickly with minimal changes\nKubernetes-native: Works with existing log collectors (Fluentd/Fluent Bit)\nClear separation: File descriptors provide OS-level isolation\nPhase 2 Justification\nEnterprise readiness: Matches proven patterns for log collection and\nrouting\nFlexibility: Supports file, socket, syslog, and custom backends\nGuaranteed delivery: Can implement blocking behavior when audit fails\nCompliance: Better suits enterprise audit requirements\nWhy Not Other Options\nStructured logging only: Doesn’t provide strong enough separation for\ncompliance\nSidecar pattern: Adds complexity without clear benefits over stderr\napproach\nDirect integration only: Less flexible, harder to adapt to different\nenvironments\nImplementation Details\nPhase 1 Implementation\nPhase 1 builds on the existing audit infrastructure by redirecting audit\noutput to stderr while enhancing the AuditEntry structure:\nKey Changes from Current Implementation:\nChange fmt.Println() to fmt.Fprintf(os.Stderr, ...) in\njournal.Audit()\nAdd SPIFFE ID field (extract from request context in HandleRoute())\nAdd source IP field (extract from http.Request)\nOptional HMAC signing for tamper detection\nPhase 2 Architecture\nPhase 2 extends the audit system with pluggable devices while maintaining\nbackward compatibility with the existing journal.Audit() interface:\nMigration Path\nCurrent → Phase 1:\nModify internal/journal/audit.go:\nChange fmt.Println() to fmt.Fprintf(os.Stderr, ...)\nAdd SPIFFE ID and SourceIP fields to AuditEntry\nModify internal/net/handle.go:\nExtract SPIFFE ID from request context\nExtract source IP from http.Request.RemoteAddr\nPopulate new fields in AuditEntry\nUpdate Kubernetes log collectors to route stderr separately\nOptional: Implement HMAC signing for tamper detection\nPhase 1 → Phase 2:\nCreate AuditDevice interface and implementations\nAdd AuditManager initialization in service startup code\nModify journal.Audit() to write to configured devices\nAdd configuration for audit device selection and options\nMaintain stderr output for backward compatibility\nSample Kubernetes Configuration\nImplementation Status\nWhat Works Today (Current)\n✅ Structured audit logging with AuditEntry and AuditLogLine\n✅ Automatic request lifecycle tracking (enter/exit)\n✅ Wrapper-based auditing via HandleRoute()\n✅ Route-level audit actions (create, read, delete, list, etc.)\n✅ Unique trail IDs for request correlation\n✅ Request duration tracking\n✅ Success/error state tracking\n✅ JSON-formatted output\n✅ Fail-secure behavior (crashes on marshal failure)\nWhat Needs Implementation\n❌ Phase 1:\nSeparation of audit logs to stderr\nSPIFFE ID capture in audit entries\nSource IP capture in audit entries\nHMAC signatures for tamper detection\nKubernetes log routing configuration examples\n❌ Phase 2:\nPluggable audit device interface\nFile, socket, and syslog device implementations\nBlocking/non-blocking device behavior configuration\nMulti-destination audit delivery\nGuaranteed delivery mechanisms\nConsequences\nPositive\nExisting foundation: Current implementation provides solid base for\nenhancement\nProven patterns: Wrapper-based and route-level auditing work well\nImmediate compliance improvement: Phase 1 separation enables better\naudit trail management\nSimple migration path: Changes build incrementally on existing code\nKubernetes-friendly: Works with existing tooling\nFuture-proof: Phase 2 provides enterprise-grade capabilities\nSPIFFE integration: Natural fit with existing SPIFFE-based auth\nTamper detection: Optional HMAC signatures on audit events\nNegative\nCurrent mixing: Audit and operational logs currently indistinguishable\non stdout\nMissing context: SPIFFE ID and source IP not currently captured\nTwo-phase complexity: Requires planning for migration\nStderr convention: Some tools expect only errors on stderr\nConfiguration overhead: More complex log routing rules\nPotential performance impact: Audit devices could block operations\nReferences\nExternal\nSPIFFE Audit Considerations: https://spiffe.io/docs/latest/planning/audit/\nKubernetes Logging Architecture: https://kubernetes.io/docs/concepts/cluster-administration/logging/\nCurrent Implementation Code\ninternal/journal/audit.go - Core audit entry structure and logging\ninternal/net/handle.go - HTTP handler wrapper with automatic auditing\napp/keeper/internal/route/store/contribute.go - Example of route-level\nauditing\napp/nexus/internal/route/secret/delete.go - Example of operation-specific\naudit actions\napp/nexus/internal/route/acl/policy/create.go - Example of policy\noperation auditing","id":"https://spike.ist/architecture/adrs/adr-0027/","title":"ADR-0027: Separate Audit Logs from Operational Logs"},"https://spike.ist/architecture/adrs/adr-0028/":{"body":"ADR-0028: Use Human-Readable Error Messages in CLI Tools\nStatus: accepted\nDate: 2025-11-17\nTags: CLI, Error Handling, User Experience, Go\nContext\nThe SPIKE Pilot CLI tool (spike) is primarily consumed by human users\n(developers and operators) rather than programmatic consumers. Error handling\nin Go typically uses sentinel errors and errors.Is() for programmatic error\nchecking, which works well for libraries and SDKs. However, CLI tools have\ndifferent requirements because their primary consumer is a human reading\nterminal output.\nWe need to determine the appropriate error handling strategy for the SPIKE\nPilot CLI that balances Go best practices with user experience requirements.\nDecision\nWe will use human-readable, contextual error messages in the SPIKE Pilot\nCLI rather than exposing raw sentinel errors to users.\nSpecifically:\nReturn formatted error messages with context using fmt.Errorf()\nInclude actionable information (what failed, why, suggested next steps)\nUse plain English descriptions rather than error codes\nProvide helpful suggestions when appropriate\nReserve sentinel errors for internal library code and SDK usage\nRationale\nCLI Tools vs Libraries\nDifferent types of software have different error handling needs:\nSoftware TypeConsumerError Strategy\nLibrary/SDKOther codeSentinel errors, errors.Is()\nCLI ToolHuman userFormatted, contextual messages\nAPI ServiceHTTP clientStructured error responses\nIndustry Best Practices\nPopular CLI tools follow this pattern:\nGit:\nDocker:\nkubectl:\nAll provide human-readable context, not raw error types.\nUser Needs for CLI Tools\nWhen a CLI command fails, users need:\nWhat went wrong: Clear description of the failure\nWhy it failed: Context about the cause\nWhat to do next: Actionable suggestions when possible\nExample comparison:\nSentinel error approach (bad for CLI):\nFormatted error approach (good for CLI):\nWhen to Use Each Approach\nUse sentinel errors when:\nWriting library code consumed by other Go code\nOther code needs to make programmatic decisions based on the error type\nBuilding SDKs or packages\nUse formatted errors when:\nBuilding CLI tools for human users\nError messages are displayed in terminal output\nContext and suggestions improve user experience\nExamples from SPIKE Pilot\nGood: Human-Friendly Errors\nInternal: Sentinel Errors Still Used\nThe SDK and internal packages still use sentinel errors appropriately:\nThe CLI layer translates these into human-friendly messages.\nConsequences\nPositive\nImproved user experience: Users get clear, actionable error messages\nFaster problem resolution: Context helps users fix issues without\nconsulting documentation\nReduced support burden: Self-explanatory errors reduce support requests\nAligned with CLI best practices: Matches user expectations from other\ntools\nAppropriate for audience: Developers and operators are human users, not\nmachines\nNegative\nHarder to parse programmatically: If scripts wrap the CLI, they cannot\nuse errors.Is()\nLess structured: Error messages may vary in format\nTranslation complexity: Internalization would be more challenging (though\nnot currently required)\nMitigations\nFor programmatic consumers (if needed in the future):\nConsistent exit codes (0 = success, 1 = error)\nOptional --json flag for structured output\nDocumented error message patterns\nImplementation Guidelines\nWhen writing CLI error messages:\nBe specific: Include relevant details (paths, IDs, names)\nProvide context: Explain what operation was attempted\nSuggest actions: Point users toward solutions when possible\nUse plain English: Avoid jargon and error codes\nBe concise: Don’t overwhelm with excessive detail\nGood example:\nBad example:\nReferences\nGo Error Handling: https://go.dev/blog/error-handling-and-go\nCLI Design Guidelines: https://clig.dev/\nComparison with popular CLI tools (git, docker, kubectl)\nRelated ADRs\nThis decision applies specifically to CLI tools. Other components follow\ndifferent patterns:\nSPIKE SDK uses sentinel errors for programmatic consumers\nSPIKE Nexus API returns structured error responses\nInternal packages use sentinel errors for type checking\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0028/","title":"ADR-0028: Use Human-Readable Error Messages in CLI Tools"},"https://spike.ist/architecture/adrs/adr-0029/":{"body":"ADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nStatus: accepted\nDate: 2025-11-19\nTags: Security, Recovery, Access Control, SPIFFE\nContext\nSPIKE provides various operations that workloads can perform against SPIKE Nexus,\nincluding secret management (get, put, delete), policy management, and critical\nrecovery operations (recover, restore). Most operations can be controlled through\nSPIKE’s policy system, allowing fine-grained access control based on SPIFFE IDs\nand other attributes.\nHowever, recovery and restoration operations are fundamentally different\nfrom regular operations:\nRecovery initiates the process of retrieving Shamir secret shards when\nSPIKE Nexus needs to be restored from a catastrophic failure\nRestoration submits these shards back to rebuild the root encryption key\nThese operations bypass normal secret access policies and directly manipulate\nthe root cryptographic material that protects the entire secrets store. If\ncompromised, an attacker could potentially decrypt all secrets in the system.\nWe need to determine the appropriate access control mechanism for these\ncritical recovery operations.\nDecision\nRecovery (Recover) and restoration (Restore) operations will be restricted\nexclusively to SPIKE Pilot at the SDK level, enforced through SPIFFE ID\nvalidation.\nSpecifically:\nThe SDK will check the caller’s SPIFFE ID using spiffeid.IsPilot()\nOnly workloads identified as SPIKE Pilot may invoke these operations\nViolations will result in immediate fatal termination via log.FatalErr()\nThis restriction is not configurable through policies\nAll other operations (secrets, policies, cipher, ACLs) remain policy-controlled\nand can be authorized for any workload based on configured policies.\nRationale\nSecurity Criticality Hierarchy\nSPIKE operations fall into different security tiers:\nOperation TypeSecurity ImpactAccess Control\nSecret read/writeMedium - affects individual secretsPolicy-based\nPolicy managementHigh - affects access controlPolicy-based\nCipher operationsMedium - encryption/decryptionPolicy-based\nRecovery/RestoreCritical - affects entire systemHard-coded\nWhy Recovery Operations Are Different\nPolicy-controlled operations (secrets, policies, etc.):\nOperate within the normal secret access control framework\nFailure affects specific secrets or policies\nCan be safely delegated to various workloads\nPolicy misconfiguration has limited blast radius\nRecovery operations (recover, restore):\nBypass all policy controls and access root cryptographic material\nFailure or compromise could decrypt all secrets in the system\nShould only be performed during disaster recovery scenarios\nMust have the smallest possible attack surface\nPolicy-based control would create circular dependency (policies are protected\nby the key being recovered)\nDefense in Depth\nWhile SPIKE Nexus itself validates recovery requests, enforcing the restriction\nat the SDK level provides defense in depth:\nSDK enforcement: Prevents unauthorized workloads from attempting recovery\nNexus enforcement: Final validation even if SDK is bypassed\nSPIFFE authentication: Cryptographically verifiable identity\nAudit trail: Fatal errors logged when violations occur\nSPIFFE Identity as Strong Authentication\nSPIKE Pilot’s SPIFFE ID is:\nCryptographically verified through mTLS\nIssued by the trusted SPIRE server\nCannot be spoofed or stolen without compromising the SPIRE trust domain\nProvides stronger authentication than password-based or API key approaches\nFail-Safe Design\nThe SDK implementation uses log.FatalErr() rather than returning an error:\nThis ensures:\nNo possibility of error handling bugs bypassing the check\nClear audit trail in logs\nImmediate termination prevents any further processing\nAligns with security-critical failure handling (similar to key length\nvalidation failures)\nAlternatives Considered\nAlternative 1: Policy-Based Control\nAllow recovery operations to be controlled through the policy system like other\noperations.\nRejected because:\nCreates circular dependency: policies are protected by the key being recovered\nDuring disaster recovery, policy system may not be available\nIncreases attack surface unnecessarily\nPolicy misconfiguration could enable unauthorized recovery\nAlternative 2: No SDK Enforcement\nRely solely on SPIKE Nexus to validate recovery requests.\nRejected because:\nViolates defense-in-depth principle\nAllows unauthorized attempts to reach Nexus unnecessarily\nReduces audit trail granularity\nBypasses early-fail security principle\nAlternative 3: Configuration-Based Control\nMake the allowed SPIFFE IDs configurable via environment variables or config\nfiles.\nRejected because:\nConfiguration errors could accidentally enable unauthorized access\nIncreases operational complexity\nProvides no real benefit (recovery should always be from Pilot)\nConfiguration-based security is generally weaker than hard-coded for critical\noperations\nConsequences\nPositive\nReduced attack surface: Only SPIKE Pilot can initiate recovery operations\nDefense in depth: Multiple layers of validation (SDK + Nexus)\nFail-safe: Fatal errors prevent accidental bypasses\nClear security model: Critical operations have stricter controls than\nregular operations\nAudit trail: Failed attempts are logged with context\nNo configuration complexity: No additional configuration required\nNegative\nLess flexible: Cannot delegate recovery to other workloads\nOperational constraint: Requires SPIKE Pilot for disaster recovery\nscenarios\nHard-coded policy: Cannot be changed without code modification\nNeutral\nConsistent with design: SPIKE Pilot is already the administrative/operator\ninterface\nExpected behavior: Recovery is inherently a privileged operation\nImplementation Details\nSDK Enforcement\nThe spike-sdk-go package enforces this in:\napi/internal/impl/operator/recover.go:67-71\napi/internal/impl/operator/restore.go:76-80\nOperations NOT Restricted\nThe following operations remain policy-controlled and can be performed by any\nworkload with appropriate policy permissions:\nSecret operations: Get, Put, Delete, Undelete, List,\nGetMetadata\nPolicy operations: Create, Get, Delete, List\nCipher operations: Encrypt, Decrypt\nACL operations: Get, List\nBootstrap operations: Contribute, Verify\nNexus-Side Validation\nSPIKE Nexus performs additional validation of recovery requests, providing a\nsecond layer of defense even if the SDK check is bypassed.\nMigration Impact\nThis ADR documents existing behavior and does not require migration. The\nrestriction has been in place since the recovery operations were first\nimplemented.\nReferences\nSPIFFE specification: https://spiffe.io/docs/latest/spiffe-about/overview/\nShamir Secret Sharing: https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing\nDefense in Depth: https://www.nist.gov/publications/defense-depth-strategy\nRelated ADRs\nADR-0001: Use SPIFFE/SPIRE for Workload Identity\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0029/","title":"ADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot"},"https://spike.ist/architecture/adrs/adr-0030/":{"body":"ADR-0030: Minimal Error Messages in API Responses\nStatus: accepted\nDate: 2025-11-22\nTags: Security, API Design, Error Handling, Information Disclosure\nContext\nSPIKE Nexus exposes an HTTP API that workloads use to interact with the secret\nmanagement system. When operations fail, the API must communicate errors to\nclients. The design of error responses involves a fundamental trade-off between\nsecurity and diagnostics:\nDetailed error messages provide rich diagnostic information to clients,\nmaking debugging easier, but risk information leakage\nMinimal error messages provide only error codes, maintaining security\nbut offering limited client-side diagnostics\nFor a security-critical secret management system, we need to determine the\nappropriate balance between these concerns.\nDecision\nSPIKE Nexus API responses will return error codes only, with no descriptive\nerror messages to clients.\nSpecifically:\nAPI responses contain only structured error codes (e.g., NOT_FOUND,\nUNAUTHORIZED, BAD_REQUEST)\nNo additional error message fields, stack traces, or diagnostic information\nAll detailed error context is logged server-side with full audit trail\nClients must interpret errors based solely on:\nHTTP status codes (404, 401, 400, 500)\nStructured error code enumerations\nRequest parameters they provided\nRationale\nSecurity: Preventing Information Leakage\nError messages can reveal sensitive information about the system:\nPath existence enumeration:\nPermission structure disclosure:\nImplementation details:\nStack traces (the “one bad commit” risk):\nDefense Against Enumeration Attacks\nMinimal errors prevent attackers from probing the system:\nAttack VectorDetailed MessagesMinimal Codes\nPath enumeration“Path X not found” vs “Path Y unauthorized” reveals valid pathsAll failures return same code\nPermission probingMessages reveal permission boundariesNo distinction between not-found and unauthorized\nVersion detectionStack traces reveal library versionsNo version information leaked\nSchema discoveryError messages reveal data structureNo schema information exposed\nAPI Design: Clean and Stable\nError codes provide better API stability than messages:\nProgrammatic handling:\nNo versioning issues:\nError codes remain stable across versions\nNo message format changes breaking clients\nNo localization complexity\nConsistent parsing and handling\nTestability:\nDeterministic error codes are easy to test\nNo string matching or regex required\nClear expected outcomes in test cases\nOperational Model: Server-Side Context\nSPIKE’s architecture provides full diagnostics where they belong:\nAudit logging captures everything:\nClient receives:\nClear separation of concerns:\nClients: Get actionable error codes for programmatic handling\nOperators: Have server access and can see full audit logs with context\nAuthorized users: Can correlate their requests with server logs if needed\nUnauthorized users: Get nothing useful for reconnaissance\nIndustry Validation\nSecurity-critical systems follow this pattern:\nHashiCorp Vault:\nAWS Secrets Manager:\nKubernetes Secrets API:\nAll separate client-facing errors from server-side diagnostics.\nAlternatives Considered\nAlternative 1: Include Generic Error Messages\nProvide generic messages without sensitive details:\nRejected because:\nAdds API surface complexity with minimal benefit\nGeneric messages don’t provide actionable information beyond the code\nRisk of messages accidentally becoming more detailed over time\nThe error code already conveys the same information\nNo clear line between “safe” and “unsafe” detail levels\nAlternative 2: Detailed Messages for Authenticated Users\nProvide detailed errors only to authenticated, authorized users:\nRejected because:\nStill risks information leakage (policy names, path details)\nAdds complexity to determine what details are “safe”\nAuthentication doesn’t mean users should see internal details\nCreates inconsistent error handling logic\nServer-side logs already provide this for operators\nAlternative 3: Request IDs for Correlation\nInclude correlation IDs so clients can reference server logs:\nConsidered acceptable but not required because:\nSPIKE’s audit logging already provides correlation via SPIFFE ID and\ntimestamp\nUsers with legitimate need for diagnostics have server log access\nAdding request IDs provides minimal benefit over existing correlation\nmethods\nCan be added later if operational experience shows clear need\nKeeping responses minimal is preferred for initial implementation\nStatus: May be reconsidered based on operational feedback\nConsequences\nPositive\nSecurity by design: Information leakage is prevented at the API layer\nEnumeration protection: Attackers cannot probe system structure via\nerrors\nNo accidental disclosure: Impossible to leak stack traces or\nimplementation details\nClean API surface: Simple, stable error code enumeration\nProgrammatic handling: Clients can reliably switch on error codes\nStable interface: Error codes don’t change; messages would\nClear security model: “If you’re authorized, the code tells you\neverything. If you’re not, you get nothing.”\nNegative\nLimited client diagnostics: Clients cannot see detailed error reasons\nOperator workflow: Users must correlate client errors with server logs\nfor debugging\nLearning curve: New users might expect more detailed error messages\nScript debugging: Wrapper scripts get less information for error\nhandling\nNeutral\nConsistent with design: SPIKE already has comprehensive audit logging\nExpected for security systems: Users familiar with Vault, etc., expect\nthis pattern\nOperational requirement: Operators need server access anyway for secret\nmanagement\nImplementation Details\nResponse Structure\nAll error responses follow this structure:\nError Codes\nStandard error codes returned:\nHTTP StatusError CodeMeaning\n200nullSuccess\n400BAD_REQUESTInvalid request format or parameters\n401UNAUTHORIZEDAuthentication or authorization failure\n404NOT_FOUNDResource does not exist (or unauthorized)\n500INTERNAL_SERVER_ERRORBackend or server-side failure\nNote: 404 is used for both “not found” and “not authorized” to prevent\nenumeration.\nServer-Side Logging\nAll errors are logged with full context:\nError Handling Pattern\nAll route handlers follow this pattern:\nClient Interpretation\nClients use error codes programmatically:\nFuture Enhancements\nCorrelation IDs\nIf operational experience shows a clear need, we may add request correlation\nIDs to API responses:\nBenefits:\nUsers can reference specific requests when asking operators for help\nOperators can quickly locate relevant log entries\nNo security information is leaked (ID is opaque)\nImproves support workflow without compromising security\nCurrent status:\nNot implemented in initial version\nExisting correlation via SPIFFE ID and timestamp is sufficient\nWill reconsider based on operational feedback and support burden\nCan be added non-breaking if needed\nEvaluation criteria:\nFrequency of users needing operator assistance for error diagnosis\nTime spent by operators correlating client errors with server logs\nUser feedback on debugging difficulty\nComparison with alternative approaches (timestamp-based correlation,\nSPIFFE ID filtering)\nReferences\nOWASP: Information Exposure Through Error\nMessages\nCWE-209: Information Exposure Through an Error\nMessage\nNIST SP 800-53: Security and Privacy Controls\n(SI-11: Error Handling)\nHashiCorp Vault API documentation\nRelated ADRs\nADR-0028: Use Human-Readable Error Messages in CLI Tools (different\naudience: humans vs. API clients)\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\n(related security-critical design decision)\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0030/","title":"ADR-0030: Minimal Error Messages in API Responses"},"https://spike.ist/architecture/adrs/adr-0031/":{"body":"ADR-0031: AST-Based Test Enforcement for Route Guard Functions\nStatus: accepted\nDate: 2024-11-27\nTags: Security, Testing, Authorization, Code Quality\nContext and Problem Statement\nSPIKE Nexus and SPIKE Keeper route handlers must perform authorization checks\nbefore processing requests. The established pattern uses net.ReadParseAndGuard\nwhich accepts a guard function parameter that is executed internally. However,\nthere is no compile-time or automated mechanism to ensure new route handlers\nfollow this pattern.\nA contributor adding a new route could forget to include guard function\ninvocation, creating an authorization bypass vulnerability. Code review catches\nmost issues, but human oversight is fallible.\nDecision Drivers\nSecurity: Every route must have authorization checks\nDeveloper experience: Should not add excessive boilerplate\nMaintainability: Solution should be self-documenting\nCI integration: Violations should be caught before merge\nFlexibility: Must support both standard and custom guard patterns\nConsidered Options\nMandatory guard parameter on route registration - Pass guard function to\nall routes, but this does not guarantee the guard is actually called\nWrapper function approach - SecureRoute(pattern, guard, handler) that\nalways calls guard before handler\nInterface-based handlers - Require SecureHandler interface with\nGuard() and Handle() methods\nAST-based test - Scan route handler code and verify guard invocation\nConvention + code review only - Document the pattern and rely on review\nDecision\nImplement an AST-based test that scans all route handler files and verifies\neach Route* function contains a guard invocation.\nThe test recognizes multiple valid patterns:\nnet.ReadParseAndGuard calls (standard JSON route pattern)\nFunctions starting with guard (e.g., guardPolicyDeleteRequest)\nKnown guarded helper functions (e.g., handleJSONDecrypt for cipher routes\nthat support streaming)\nRationale\nNo code changes required - existing pattern works as-is\nCI enforcement - test fails if any route lacks guard invocation\nSelf-documenting - test code documents the convention\nZero runtime overhead - purely a test-time check\nFlexible - supports existing cipher routes that use custom guard patterns\ndue to streaming support\nThe existing net.ReadParseAndGuard pattern already guarantees guard execution\nfor routes that use it. The AST test ensures all routes use either this pattern\nor an equivalent guard invocation.\nConsequences\nPositive\nAuthorization bypass vulnerabilities are caught automatically in CI\nNew contributors learn the pattern from test failure messages\nNo changes to production code or runtime behavior\nTest serves as living documentation of the guard convention\nNegative\nTest must be updated if new guarded helper functions are added\nAST parsing adds test complexity\nFalse positives possible if function naming conventions change\nImplementation Notes\nSPIKE Nexus\nThe test is located at app/nexus/internal/route/base/guard_test.go and:\nScans subdirectories: acl/policy, bootstrap, cipher, operator,\nsecret\nFinds functions starting with Route\nVerifies each calls a guard (via ReadParseAndGuard, guard* functions,\nor known guarded helpers)\nReports all violations with file paths and function names\nUtility files (errors.go, guard.go, handle.go, etc.) are skipped as they\ndo not contain route handlers.\nSPIKE Keeper\nA similar test is located at app/keeper/internal/route/base/guard_test.go and:\nScans the store subdirectory\nFinds functions starting with Route\nVerifies each calls a guard (via ReadParseAndGuard or guard* functions)\nReports all violations with file paths and function names\nSPIKE Keeper has fewer routes (shard contribution and retrieval) but they are\nequally critical since they handle root key shards.\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0031/","title":"ADR-0031: AST-Based Test Enforcement for Route Guard Functions"},"https://spike.ist/architecture/adrs/adr-0032/":{"body":"ADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nStatus: accepted\nDate: 2024-11-27\nTags: Security, Cryptography, AES-GCM\nContext and Problem Statement\nSPIKE uses AES-GCM for symmetric encryption in several places:\nCipher API (encryption as a service)\nBootstrap verification\nBackend storage encryption\nGCM technically supports multiple nonce sizes via Go’s cipher.NewGCMWithNonceSize(),\nbut the standard 12-byte (96-bit) nonce is recommended by NIST. Should SPIKE\nsupport configurable nonce sizes, or hardcode the standard 12-byte size?\nDecision Drivers\nSecurity: Follow NIST recommendations and avoid non-standard configurations\nPerformance: 12-byte nonces use a more efficient internal counter mode\nInteroperability: Clients need to know the expected nonce size\nSimplicity: Avoid unnecessary configuration complexity\nConsidered Options\nHardcode 12-byte nonce size - Use the NIST-recommended standard\nMake nonce size configurable - Allow runtime or compile-time configuration\nUse cipher.NonceSize() everywhere - Query the cipher for its nonce size\nDecision\nHardcode the 12-byte nonce size as a constant (crypto.GCMNonceSize) and use it\nfor all nonce validation. Nonce generation already correctly uses c.NonceSize()\nfrom the cipher instance.\nRationale\nWhy 12 bytes is the right choice\nPer NIST SP 800-38D (Recommendation for Block Cipher Modes of Operation:\nGalois/Counter Mode):\n96-bit (12-byte) nonces use the efficient counter mode directly\nOther sizes require an additional GHASH operation, adding overhead\n12 bytes provides sufficient uniqueness for random nonce generation\nThis is the default for Go’s cipher.NewGCM()\nWhy not make it configurable\nNo legitimate use case for non-standard sizes in SPIKE’s context\nConfiguration adds complexity and potential for misconfiguration\nNon-standard sizes have security implications that users may not understand\nProtocol versioning (spikeCipherVersion) exists if changes are ever needed\nConsistency in generation vs validation\nGeneration: Uses c.NonceSize() - correct, as the cipher knows its size\nValidation: Uses hardcoded constant - correct, as we enforce the standard\nThis is not inconsistent. Generation queries the cipher (which returns 12 for\nstandard GCM), while validation enforces that incoming data matches our expected\nstandard.\nConsequences\nPositive\nFollows NIST recommendations\nNo configuration complexity\nConsistent behavior across all SPIKE components\nClear documentation via the constant and this ADR\nNegative\nCannot use non-standard nonce sizes (this is intentional)\nIf Go’s default ever changed (extremely unlikely), we would need updates\nImplementation Notes\nThe constant is defined in internal/crypto/gcm.go:\nThis is used by:\napp/nexus/internal/route/cipher/ - Cipher API validation\napp/nexus/internal/route/bootstrap/ - Bootstrap verification\nIf a future protocol version requires different nonce handling, increment\nspikeCipherVersion and handle accordingly.\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records","id":"https://spike.ist/architecture/adrs/adr-0032/","title":"ADR-0032: Standard 12-Byte Nonce Size for AES-GCM"},"https://spike.ist/architecture/architectural-decision-records/":{"body":"SPIKE Architectural Decision Records (ADRs)\nThis section serves as an archive of significant architectural decisions made\nduring the design and development of SPIKE. Each ADR documents the\nreasoning behind a specific choice, along with the associated alternatives\nand their trade-offs. By maintaining this record, we provide transparency,\ntraceability, and clarity for current and future maintainers of the SPIKE\nproject.\nBelow, you will find the list of ADRs organized for easy access. Click on each\nentry to read more details.\nADR-0032: Standard 12-Byte Nonce Size for AES-GCM\nADR-0031: AST-Based Test Enforcement for Route Guard Functions\nADR-0030: Minimal Error Messages in API Responses\nADR-0029: Restrict Recovery and Restoration Operations to SPIKE Pilot\nADR-0028: Use Human-Readable Error Messages in CLI Tools\nADR-0027: Separate Audit Logs from Operational Logs\nADR-0026: Configurable Data Directory for SPIKE Components\nADR-0025: Path Patterns as Key Namespaces with Regular Expression Matching\nADR-0024: Transition from In-Memory Cache to Direct Backend Storage for High Availability\nADR-0023: Decision Against Implementing Lock/Unlock Mechanism in SPIKE Nexus\nADR-0022: Continuous Polling of SPIKE Keepers Despite 404 Response\nADR-0021: SPIKE Keeper as a Stateless Shard Holder\nADR-0020: Switch to Zola for Documentation System\nADR-0019: Plugin-Based Storage Backend Architecture\nADR-0018: Administrative Access to SPIKE\nADR-0017: Synchronous Persistence for SPIKE Secrets Store\nADR-0016: Memory-First Secrets Store\nADR-0015: Use Singular Form for File and Package Naming\nADR-0014: Maintaining SQLite as SPIKE’s Primary Storage Backend\nADR-0013: S3-Compatible Storage as SPIKE’s Backing Store\nADR-0012: HTTP Methods for SPIKE API\nADR-0011: PostgreSQL as SPIKE’s Backing Store\nADR-0010: Session Token Storage Strategy for SPIKE Nexus\nADR-0009: Multi-Administrator Support System\nADR-0008: Administrative Access Control System\nADR-0007: Root Key Lifecycle and Management Strategy\nADR-0006: Trust Boundary Definition and Security Assumptions\nADR-0005: Use SPIFFE mTLS for Inter-Component Authentication and Communication\nADR-0004: SPIKE Keeper Minimalist Design Approach\nADR-0003: Root Key Management and Storage Strategy\nADR-0002: Use Docsify for Documentation System\nADR-0001: Display Secrets in Plain Text in SPIKE Pilot Admin CLI\n \nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/architecture/architectural-decision-records/","title":"ADRs"},"https://spike.ist/architecture/security-model/":{"body":"SPIKE Security Model\nHere is a brief introduction to SPIKE’s security model.\nMachine as the Trust Boundary\nSPIKE components are intended to be used as the foundation for\ncloud native secrets management in a zero trust environment. SPIKE\nsupports Linux and the BSD family (including macOS). Windows is not currently\nsupported, though some early prototyping is a work in progress.\nSPIKE (with the help of SPIFFE and SPIRE) adheres to the zero trust\nnetworking security model in which it is assumed that network communication is\nhostile or presumably fully compromised. That said, it is also assumed that\nthe hardware on which *SPIKE components run, as well as its operators,\nis trustworthy.\nIf the hardware is considered as an attack surface, or insider threats are\npart of the threat model, then careful considerations should be made around\nkey components. The physical placement of SPIRE Server, SPIKE Nexus,\nand SPIKE Keeperinstances, and the security of their relevant configuration\nparameters will be important.\nAuthentication and Communication\nAll inter-component communication is secured through SPIFFE mTLS.\nComponents identify each other using their SVIDs.\nNetwork-level security is provided by SPIFFE mTLS.\nTrust Boundaries\nThe primary trust boundary is at the machine level. Once the machine is\ncompromised, hardening SPIKE components will provide diminishing returns.\nIn that regard, both physical and OS-level security is important.\nFor example, when the machine is compromised, an attacker with sufficient\nprivileges can observe and control the memory of SPIKE Nexus, or\nSPIKE Keeper; they can inject their counterfeit workloads; they can modify\nSPIRE and create their own registration entries\nIt’s also worth noticing that, since SPIKE Keeper backs ups the root key\nin memory, if SPIKE Keeper is compromised, the machine can be considered\ncompromised.\nFor containerized deployments, both SPIKE Nexus and SPIKE Keeper\nshall be hardened.\nThreat Model Exceptions\nThe following are not considered part of SPIKE’s threat model:\nProtecting against the control of the storage backend: Any storage backend\nis considered untrustworthy by SPIKE, so any data saved in the storage\nbackend is encrypted at rest, and only SPIKE Nexus can decrypt it.\nAn attacker can perform arbitrary operations against the storage backend,\nIt is not SPIKE’s responsibility to protect the storage backend itself;\nSPIKE only ensures that an attacker accessing the storage backend cannot\nreveal the data stored there.\nProtecting against memory analysis of running system components: If an\nattacker can inspect the memory state of any component, then they already have\ndirect access to the machine (which is our primary trust boundary). If this\nhappens, then the confidentiality of the data may be compromised. Preventing\nmemory analysis is a common system security best practice, and it is out\nof scope for SPIKE to enforce such measures.\nSystem administrators should implement the following security measures to\nprevent memory analysis:\nSet /proc/sys/kernel/yama/ptrace_scope to 2 or 3:\nValue 2 restricts ptrace to root-only access\nValue 3 disables ptrace completely, offering maximum security\nMake this setting permanent by adding kernel.yama.ptrace_scope = 2 to\n/etc/sysctl.d/10-ptrace.conf\nConsider using SELinux or AppArmor profiles to further restrict\nprocess debugging capabilities\nIf running in a container, ensure the container runtime is configured to\ndisable ptrace capabilities (e.g.,\nusing --security-opt=no-new-privileges in Docker)\nRegular audit of processes with CAP_SYS_PTRACE capability, as this can\nbypass ptrace restrictions\nProtecting against malicious code execution on the underlying host system.\nThis is again the system administrator’s responsibility. SPIKE cannot\nprotect against malicious code execution as that ability likely requires\nadministrative privileges, which should be avoided for SPIKE components\nin the first place to prevent privilege escalation.\nProtecting against the underlying system’s flaws. The systems shall be\nup to date with respect to dependencies, properly secured, monitored, and\nhardened.\nProtecting against ill intent of SPIKE super admins: SPIKE assumes\ntrust for super administrators. Any malicious actions performed by super\nadmins, such as abusing their elevated privileges, are considered out of\nscope for SPIKE’s threat model. It is the organization’s responsibility\nto enforce proper checks, balances, and monitoring mechanisms for super\nadmin activities.\nProtecting against SPIKE administrators supplying vulnerable or malicious\nconfiguration data. This includes both intentional or unintentional\nmisconfiguration—an administrator is supposed to know what they are doing.\nAny data provided as configuration values to SPIKE should be\nvalidated. Misconfiguration of SPIKE, or SPIFFE can result in the\ncompromise of the confidentiality or the integrity of the data stored.\nThe Backing Store is Untrusted\nSince the storage backend resides outside the trusted boundary, SPIKE\ntreats it as untrusted and encrypts data before sending it. This ensures that\neven if a malicious attacker gains access to the storage backend, the data\nremains secure, as it can only be decrypted by SPIKE Nexus.\nAdditionally, the storage backend serves as a durable, persistent layer,\nensuring data availability across application crashes and server restarts.\nEspecially when using an external data store other than the default local\nSQLite backing store, although SPIKE assumes the store is untrusted,\nstill considering the following will be prudent:\nIf possible, have SPIKE’s backing store as an isolated database not shared\nby any other service to reduce the attack surface.\nIf that’s not possible and the backing store is a shared database with other\nservices, be aware of who else has access to it and manages it?\nBe cognizant about how SPIKE Nexus will authenticate to this database.\nMake sure the database connection is secure with TLS or mTLS.\nNetwork Isolation of SPIKE Keepers\nSPIKE Keepers do not have any communication pathway between each other, and this\nis a decision by design. This significantly limits the possibility of lateral\nmovements as even when an attacker gains a foothold on a SPIKE Keeper instance,\nthey cannot laterally move to other SPIKE Keeper instances.\nSPIKE Nexus and SPIKE Keepers establish a hub-spoke topology where SPIKE\nKeepers (the spokes) can only communicate with SPIKE Nexus (the hub).\nSPIKE Keeper Shard Distribution and Disaster Recovery\nSPIKE uses SPIKE Keepers, which are apps responsible for storing\nShamir shards of the root key. Both the root key and the\nshards are always in memory and never persisted to disk.\nSPIKE Nexus can establish a SPIFFE-based mTLS connection to request a shard\nfrom a SPIKE Keeper, enabling the system to auto-recover itself.\nThe security model allows for different levels of redundancy and control:\nA typical setup could involve three SPIKE Keeper instances. No single\nshare can reconstruct the root key alone, ensuring security. However, multiple\nshares can be combined to restore the system when needed.\nSPIKE Nexus often automatically recovers itself from crashes using\nSPIKE Keepers. However, for the unlikely case of a total system crash,\neach administrator can hold one of these shares and use spike operator restore to\nrestore the system back to normal. Since a single shard cannot recreate\nthe root key, we are mitigating risk by distributing trust.\nFor those less concerned with strict separation, an alternative approach\ncould involve storing both shares on a single thumb drive or distributing\ntwo shares across separate thumb drives in different safes. This trade-off\nbalances security with recovery convenience.\nUltimately, the design offers flexibility, allowing organizations to choose\ntheir preferred level of security while considering the operational impact of\ndisaster recovery.\nKey Management\nThe system assumes a long-lived, well-guarded, initial root key.\nThe root key will be periodically rotated, but still, it will be\nlong-lived.\nThe root key is automatically generated by SPIKE Bootstrap, and it’s\nnever stored on disk in plain text (i.e., it always lives in memory)\nAn administrator with adequate privileges can use spike operator recover to save\nShamir Shards in an encrypted medium out-of-band for future\nbreak-the-glass disaster recovery.\nRoot key rotation will also re-encrypt the secrets.\nRoot Key Properties\nPropertyValue\nSize32 bytes (256 bits)\nAlgorithmAES-256-GCM\nGenerationCryptographically secure random\nStorageMemory only (never persisted to disk)\nProtectionMutex-protected for thread-safe access\nWhy Memory-Only Storage?\nKeeping the root key exclusively in memory provides several security benefits:\nNo disk exposure: The key cannot be read from the filesystem\nEphemeral: The key is erased on process termination\nNo backup leakage: System backups do not contain the key\nReduced attack surface: Fewer persistence vectors to protect\nThe trade-off is that the key must be reconstructed on restart using Shamir\nshards from SPIKE Keepers, and in rare disaster scenarios, manual recovery\nmay be required.\nMemory Protection\nSPIKE components use mlockall() to prevent memory from being swapped to\ndisk. This is implemented via mem.Lock() from the SDK and called during\ncomponent initialization through Preamble().\nConfiguration requirements:\nLinux: Set memlock limits in /etc/security/limits.conf\nDocker: Configure default-ulimits.memlock in daemon.json\nKubernetes/systemd: Set LimitMEMLOCK=infinity in the unit file\nIf memory locking fails due to insufficient privileges, a warning is logged\n(controlled by SPIKE_SHOW_MEMORY_WARNING) and the system continues to operate.\nRecommended OS-level protections:\nEnable ASLR (Address Space Layout Randomization)\nEnable DEP (Data Execution Prevention)\nDisable swap (vm.swappiness=0)\nDisable core dumps (LimitCORE=0 or ulimit -c 0)\nRoot Key Rotation\nRoot key rotation is not currently supported. This is because:\nAll secrets and policies would need to be re-encrypted\nKeeper shards must be regenerated and redistributed\nThe migration process carries a risk of data loss\nThis is a known limitation and may be addressed in future versions.\nWorkload Access\nWorkloads can securely access their secrets and perform lifecycle operations\n(e.g., create, delete, and modify secrets) based on access policies defined\nby an administrator (using the spike policy command). These policies\nspecify what a workload is allowed to do with the secrets managed by\nSPIKE Nexus.\nDefault Deny: By default, access to SPIKE Nexus is prohibited. Only\nsuper administrators have full access by default.\nPolicy Enforcement: Workloads require a valid, explicitly defined policy\nto perform any lifecycle operation on paths that contain secrets.\nControlled Operations: The access policies strictly govern operations such\nas creating, deleting, or modifying secrets.\nAccess Scoping: Policies can define the scope and level of access (e.g.,\nread-only or full access) on specific secret paths for each workload.\nThis ensures that workloads only access or modify the secrets they are\nexplicitly permitted to, in accordance with their predefined policies.\nOperation Access Control Model\nSPIKE employs two distinct access control mechanisms depending on the\ncriticality of operations:\nPolicy-Controlled Operations\nMost operations are governed by SPIKE’s policy system, allowing flexible,\nfine-grained access control. Administrators can grant permissions to any\nworkload through policy configuration. These operations include:\nSecret Management: get, put, delete, undelete, list,\nmetadata\nPolicy Management: create, get, delete, list\nCipher Operations: encrypt, decrypt\nACL Operations: get, list\nBootstrap Operations: contribute, verify\nHard-Coded Restricted Operations\nRecovery and restoration operations are restricted exclusively to SPIKE\nPilot through hard-coded SPIFFE ID validation at the SDK level. These\noperations cannot be delegated through policies:\nRecovery (recover): Retrieves Shamir secret shards from SPIKE Keepers\nRestoration (restore): Submits shards to rebuild the root encryption\nkey\nRationale: Recovery operations bypass all policy controls and directly\nmanipulate root cryptographic material. If compromised, they could enable\ndecryption of all secrets in the system. Unlike other operations that work\nwithin the policy framework, recovery operations reconstruct the very key that\nprotects the policies themselves, creating a circular dependency that makes\npolicy-based control inappropriate.\nEnforcement: The SDK validates the caller’s SPIFFE ID using\nspiffeid.IsPilot() and fatally terminates any unauthorized attempts via\nlog.FatalErr(). This provides defense-in-depth alongside SPIKE Nexus’s own\nvalidation.\nSee Also: ADR-0029: Restrict Recovery and Restoration Operations to SPIKE\nPilot for detailed rationale and design\ndecisions.\nAdministrative Access\nAlthough SPIKE uses policy-based access to secrets and administrative\noperations, SPIKE Nexus recognizes certain builtin SPIFFE IDs and assigns\nthem predefined roles:\nAdministrative access is granted using special SPIFFE IDs:\nspiffe://$trustRoot/spike/pilot/role/superuser: Super Admin. Can do\neverything but recovery or restore operations.\nspiffe://$trustRoot/spike/pilot/role/recover: Recovery user. Can only\nrecover the root key shards to the local file system.\nspiffe://$trustRoot/spike/pilot/role/restore: Restore user. Can only\nrestore the root key by providing one shard at a time.\nThis gives us the flexibility to have separate users own distinct operational\nresponsibilities. For example, a specific operator may only restore the system\nupon an unexpected crash, but they may not have the right to define access\npolicies for secrets.\nThis separation also provides better auditability.\nOnce the system is initialized, accidental re-initialization is prevented.\nFor emergencies the admin user can use an out-of-band script to\n“factory-reset” SPIKE.\nMulti-Admin Support\nOther than the three predefined roles (superuser, recover, restore), named\nadmin access to the system would only be possible using an external identity\nmanager such as an OIDC provider.\nSPIKE focuses on secure and efficient secret storage. It delegates access\nand identity management to established standards like OIDC, keeping\nauthentication concerns out of scope.\nSecurity of SPIKE Binaries\nSPIKE takes several measures to ensure the security of its binary\ndistributions:\nSymbol Stripping: Release binaries have symbols stripped to reduce attack\nsurface and minimize information leakage that could be used in exploitation\nattempts.\nCryptographic Verification: All official SPIKE releases include SHA256\nchecksums that users should verify before installation. This ensures the\nintegrity of the binaries and confirms they haven’t been tampered with during\ndistribution.\nVerification Process: Users can verify the integrity of downloaded\nbinaries using the following command: sha256sum -c spike-v$version.sha256.\nOr, on macOS: shasum -a 256 -c spike-v0.4.0.sha256.\nTransparency: All release artifacts and their corresponding checksums are\npublicly available on the official GitHub releases page,\nallowing for community verification and trust.\nFIPS Compliance\nFIPS stands for Federal Information Processing Standards. FIPS\nare publicly announced standards developed by the U.S. National Institute of\nStandards and Technology (NIST) for use in computer systems by\nnon-military American government agencies and government contractors.\nFIPS standards cover various aspects of information technology.\nFIPS 140-3, in particular, defines standards of security for hardware\nand software cryptographic modules used to protect sensitive information.\nAll SPIKE binaries are configured to be FIPS 140-3-enabled at compile\ntime.\nWe use GOFIPS140=v1.0.0 build time settings, that sets the\nGODEBUG=fips140=on flag which ensures that the Go runtime is in FIPS 140-3\nmode.\n \nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/architecture/security-model/","title":"SPIKE Security Model"},"https://spike.ist/architecture/system-overview/":{"body":"SPIKE System Overview\nThis document provides an overview of SPIKE, a SPIFFE-native\nSecrets Management solution. It is designed to ensure secure storage, recovery,\nand management of sensitive data with a focus on simplicity, reliability,\nand scalability for production environments.\nSPIKE Components\nSPIKE (Secure Production Identity for Key Encryption) is a Secrets\nManager built on top of a SPIFFE (Secure Production\nIdentity Framework for Everyone) identity control plane, consisting of three\ncomponents:\nSPIKE Nexus (./nexus): The secrets store\nSPIKE Pilot (./spike): The CLI\nSPIKE Keeper (./keeper): The redundancy mechanism\nSPIKE Boostrap: (./bootstrap): Securely initializes SPIKE Nexus\nwith the required crypto material without human intervention.\nThe system provides high availability for secret storage with a manual recovery\nmechanism in case of irrecoverable failure.\nHere is an overview of each SPIKE component:\nSPIKE Nexus\nSPIKE Nexus is the primary component responsible for secrets management.\nIt creates and manages the root encryption key.\nIt handles secret encryption and decryption.\nIt syncs the root key’s Shamir Shards with SPIKE\nKeeperss. These shards then can be used to recover SPIKE Nexus\nupon a crash.\nIt provides an RESTful mTLS API for secret lifecycle management,\npolicy management, admin operations, and disaster recovery.\nSPIKE Keeper\nIt is designed to be simple and reliable.\nIt does one thing and does it well.\nIts only goal is to keep a Shamir Shard in memory.\nBy design, it does not have any knowledge about its peer SPIKE Keepers,\nnor SPIKE Nexus. It doesn’t require any configuration to be brought up.\nThis makes it simple to operate, replace, scale, replicate.\nIt enables automatic recovery if SPIKE Nexus crashes.\nSince SPIKE Keeper only contains a single shard, its compromise will not\ncompromise the system.\nThe more keepers you have, the more reliable and secure your SPIKE\ndeployment will be. We recommend 5 SPIKE Keeper instances with a\nshard-generation threshold of 3, for production deployments.\nCheck out SPIKE Production Hardening Guide for more\ndetails.\nSPIKE Pilot\nIt is the CLI to the system (i.e., the spike binary that you see\nin the examples).\nIt converts CLI commands to RESTful mTLS API calls to SPIKE Nexus.\nSPIKE Pilot is the only management entry point to the system.\nThus, deleting/disabling/removing SPIKE Pilot reduces the attack surface\nof the system since admin operations will not be possible without\nSPIKE Pilot.\nSimilarly, revoking the SPIRE Server registration of SPIKE Pilot’s\nSVID (once SPIKE Pilot is no longer needed) will effectively block\nadministrative access to the system, improving the overall security posture.\nSPIKE Bootstrap\nIt is a one-time initialization component that runs during system setup.\nIt generates a cryptographically secure random root key.\nIt splits the root key into Shamir shards and distributes them\nto the configured SPIKE Keeper instances.\nIt verifies that SPIKE Nexus has successfully initialized by performing\nan end-to-end encryption test.\nSPIKE Bootstrap is designed to run once per deployment. In Kubernetes\nenvironments, it uses a ConfigMap to track whether bootstrap has completed,\npreventing duplicate initialization. In bare-metal deployments, it runs each\ntime unless explicitly skipped.\nThis separation of concerns keeps SPIKE Nexus’s initialization flow simple:\nSPIKE Nexus always polls SPIKE Keepers for shards, while SPIKE\nBootstrap handles the initial key generation and distribution.\nIdentity Control Plane\nThe following diagram shows how SVIDs are assigned to SPIKE\ncomponents and other actors in the system. SVIDs, or SPIFFE-Verifiable\nIdentity Documents, are x.509 Digital Certificates, that contain\na SPIFFE ID in their SAN (Subject Alternative Name)\nThe following diagram illustrates how SPIFFE identities are distributed\nacross different SPIKE system components using SPIRE as the identity\ncontrol plane.\nEstablishing the Identity Control Plane.\nIn a SPIKE deployment, SPIRE acts as the central authority that issues\nSVIDs to different workloads:\nApplications who need to manage secret lifecycles stored in SPIKE Nexus.\nSPIKE Infrastructure components:\nSPIKE Nexus\nSPIKE Pilot\nMultiple SPIKE Keeper instances\nSPIKE Bootstrap, to be executed once during system bootstrapping.\nEach component receives its own SVID, which serves as a\ncryptographically verifiable identity document. These SVIDs allow the\ncomponents to:\nProve their identity to other services\nEstablish secure, authenticated mTLS connections\nAccess resources they’re authorized to use\nCommunicate securely with other components in the system\nThe dashed boxes represent distinct security and deployment boundaries.\nSPIRE provides identity management capabilities that span across these\ntrust boundaries. This architecture allows administrative operations to be\nperformed on a hardened, secured SPIRE Server instance (shown in the top\nyellow box). This restricts direct access to sensitive operations\n(like creating SPIRE Server registration entries) from users and applications\nlocated in other trust boundaries.\nZero Trust FTW!\nThe approached described here is a common pattern in zero-trust\narchitectures, where every service needs to have a strong, verifiable\nidentity regardless of its network location.\nThis approach is more secure than traditional methods like shared secrets or\nnetwork-based security, as each workload gets its own unique, short-lived\nidentity that can be automatically rotated and revoked if needed.\nBuiltin SPIFFE IDs\nSPIKE Nexus recognizes the following builtin SPIFFE IDS:\nspiffe://$trustRoot/spike/pilot/role/superuser: Super Admin\nspiffe://$trustRoot/spike/pilot/role/recover: Recovery Admin\nspiffe://$trustRoot/spike/pilot/role/restore: Restore Admin\nYou can check out the **Administrative Access section of SPIKE security\nmodel for more\ninformation about these roles.\nSPIKE Component Interaction\nThe following diagram depicts how various SPIKE components interact with\neach other:\nSecret Management in SPIKE.\nAt the top level, there’s an Application that consumes secrets through an\nmTLS (mutual TLS) connection to SPIKE Nexus. The application will likely use\nthe SPIKE Developer SDK to consume secrets without having\nto implement the underlying SPIFFE mTLS wiring.\nThe secrets are created/managed through:\nAn administrative user interacting with SPIKE Pilot through a command line\ninterface (the CLI is the spike binary itself).\nThen, SPIKE Pilot communicates with SPIKE Nexus over mTLS to create\nsecrets.\nSPIKE Nexus is the central management point for secrets. It’s our\nsecrets store.\nAt the bottom of the diagram, multiple SPIKE Keepers connect to\nSPIKE Nexus via mTLS. Each SPIKE Keeper holds a single\nShamir Secret Share (shard) of the root key that\nSPIKE Nexus maintains in memory.\nThis design ensures that compromising any individual SPIKE Keeper cannot\nbreach the system, as a single shard is not enough to reconstruct the\nroot key.\nThe system’s security can be tuned by configuring both the total number of\nSPIKE Keepers and the threshold of required shards needed to reconstruct\nthe root key.\nDuring system bootstrapping, SPIKE Nexus distributes these shards to the\nSPIKE Keepers. If SPIKE Nexus crashes or restarts, it automatically\nrecovers by requesting shards from a threshold number of healthy\nSPIKE Keepers to reconstruct the root key.\nThis mechanism provides automatic resiliency and redundancy without requiring\nmanual intervention or “unsealing” operations that are common in other secret\nmanagement solutions.\nThe system’s security and availability can be tuned by configuring both the\ntotal number of SPIKE Keepers and the threshold of required shards\nneeded to reconstruct the root key. This flexibility allows implementors to\nbalance their security requirements against operational needs–from basic\nredundancy to highly paranoid configurations requiring many SPIKE Keepers\nto be healthy.\nBoth the individual shards and the assembled root key are exclusively held in\nmemory and NEVER persisted to disk, forming a core aspect of SPIKE’s security\nmodel.\nThe system uses mTLS (mutual TLS) throughout for secure communication between\ncomponents, which ensures:\nAll communications are encrypted\nBoth sides of each connection authenticate each other\nThe system maintains a high level of security for secret management\nSPIKE Nexus Root Key Sharding\nThe following diagram shows how the SPIKE Nexus root key is split into\nshards and then delivered to SPIKE Keepers:\nSecret Nexus root key sharding.\nThe SPIKE Nexus has a root key that’s essential for encrypting the\nbacking store. This root key is split into Shamir shards based\non a configurable number and threshold. There should be as many keepers as\nthe created shards.\nThe key advantage of using Shamir sharding specifically (versus other forms\nof key splitting) is that it’s mathematically secure: The shards are\ncreated using polynomial interpolation, meaning:\nEach shard contains no meaningful information about the original key by itself\nYou need a threshold number of shards to reconstruct the key\nThe system can be configured to require any M of N shards to reconstruct the\nroot key (e.g., any 2 of 3, or 3 of 5, etc.)\nThis provides both security and fault tolerance: The system can continue\noperating even if some SPIKE Keepers become temporarily unavailable, as\nlong as the threshold number of shards remains accessible.\nSPIKE Bootstrap Flow\nThe following diagram depicts the SPIKE Bootstrap flow, where SPIKE\nKeepers receive their shards for SPIKE Nexus to use. Open the picture on a\nnew tab for an enlarged version of it.\nSPIKE Bootstrap flow.\nSPIKE Nexus Initial Bootstrapping\nThe following diagram depicts SPIKE Nexus initial bootstrapping flow.\nSPIKE Nexus initialization.\nWhen SPIKE Nexus is configured to use an in-memory backing store, we\ndon’t need SPIKE Keepers because the database is in SPIKE Nexus’s memory\nand there is nothing to recover if SPIKE Nexus crashes. This is a convenient\nsetup to use for development purposes.\nWhen SPIKE Nexus is configured to use a persistent backing store (like\nSQLite), it does not generate the root key itself. Instead, SPIKE Nexus\nalways polls SPIKE Keepers to collect enough shards to reconstruct the\nroot key. This polling continues indefinitely until the threshold number of\nshards is collected.\nThe root key is generated by a separate component: SPIKE Bootstrap.\nWhen SPIKE Bootstrap runs, it generates a secure random root key, splits\nit into Shamir shards, and distributes those shards to the\nconfigured SPIKE Keeper instances. This separation of concerns keeps\nSPIKE Nexus’s initialization flow simple and predictable.\nSPIKE Nexus Updating SPIKE Keepers\nIn addition, there is an ongoing operation that runs as a separate goroutine\ninside SPIKE Nexus:\nAt regular intervals, if SPIKE Nexus has a root key, it computes\nShamir shards and dispatches them to the SPIKE Keepers.\nThis ensures that the shards remain synchronized even if individual\nSPIKE Keepers restart.\nSPIKE Nexus updating SPIKE Keepers.\nThis flow establishes a secure boot process: SPIKE Bootstrap handles the\ninitial key generation and distribution, while SPIKE Nexus focuses solely\non recovering the root key from SPIKE Keepers whenever it starts.\nThe following state diagram illustrates how each of these recovery and\nrestoration steps relate to the existence of the root key* in memory.\nSPIKE Nexus Root Key state diagram.\nSPIKE “break-the-glass” Disaster Recovery\nThere is one edge case, though: When there is a total system crash, and SPIKE\nKeepers don’t have any shards in their memory, then you’ll need a manual\nrecovery.\nThis event is highly unlikely, as deploying a sufficient number of SPIKE\nKeepers with proper geographic distribution significantly reduces the\nprobability of them all crashing simultaneously. Since SPIKE Keepers are\ndesigned to operate independently and without requiring intercommunication,\nfailures caused by systemic issues are minimized. By ensuring redundancy across\ndiverse geographic locations, even large-scale outages or localized failures are\nhighly improbable to impact all SPIKE Keepers at once.\nThat being said, unexpected failures can occur, and the disaster recovery\nprocedure for these situations.\nNeed a Runbook?\nThe SPIKE Recovery Procedures page contains\nstep-by-step instructions to follow during, before, and a disaster occurs.\nYou will need to prepare beforehand so that you can recover the root\nkey when the system fails to automatically recover it from SPIKE Keepers.\nThe following diagram outlines creating recovery shards for SPIKE Nexus\nbefore a disaster strikes, while the system is healthy. The operator leverages\nspike operator recover command to create the shards. You can open the picture\non a new tab for an enlarged version of it.\nSPIKE Manual disaster recovery flow.\nAnd the following diagram outlines how you can use spike operator restore\ncommand to restore SPIKE Nexus back to its working state after a disaster.\nYou can open the picture on a new tab for an enlarged version of it.\nSPIKE Nexus manual restoration flow.\nPreventive Backup\nRun spike operator recover as Soon as You Can\nYou must back up the root key shards using spike operator recover BEFORE a\ndisaster strikes.\nThis is like having a spare key stored in a safe place before you lose your\nmain keys. Without this proactive backup step, there would be nothing to\nrecover from in a catastrophic failure.\nThis operation needs to be done BEFORE any disaster; ideally, shortly after\ndeploying SPIKE.\nHere is how the flow goes:\nThe Operator runs spike operator recover using SPIKE Pilot.\nSPIKE Pilot saves the recovery shards on the home directory of the system/\nThe Operator encrypts and stores these shards in a secure medium, and securely\nerases the copies generated as an output to spike operator recover.\nWhen later recovery is needed, the Operator will provide these shards to\nSPIKE to restore the system back to its working state.\nDisaster Recovery\nWhen disaster strikes:\nSPIKE Nexus and SPIKE Keepers have simultaneously crashed and restarted.\nSPIKE Nexus has lost its root key.\nSPIKE Keepers don’t have enough shards.\nThus, automatic recovery is impossible and the system requires manual\nrecovery.\nIn that case, the Operator uses spike operator restore to provide the previously\nbacked-up shards one at a time\nSPIKE Pilot forwards the entered shard to SPIKE Nexus\nSystem acknowledges and tracks the progress of shard restoration, returning\nthe number of shards received, and the number of shards remaining to restore\nthe root key.\nSystem Restoration\nOnce enough shards are provided, SPIKE Nexus reconstructs the root key.\nA separate goroutine redistributes shards to SPIKE Keepers and the System\nreturns to normal operation.\nWant More Pretty Pictures?\nThe diagrams above have been simplified for clarity. You can find more detailed\nones in the diagrams folder of the SPIKE GitHub repository.\n \nSPIKE System Overview\nSPIKE Security Model\nSPIKE Architectural Decision Records\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/architecture/system-overview/","title":"System Overview"},"https://spike.ist/community/":{"body":"Share your knowledge and engage in meaningful discussions. Below, you will find\nhelpful resources and links to foster collaboration and learning within the\ncommunity.\nCommunity\nHello Universe\nContact Us\nPresentations and Demos","id":"https://spike.ist/community/","title":"Community"},"https://spike.ist/community/contact/":{"body":"Get in Touch\nHi 👋 —Thank you for wanting to contact us ❤️.\nThis page outlines the various ways you can touch base.\nSPIFFE Slack Workspace\nThe SPIFFE Slack Workspace is one of the best\nways to get in touch with the community.\nYou can use the SPIFFE Slack Workspace ask\nquestions, get help, and share ideas, comments, and suggestions with the\ncommunity.\nIf you have a question, issue with your development environment, a feature\nrequest, or a bug report, it’ll be great if you could initiate the\ndiscussion on Slack.\nEmail\nYou can also reach out to us on via email, sending an email to\nteam@spike.ist.\nGitHub Issues\nAdditionally, you can create a GitHub\nissue; however, we recommend\nusing the SPIFFE Slack Workspace to initiate\na discussion first, before creating an issue.\n \nHello Universe\nContact Us\nPresentations and Demos\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/community/contact/","title":"Contact Us"},"https://spike.ist/community/hello/":{"body":"Community\n👋 Welcome to the SPIKE community! We are excited to have you here.\nWe are a community of developers, security professionals, researchers, and\nzero-trust security enthusiasts who are passionate about keeping secrets secret.\nJoin the SPIFFE Community on Slack\nOpen Source is better together.\nJoin SPIFFE’s Slack Workspace and let us change the\nworld together 🤘.\nReport a Security Vulnerability\nIf you have found a security vulnerability, please\nfollow this guideline to responsibly disclose it.\nEmpower Our Journey ✊\n⭐️ Star SPIKE to show your support.\nYour support enables us to connect with even more individuals through this\nincredible technology.\nThank You ❤️\nThanks so much for your interest: It means a lot 🙏\n \nTürkçe Konuşanlar İçin\nÖzgür yazılım birlikte olunca güzel 🤗.\nEğer SPIKE ile ilgili bir sorun varsa, projeye katkıda bulunmak istiyorsan\nveya başka bir konuda yardıma ihtiyacın varsa, dil engeli olmadan bize\nulaşabilirsin.\nKampus Discord Sunucusu’nda SPIKE kanalında buluşalım ve birlikte\ndünyayı daha güvenli hale getirelim 🤘.\n \nHello Universe\nContact Us\nPresentations and Demos\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/community/hello/","title":"Hello Universe"},"https://spike.ist/community/presentations/":{"body":"Presentations and Demos\nHere you can find a range of presentations and demos that highlight SPIKE’s\ncapabilities and showcase its innovative features.\nIntroduction to SPIKE: Secure Production Identity for Key\nEncryption:\nThis is our first SPIKE walkthrough, where we introduce the project and\nits goals.\nUnlocking SPIKE: A New Era for Secure Identity-Driven\nSecrets:\nThis is a brief introduction to SPIKE; what it is, how it works, and why\nit’s important.\nDeveloping SPIKE on Bare Metal and Kubernetes:\nThis walkthrough demonstrates building and running SPIKE both on local\nbare-metal Linux and inside a local Minikube Kubernetes, illustrating how the\nproject can be built, developed, and tested on your development environment.\nBuilding and Testing SPIKE from Source in ~2 Minutes:\nThis is a quick demonstration of how to clone, build, and test the SPIKE\nsystem from its codebase in under two minutes, showing rapid developer\niteration and validating that the core components work end-to-end.\nGoodbye Passwords: Secure Secrets Management with SPIFFE\nand SPIKE:\nIn this demo, we allow a user to use spike just by checking an SVID; we\ndon’t use any kind of passwords to identify the user, SPIFFE does it for us.\nUnveiling SPIKE’s New Audit Trail Capabilities: Zero-Trust Meets\nAccountability:\nThis demo explains the new auditing capabilities of SPIKE that we will\ncontinue developing. This is the initial incarnation of the feature, and\nmore will come.\nIntroducing Policy-Based Access Control in SPIKE:\nThis demo introduces the new policy-based access control feature of SPIKE.\nThis is the initial incarnation of the feature. We will create more demos\nas we enhance the feature.\nIntroducing SPIKE Secret Metadata API\nThis demo introduces SPIKE’s new metadata API, which lets you attach\nkey/value metadata to secrets to add richer context, governance, or\nclassification. It also shows how the SPIKE Go SDK can be used to both set\nand retrieve that metadata in conjunction with policy enforcement.\nUnlocking Secrets: Policy-Based Access and Metadata in\nSPIKE\nThis demo showcases how SPIKE enforces policy-based access control when\nreading or writing secrets. We also look into SPIKE’s Secret Metadata API.\nPolicy to the Rescue: Secure Secret Access and Metadata with\nSPIKE:\nThis demo introduces the new SPIKE metadata API. We also use the SPIKE\nGo SDK to consume secrets.\nUsing Policies to Read and Write Secrets using SPIKE:\nThis demo introduces the new Makefile-based development workflow, the\nenhanced starter script, policy-based access control, and metadata support.\nSecrets Resiliency with SPIKE: Self-Healing and Doomsday\nRecovery:\nSecrets management is critical, but what happens when everything fails? In\nthis video, we explore SPIKE’s disaster recovery mechanisms, covering both\nself-healing capabilities and the manual break-the-glass recovery process.\nFederating Secrets with SPIFFE and SPIKE:\nIn this demo, we show how you can deploy SPIRE and SPIKE from SPIFFE\nHelm charts. We then establish a multi-cluster secret federation where\nthe workload clusters can securely access secrets stored in the management\ncluster.\nSPIKE’s Shamir’s Secret Sharing with SPIFFE mTLS:\nThis demo walks through how SPIKE leverages Shamir’s Secret Sharing to split\nthe root key across multiple SPIKE Keeper nodes such that no single node holds\nthe full key. It also demonstrates how communications between SPIKE\nKeepers and SPIKE Nexus are secured using SPIFFE-based mTLS to ensure\nauthenticated, encrypted transport.\nSecure SPIKE Deployment: Integrating SPIRE with an Isolated Management\nCluster:\nIn this demo, the presenter shows how to deploy SPIKE in a management cluster\nthat is isolated from workload clusters, integrating SPIRE to issue identities\nand enforce trust boundaries.\nCross-Cluster Secrets Federation with SPIFFE and\nSPIKE:\nHere, the focus is on federating secrets across multiple clusters, allowing\nworkloads in different clusters to access shared secrets securely. The demo\nshows how SPIKE can bridge trust boundaries using SPIFFE identities and\nsecret federation.\n \nHello Universe\nContact Us\nPresentations and Demos\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/community/presentations/","title":"Presentations and Demos"},"https://spike.ist/community/resources/":{"body":"Resources\nSource Code\nSPIKE on GitHub\nSPIKE Go SDK on GitHub\nAPI Documentation\nSPIKE API Documentation\nSPIKE Go SDK API Documentation\n \nHello Universe\nContact Us\nPresentations and Demos\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/community/resources/","title":"Resources"},"https://spike.ist/development/":{"body":"Development\nDeploying SPIKE Locally\nSPIKE on Linux","id":"https://spike.ist/development/","title":"Developing SPIKE"},"https://spike.ist/development/api-docs/":{"body":"API Documentation\nThe public Go API documentation for SPIKE and the SPIKE Go SDK is available on\npkg.go.dev:\nSPIKE API Documentation\nSPIKE Go SDK API Documentation\nSource Code\nThe source code for SPIKE and the SPIKE Go SDK is available on GitHub:\nSPIKE on GitHub\nSPIKE Go SDK on GitHub\n \nDeploying SPIKE Locally\nSPIKE on Linux\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/development/api-docs/","title":"API Documentation"},"https://spike.ist/development/bare-metal/":{"body":"SPIKE on Linux\nIn this guide, you will learn how to build, deploy, and test SPIKE\nfrom the source. This guide assumes basic familiarity with terminal commands and\nthe ability to install and execute the required software. It is recommended to\nhave administrative privileges on your system, as some steps might require them.\nThe tools and resources mentioned in this guide are essential for building and\nworking with SPIKE effectively. Make sure to follow each step carefully to\nensure a smooth experience. In case you encounter issues, please discuss\nthem on the SPIFFE community Slack.\nEnvironment Variables\nIt may be useful to set the following environment variables before\nyou start.\nThis is a sample configuration; please adjust as needed:\nPrerequisites\nThis quickstart guide assumes you are using an Ubuntu Linux operating\nsystem. The steps may slightly differ if you are using a different operating\nsystem.\nSPIKE can run anywhere SPIFFE can be deployed. For consistency,\nthe tutorials and guides in SPIKE documentation use Ubuntu as\nthe base operating system. Though, if you encounter issues with your OS, feel\nfree to discuss them on the SPIFFE community Slack.\nHere are the OS details that we are testing this guide on:\nIn addition, you will need the usual suspects:\ngit\nmake\ngo (the most recent version would do)\nnode ((optional: most AI tools require it)\nbuild-essential\n(i.e., sudo apt install build-essential)\n(Optional) [zola])zola, if you want to build the documentation site\nlocally\nGo Environment Setup\nHere’s part of the go env setting we use for this guide. Yours might slightly\nvary depending on your development configuration.\nThe environment setup shown below is mostly what Go uses by default, yet, we\nprovide them just-in-case to eliminate any environment-related setup issues you\nmight face.\nIf you need, you can also use Go’s built-in tooling to view and modify your Go\nenvironment settings. Use the go env command to inspect or set specific\nenvironment variables.\nFor example:\nThese changes made using the go env -w command are persistent and stored in\nGo configuration files. You can view these changes in the file located at\n$(go env GOENV). To reset a variable to its default value, use:\nBuilding SPIRE\nTo get started, let’s create a development version of SPIRE.\nNote that this is not a production-ready setup. For production, you should\nfollow the official SPIRE documentation.\nLet’s first build SPIRE from the source:\nAdding SPIRE Binaries to $PATH\nAdd the SPIRE binaries to your $PATH:\nAdding SPIKE Binaries to $PATH\nThe bare-metal installation will create SPIKE binaries in the project\nroot directory by default. You can add the binaries to your $PATH as follows:\nAdditionally, you can source the following file to define additional\nSPIKE-related environment variables for your convenience. This is NOT\nrequired because if you don’t define them, SPIKE will assume sensible\ndefaults.\nSourcing ./hack/lib/env.sh allows you to override the default SPIKE\nenvironment settings. This can be particularly useful for development\npurposes to test custom setups or alternative paths.\nHaving all overrides in a single place is also handy as it doubles\nas documentation to help understand the development environment.\nVerifying SPIRE Installation\nVerify SPIRE installation as follows:\nOutput:\nBuilding SPIKE\nNext, build SPIKE binaries:\nConfigure Local DNS\nThe default agent configuration file uses\nspire.spike.ist as the SPIRE Server DNS name. To resolve this name to the\nloopback address, add the following entry to your /etc/hosts file:\nStarting SPIKE\nThere is a starter script that combines and automates some steps in the\nfollowing sections. It configures and runs SPIRE Server, SPIRE Agent,\nSPIKE Nexus, and SPIKE Keeper.\nYou can run this to start all the required components:\nmake start Is Also a Mini Smoke Test\nThe make start script also runs sample secret and policy operations to\nensure everything is working as expected. So, although it is not strictly\nnecessary, you are encouraged to run it once before starting development\nto ensure everything is working as expected.\nAnd then, on a separate terminal, you can run spike:\nKilling the make start Process Will Exit Cleanly\nWhen you stop the make start script by CTRLT+C, it will exit cleanly;\nduring this process, it will also kill all the running SPIKE and SPIKE\ncomponents.\nHowever, in certain cases, especially if the script has not run successfully\nto the end, it might leave some processes running in the background.\nIn such cases, you can kill the processes manually by running:\nAlthough the make start script is convenient, it might be useful to run the\ncomponents individually to understand the process better and debug any issues\nthat might arise.\nThe following sections will guide you through the individual steps.\nCLI Reference\nOne of the best ways to get the most up-to-date information about the spike\nCLI is to run spike --help or spike [command] --help.\nAdditionally, you can check out the SPIKE CLI\nDocumentation for a more detailed reference with sample commands\nand examples.\nThere are also demo recordings that showcase the SPIKE CLI in\naction.\nStart SPIRE Server\nStart the SPIRE Server:\nCreating Registration Entries\nThe following script will create registration entries for the SPIKE components:\nStart SPIRE Agent\nStart the SPIRE Agent:\nStart SPIKE Components\nThen start SPIKE components:\nMake sure you started the following binaries, each runs on a specific terminal\nwindow.\nStart the workloads:\nHere is how one of these SPIKE Keeper startup scripts:\nAnd here is how SPIKE Nexus startup script:\nBootstrap SPIKE\nBefore using SPIKE you need to bootstrap it with a root key.\nFor that, execute the following:\nUsing SPIKE Pilot\nDefine an alias to SPIKE Pilot:\nRun SPIKE Pilot and explore the CLI:\nTesting Out SPIKE\nLet’s test SPIKE by creating a secret:\nNow, let’s read the secret back:\nLet’s delete the secret now:\nIf you try to read the secret again, you won’t be able to get it.\nFeel free to experiment with other SPIKE commands in your sandbox\nenvironment to explore its capabilities and better understand how it works. This\nis a great way to familiarize yourself with its features and test various\nscenarios safely.\nUninstalling SPIKE\nRetaining the SPIKE binaries on your system poses no issues. These binaries\nare compact, consuming minimal disk space and no resources when inactive. As\nsimple executable files, they have no impact on your system’s performance when\nnot in use. Therefore, keeping them installed is completely harmless.\nHowever, if you want to wipe everything out, you can remove the binaries\nand SPIKE’s data folder, and that would be it:\nIf you have spire-server and spire-agent on your system, and you are not\nusing them for anything else; you can remove them too:\nHave Fun\nThat’s about it.\nEnjoy.\n \nDeploying SPIKE Locally\nSPIKE on Linux\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/development/bare-metal/","title":"SPIKE on Linux"},"https://spike.ist/development/local-deployment/":{"body":"Building SPIKE Locally and Deploying to Minikube\nIf you want to contribute to the SPIKE codebase and test your changes on a\nlocal Kubernetes cluster, follow this guide. If you want to build SPIKE from\nthe source code but want to test it on a bare metal Linux machine without\nusing any containerization solution, check out\nSPIKE on Linux instead.\nIn this guide we will follow a similar approach to\nSPIKE Quickstart, with the following changes:\nBuild container images locally from existing source code.\nPush the container images to a local container registry.\nUse a customized values-dev.yaml for the helm charts to create a more\nproduction-like namespace structure.\nWithout further ado, let’s begin with the prerequisites.\nPrerequisites\nHere is a list of things you need to have installed on your machine before\nstarting with this guide:\nHave Docker installed and running on your machine.\nHave a kubectl client installed.\nHave make installed on your machine.\nHave a minikube binary installed.\nHave helm binary installed.\nDocker Registry Setup\nFor security, SPIKE components lock the memory they use at runtime. You may\nneed to update the ulimit settings for your Docker daemon to allow this.\nFor Linux, edit or create the /etc/docker/daemon.json file and add the\nfollowing:\n17179869184 will set the maximum amount of memory a container can lock to\n16GB. You can set this to a lower value if you want, since SPIKE components\ndon’t need that much memory.\nFor Docker for Mac, or Docker for Windows, you will need to update\nthe Docker Engine settings from the “Settings > Docker Engine” menu as\nfollows:\nOnce the change is done, remember to restart the Docker Engine.\nAll-in-One Script\nIf you have the prerequisites set up and want to skip ahead and run the entire\nguide in one go, you can use the following script:\nStarting Minikube\nTo start a local Minikube cluster, clone the project repository and run the\nfollowing command in the root directory of the project:\nIf successful, you will have a local Minikube cluster running with the\nnecessary plugins enabled. You can verify that Minikube is running by executing:\nBuild Container Images Locally\nWe have a make target to build the container images locally.\nPushing Container Images to the Local Registry\nNext up, we’ll push the container images to our internal Minikube container\nregistry:\nThat said, make k8s-load-images is the safest and simplest way to push\nthe images into Minikube without having to deal with Docker networking,\nport forwarding, and Docker registry, making it the preferred method, and\nit is what we recommend.\nDeploying SPIRE and SPIKE to the Local Cluster\n⚠️ Changes Due to Current Upstream Helm Charts Work\nThere are some changes to the upstream SPIFFE Helm Charts that are\ncurrently in progress. Until they are merged, you will need to use a\nfeature branch of the upstream repo.\nBefore you proceed, please follow the instructions at\nthe Quickstart Guide to clone your local\nhelm-charts-hardened repo at the spike-next branch first.\nOnce we push the container images to the registry, we can now deploy SPIRE\nand SPIKE.\nVerifying SPIKE Deployment\nFirst, make sure that your components are up and running.\nThe following commands should all show Ready and Runing containers.\nYou can also shell into SPIKE Pilot to create and retrieve secrets to\nensure SPIKE is up and running and properly configured in the cluster.\nYou Are All Set\nThat’s it. Now, you know how to modify SPIKE’s source code and test your\nchanges in a local Kubernetes cluster.\nNext up, you might want to Read SPIKE’s Source Code to learn more\nabout SPIKE’s internals, or learn more about SPIKE’s\narchitecture or security model.\nYou might also want to try building SPIKE on a bare metal\nLinux if you want to see how SPIKE can be used on a bare\nmetal Linux machine without using container orchestration such as Kubernetes\n \nDeploying SPIKE Locally\nSPIKE on Linux\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/development/local-deployment/","title":"SPIKE on Kubernetes"},"https://spike.ist/development/sdk-integration/":{"body":"SDK Integration Guide\nThis guide demonstrates how to integrate the SPIKE SDK into your\napplications for secret management. It covers the complete workflow from\nSPIRE registration to secret operations.\nPrerequisites\nBefore integrating the SPIKE SDK, ensure the following are in place:\n1. SPIRE Registration\nYour workload must be registered in SPIRE with a SPIFFE ID:\nKubernetes example:\nBare-metal example:\n2. SPIKE Policy\nA policy must grant your workload access to the secrets it needs:\n3. SPIKE Nexus Running\nEnsure SPIKE Nexus is running and accessible from your workload.\nBasic Integration\nHere is a minimal example showing how to use the SPIKE SDK:\nDeployment\nKubernetes Deployment\nKey configuration:\nMount the SPIRE Agent socket\nSet SPIFFE_ENDPOINT_SOCKET environment variable\nSet SPIKE_NEXUS_API_URL to the Nexus service endpoint\nBare-Metal Deployment\nIntegration Patterns\nPattern 1: Initialization Secret Fetch\nFetch all required secrets at the application startup:\nPattern 2: On-Demand Secret Fetch\nFetch secrets when needed for specific operations:\nPattern 3: Cached Secrets with Refresh\nCache secrets and refresh them periodically:\nSecret Versioning\nSPIKE supports secret versioning. You can access previous versions:\nError Handling\nCommon Errors and Solutions\nWorkload is not registered in SPIRE:\nSolution: Register your workload in SPIRE with correct selectors.\nNo policy granting access:\nSolution: Create a policy granting your workload access to the secret path.\nSPIKE Nexus unreachable:\nSolution: Verify SPIKE Nexus is running and check network connectivity.\nSPIRE Agent not running:\nSolution: Start SPIRE Agent and verify the socket path.\nWhat the SDK Handles\nThe SPIKE SDK handles all the complexity of secure secret management:\nSVID acquisition from SPIRE Agent\nmTLS setup with automatic certificate rotation\nAPI communication with SPIKE Nexus\nError handling and retries\nYour application focuses on business logic, not secret management\ninfrastructure.\n \nDeploying SPIKE Locally\nSPIKE on Linux\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/development/sdk-integration/","title":"SDK Integration Guide"},"https://spike.ist/getting-started/":{"body":"Getting Started\nSPIKE Quickstart Guide","id":"https://spike.ist/getting-started/","title":"Getting Started"},"https://spike.ist/getting-started/quickstart/":{"body":"⚠️ Additional Instructions\nSince SPIFFE Helm Charts do not have SPIKE Bootstrap yet, the\ninstructions on this page have additional guidance to deploy SPIKE\nusing a local SPIFFE Helm Charts repo.\nWe will update this page once SPIKE Bootstrap is available in the\nupstream SPIFFE Helm Charts.\nSPIKE Quickstart Guide\nThe fastest way to get started with SPIRE and SPIKE is to deploy them\nusing the official SPIFFE Helm chart.\nYou can deploy SPIKE to any Kubernetes cluster, including a local one like\nKinD or Minikube. We will use Minikube in this guide.\nYour installation may vary slightly depending on the Kubernetes cluster you\nare using, but the general steps will be the same.\nWe will also use a Debian Linux machine throughout this guide, but you\ncan use any OS that supports SPIFFE, SPIRE, Docker, and Kubernetes. Depending on\nyour OS, your installation steps may vary slightly, but the general steps will\nnot change much.\nPrerequisites\nHere is a list of things you need to have installed on your machine before\nstarting with this guide:\nHave Docker installed and running on your machine.\nHave a kubectl client installed.\nHave make installed on your machine.\nHave a minikube binary installed.\nHave helm binary installed.\n(Optional) install zola if you want to build the documentation\nlocally.\nFor Windows Users\nThe best way to get started on Windows is to use Windows Subsystem for\nLinux. After installing WSL, make sure to install the prerequisites\n(docker, kubectl, make, minikube, helm) to your WSL distribution\nand not to your Windows machine.\nHosts File Setup\nSPIKE bare-metal installation requires that spike.spike.ist is\nconfigured in your /etc/hosts file. However, WSL will automatically override\nyour Linux hosts wile every time you restart your WSL distribution.\nTo fix this, edit /etc/wsl.conf and add the following lines:\nThen update your hosts file:\nThen restart your WSL distribution, and the hosts file is yours to\nmodify and maintain.\nNote that editing C:\\Windows\\System32\\drivers\\etc\\hosts will NOT work.\nWSL Memory Lock Limit\nWSL sets a default RLIMIT_MEMLOCK of 64MB for all shell sessions. This limit\nis imposed by WSL’s Relay process before any Linux configuration is read, which\nmeans standard Linux approaches (/etc/security/limits.conf, systemd\nconfigs, PAM) cannot override it.\nSPIKE uses memory locking (mlock) to prevent sensitive secrets from being\nswapped to disk. Failing to lock memory will not stop SPIKE from running,\nbut you will see warnings in the logs.\nWSL spawns your shell via a Windows-side Relay process:\nBy the time Linux session management runs, the limit is already inherited.\nThe following have no effect on interactive WSL shells:\n/etc/security/limits.conf\n/etc/systemd/user.conf\n/etc/systemd/system.conf\nPAM configuration\nThese configs do apply to processes spawned through systemd\n(e.g., systemd-run --user), but not to your default terminal session.\nTo fix this, you can use the following script:\nYou can even add this script to your ~/.bashrc or ~/.zshrc to make it\nautomatically run on every shell session.\nEnvironment Variables\nIt may be useful to set the following environment variables before\nyou start.\nThis is a sample configuration; please adjust as needed:\nStarting Minikube\nTo start a local Minikube cluster, clone the project repository and run the\nfollowing command in the root directory of the project:\nIf successful, you will have a local Minikube cluster running with the\nnecessary plugins enabled. You can verify that Minikube is running by executing:\nDeploying SPIKE to Minikube\n⚠️ Changes Due to Current Upstream Helm Charts Work\nThere are some changes to the upstream SPIFFE Helm Charts that are\ncurrently in progress. Until they are merged, you will need to use a\nfeature branch of the upstream repo.\nFor this, first clone the upstream repo:\nThen, switch to the spike-next branch:\nYou can now use the spike-next branch of the upstream repo to deploy\nSPIKE to Minikube.\nspife-helm-charts-hardened: https://spiffe.github.io/helm-charts-hardened/\nOnce you have Minikube running, you can deploy SPIKE to it from\nSPIFFE helm charts.\nFirst create a values.yaml file to enable SPIKE components:\nThen deploy SPIKE using the following command:\nVerifying SPIKE Deployment\nFirst, make sure that your components are up and running.\nOnce the deployment is complete, you can verify SPIKE is running by\ncreating a sample secret and reading its value back.\nNext Up\nYou are all set. You have successfully deployed SPIKE to your local\nMinikube cluster. Explore other parts of the documentation to learn more about\nusing SPIKE.\nHere are a few links to get you started:\nBuilding SPIKE Locally and Deploying to Minikube\nBare Metal SPIKE Installation\nConfiguring SPIKE\nSPIKE Architecture\nSPIKE Production Hardening Guide\nSPIKE CLI Reference\nOpen Source Is Better Together\nJoin the SPIKE community to ask your questions and\nlearn from the subject-matter experts.\n \nSPIKE Quickstart Guide\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/getting-started/quickstart/","title":"SPIKE Quickstart Guide"},"https://spike.ist/operations/":{"body":"Operations\nSPIKE Cross-Platform Build\nSPIKE Production Setup\nSPIKE Recovery Procedures\nSPIKE Release Management","id":"https://spike.ist/operations/","title":"Operations"},"https://spike.ist/operations/backup/":{"body":"SPIKE Backup and Restore Guide\nSPIKE, the Secure Production Identity Framework for Key Encryption, provides\nrobust secrets management with strong identity controls. But even the most\nreliable systems need comprehensive backup and recovery plans. This guide\nexplains how to properly back up, secure, and restore SPIKE deployments—ensuring\nyour critical secrets infrastructure remains resilient against catastrophic\nfailures.\nArchitecture Foundations for Effective Backup Planning\nSPIKE consists of three critical components, each requiring specific backup\nconsiderations:\nSPIKE Nexus: The central component handling secret encryption/decryption\nand root key management. It stores encrypted secrets in a SQLite database\nand communicates via an mTLS API.\nSPIKE Keeper: A redundancy mechanism holding Shamir Secret Sharing shards\nof the root key in memory. Multiple Keeper instances provide resiliency,\nrequiring a configurable threshold of shards to reconstruct the root key.\nSPIKE Pilot: The CLI interface that translates administrative commands\ninto mTLS API calls to SPIKE Nexus.\nThe foundation of SPIKE’s security model lies in its root key management:\nThe root key encrypts all data in the backing store and never exists\non disk in plaintext\nThe system splits the root key into multiple Shamir shards based on a\nconfigurable threshold (e.g., any 2 of 3 or 3 of 5 shards needed to\nreconstruct)\nSPIKE Keepers hold these shards in memory for automatic recovery if\nSPIKE Nexus crashes\nFor disaster recovery scenarios, administrators can create additional recovery\nshards\nBackup procedures\nSQLite database backup\nThe SPIKE Nexus uses a SQLite database to store all encrypted secrets and\nmetadata. This database is typically located in ~/.spike on the Nexus server.\nImportant considerations:\nThe SQLite database backup contains encrypted data that can only be decrypted\nwith the root key\nUse database-level locking through SQLite’s .backup command rather than\ndirect file copying\nRoot key and cryptographic material backup\nThe root key is SPIKE’s most critical component. While it exists only in\nmemory during normal operation, you must back it up for disaster recovery using\nShamir’s Secret Sharing:\nSecure handling of recovery shards:\nEncrypt each shard immediately after creation (e.g., using GPG with\nhardware keys)\nStore encrypted shards in separate secure locations\nConsider using HSMs or smart cards for shard storage\nImplement strict access controls for shard access\nDocument the threshold configuration (e.g., “2 of 3 shards required”)\nConfiguration and other components backup\nBeyond the database and root key, back up these critical components:\nSPIRE Server and SPIRE Agent configuration.\nSPIFFE registration entries:\nRestore procedures\nPrerequisites for Restoration\nBefore beginning any restore operation, ensure:\nYou have all necessary components:\nSQLite database backup\nAccess to the required number of recovery shards (meeting your threshold)\nSPIFFE/SPIRE configuration backups\nYou have the appropriate SPIFFE identity for restoration:\nRequired SPIFFE ID: spiffe://$trustRoot/spike/pilot/role/restore\nAll SPIKE services are properly installed on the target system\nRoot key restoration\nIf both SPIKE Nexus and all SPIKE Keepers are unavailable\n(catastrophic failure), follow this procedure:\nSPIKE Nexus will:\nAutomatically reconstruct the root key from the provided shards\nRedistribute shards to available SPIKE Keeper instances\nResume normal operation with the restored key\nSQLite database restoration\nTo restore the SQLite database:\nStop SPIKE Nexus.\nReplace the current database with the backup.\nSet appropriate permissions\nStart SPIKE Nexus\nNote: After restoring the database, if SPIKE Nexus cannot automatically\nrecover the root key from SPIKE Keepers, you’ll need to perform the root\nkey restoration procedure above.\nVerification procedures\nAfter completing a restore operation, verify system integrity:\nBackup best practices\nBackup frequency and scheduling\nComponentRecommended FrequencyReasoning\nSQLite DatabaseDailyCaptures secret changes promptly\nRoot Key ShardsAfter initial setup and after any root key rotationCritical security component\nConfigurationAfter any configuration changeEnsures you can recreate the environment\nSPIFFE EntriesAfter any identity changesRequired for workload authentication\nBackup rotation and retention\nImplement a comprehensive retention policy:\nShort-term backups: Keep daily backups for 14 days\nMedium-term backups: Keep weekly backups for 3 months\nLong-term backups: Keep monthly backups for 1 year\nTest Your Backup Integrity\nA backup that does not work when you need most is not a backup.\nMake sure you validate the integrity and efficacy of your backups\nregularly.\nSecure Storage Recommendations\nFor root key recovery shards:\nMulti-level security: Encrypt shards before storage\nPhysical separation: Store shards in different physical locations\nAccess controls: Implement strict controls with separation of duties\nHardware security: Consider HSMs or smart cards for shard storage\nEnvironmental protection: Use fire/water-resistant safes for physical media\nFor database backups:\nEncryption: Implement at-rest encryption for all backup files\nAccess limitations: Restrict backup access to authorized personnel only\nImmutability: Consider WORM (Write Once Read Many) storage for critical backups\nOffline copies: Maintain air-gapped copies of critical backups\nMigration Limitations and Planning\nWhile SPIKE currently lacks built-in migration tools, careful planning can\nfacilitate future migrations.\nCurrent migration limitations\nNo direct database migration between different SPIKE versions\nManual coordination is required for root key transfers\nConclusion\nA comprehensive backup and restore strategy is essential for maintaining the\nresilience of your SPIKE deployment. By following the procedures in this\nguide, you can ensure that even in catastrophic failure scenarios, your secrets\nmanagement infrastructure can be rapidly restored with minimal data loss.\nRemember these key principles:\nRegular backups: Automated, validated, and securely stored\nRoot key protection: The foundation of your security model\nTested procedures: Verify your restore process works before you need it\nDocumentation: Keep clear records of all configurations and procedures\nBy implementing these practices, your DevOps team will be prepared to handle\nany recovery scenario while maintaining the security guarantees that make\nSPIKE an effective secrets management solution.\n \nSPIKE Cross-Platform Build\nSPIKE Production Setup\nSPIKE Recovery Procedures\nSPIKE Release Management\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/operations/backup/","title":"SPIKE Backup and Restore"},"https://spike.ist/operations/build/":{"body":"Cross-Building SPIKE Binaries\nWe cross-build SPIKE on an ARM64 Mac Machine.\nHere is what’s needed for a cross-compile:\nPrerequisites\nInstalled required tools via Homebrew.\nBuild\nTo cross-compile the binaries, run the following:\nAfter the script runs to completion, you should get the following artifacts:\n \nSPIKE Cross-Platform Build\nSPIKE Production Setup\nSPIKE Recovery Procedures\nSPIKE Release Management\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/operations/build/","title":"SPIKE Cross-Platform Build"},"https://spike.ist/operations/production/":{"body":"SPIKE Production Setup Guide\nThis guide involves configuring the necessary environment, deploying the\napplication with optimized settings, and ensuring scalability, reliability, and\nsecurity for a seamless production experience.\nBaseline recommendations\nDo Not Run as Root\nFor SPIKE components use an unprivileged service account, rather than\nrunning as the root or Administrator account. SPIKE is designed to run as\nan unprivileged user, and doing so adds significant defense against various\nprivilege-escalation attacks.\nAllow Minimal Write Privilege\nSPIKE Nexus only needs writes access to its backing store. It’s a good\npractice to limit what is writable by the SPIKE Nexus process to just\nthe directories and files of the backing store.\nDisable Swap\nSPIKE encrypts data in transit and at rest; however, it must still have\nsensitive data in memory to function. The risk of exposure should be minimized\nby disabling swap to prevent the operating system from paging sensitive data to\ndisk.\nDisable Core Dumps\nA user or administrator that can force a core dump and has access to the\nresulting file can potentially access SPIKE’s root key and other\ncryptographically sensitive material encryption keys. Preventing core dumps is\na platform-specific process; on Linux setting the resource limit RLIMIT_CORE\nto 0 disables core dumps. In the systemd service unit file, setting\nLimitCORE=0 will enforce this setting for the Vault service.\nMemory Protection\nSPIKE uses memory locking to prevent memory from being swapped to disk. This\nensures that the memory is not accessible to an attacker who has access to the\nsystem.\nSPIKE tries to mlockall(MCL_CURRENT | MCL_FUTURE), it tries to lock:\nAll currently allocated memory\nAll future memory allocations\nSo if the user running the SPIKE components does not have enough limits,\nthis attempt will fail.\nTo enable memory locking, you may need to modify the ulimit settings for the\nuser running SPIKE components.\nFor bare-metal Linux deployments, edit the /etc/security/limits.conf file to\nadd the following lines:\nFor Docker, edit or create the /etc/docker/daemon.json file and add the\nfollowing—The instructions may differ for other container runtimes:\nFor Kubernetes, the settings will depend on your container runtime.\nFor containerd, for example, execute the following:\nIf, for any reason, you cannot enable memory locking, make sure to disable\nswap and core dumps on your system for additional security.\nNetwork Security\nAlthough SPIKE relies on Zero Trust networking principles and establishes\nmTLS everywhere, that does not mean perimeter defense is unimportant.\nUse a local firewall for SPIRE Server, SPIKE Nexus, and SPIKE Keeper\ninstances, or relevant features of your cloud provider to restrict incoming and\noutgoing traffic to the bare minimum that you need.\nDisable Shell Command History\nYou may want the spike commands themselves not appear in history at all.\nKeep a Frequent Upgrade Cadence\nSPIKE is actively developed, hardened, and patched against vulnerabilities.\nYou should upgrade SPIKE frequently to incorporate security fixes and any\nchanges in default settings such as key lengths or cipher suites.\nRestrict Backing Store Access\nSPIKE encrypts data at rest, regardless of the kind of backing store it\nuses. Although SPIKE encrypts the data, an attacker with arbitrary\ncontrol can cause data corruption or loss by modifying or deleting keys.\nYou should restrict storage access outside SPIKE Nexus to avoid\nunauthorized access or operations.\nAlso, when using an external data store, although SPIKE assumes the store is\nuntrusted, yet, still, considering the following is important:\nIf this is a shared database with other services, who else has access to it\nand manages it?\nHow will SPIKE authenticate to the database?\nDoes the database connection allow TLS-protected secure communication?\nConfigure SELinux / AppArmor\nUsing mechanisms like SELinux and AppArmor can help you gain layers of\nsecurity when using SPIKE. While SPIKE can run on several popular\noperating systems, Linux is recommended due to the various security primitives\nand memory governance.\nContainer Considerations\nSPIKE uses memory locking when possible. To use memory locking (mlock)\ninside a SPIKE container, you need to use the overlayfs2 or another\nsupporting driver.\nLogging Considerations\nLike all systems, logging is an essential part of SPIKE. However, logs\nproduced by SPIKE components also function as evidence for audits and\nsecurity incidents.\nCurrently, we don’t separate audit logs from event logs. Audit logs are clearly\nidentified by the prefix [AUDIT]: at the beginning of each entry.\nFuture Goals\nWe have action items to separate audit logs from regular logs and redirect\nthem to a configurable list of audit targets. For now, they remain part of\nthe standard output stream of the application.\nSince logs may serve as evidence, consider these important factors when\nimplementing a logging solution:\nRetention periods should comply with your organization’s legal requirements\nThe logging system should maintain high availability for both log intake and\nstorage\nLogs should be tamper-proof with verifiable integrity\nThe system should maintain and document a proper chain of custody\nHardening SPIRE\nSPIKE leverages SPIFFE and SPIRE as its identity control plane to\nmanage cryptographic workload identities securely and efficiently. SPIRE\nis an implementation of the SPIFFE specification, providing a robust\nframework for workload attestation and cryptographic identity issuance within\ndistributed systems.\nConfiguring SPIRE for production is critical to ensure the security and\nreliability of SPIKE. An improperly configured SPIRE deployment can leave\ngaps in the identity management process, potentially exposing sensitive\ncryptographic operations to unauthorized access.\nHere are some key steps to harden SPIRE for production:\nIsolate SPIRE Server\nThe SPIRE Server can run completely in Kubernetes, alongside other pods and\napplications.\nHowever, it is a good security practice to run the SPIRE Server on a\nseparate dedicated Kubernetes cluster, or on standalone hardware. This way, if\nthe primary cluster is compromised, the SPIRE private keys are not at risk.\nTo protect SPIRE private keys even further, you can use one of the\nsupported SPIRE KMS plugins.\nSecure SPIRE Server and Agent Communication\nUse mutual TLS (mTLS) for all communication between SPIRE Server, SPIRE\nAgents, and workloads.\nConfigure SPIRE Server and Agents to only accept connections from trusted\nsources.\nSet Up Attestation Policies\nDefine strict attestation policies to ensure that only trusted workloads are\nissued SPIFFE IDs. // TODO: explain what that means in the context of SPIKE.\nUtilize the node attestation plugins (e.g., AWS IID, Kubernetes) to verify\nthe identity of nodes running SPIRE Agents.\nLimit Permissions\nRun SPIRE Server and Agents with the minimum required permissions.\nUse dedicated non-root users for running SPIRE processes.\nSecure SPIRE Database\nIf the SPIRE Server is configured to use an external database for\npersistence, ensure that the database is:\nEncrypted at rest and in transit.\nRestricted to access only from SPIRE Server.\nConfigure Registration Entries\nCreate granular SPIFFE ID registration entries for specific workloads.\nAvoid using wildcard matching in selectors to reduce the risk of impersonation\nattacks.\nYou can find sample scripts that creates registration entries under the\n./hack folder:\n./hack/bare-metal/entry/spire-server-entry-recover-register.sh\n./hack/bare-metal/entry/spire-server-entry-spike-register.sh\n./hack/bare-metal/entry/spire-server-entry-restore-register.sh\nHarden SPIRE Deployment on Kubernetes\nIf you have deployed SPIRE on Kubernetes:\nUse Kubernetes Pod Security Standards, Network Policies,\nand RBAC to restrict SPIRE Server and SPIRE Agent access.\nLimit SPIRE components to trusted namespaces and nodes.\nRegularly Rotate Certificates\nConfigure SPIRE to rotate workload certificates and keys frequently.\nAutomate the process to ensure timely certificate renewal without manual\nintervention.\nEnable Logging and Monitoring\nConfigure logging for SPIRE Server and Agents to capture suspicious\nactivity.\nMonitor logs for failed authentication attempts, unauthorized access, or\nother anomalies.\nPerform Regular Audits\nConduct regular security audits and penetration tests on the SPIRE deployment.\nReview registration entries and attestation policies to ensure they align\nwith security best practices.\nUpdate SPIRE Regularly\nKeep SPIRE updated to the latest stable version to benefit from security\npatches and new features.\nBy carefully configuring and hardening SPIRE, you ensure that\nSPIKE’s SPIFFE-based identity control plane is robust, reliable, and\nsecured against potential threats, forming the foundation for SPIKE’s secure\noperations in production environments.\nIsolate SPIRE Server\nYou are encouraged to isolate the SPIRE Server from other SPIKE components.\nBy doing this, a separate administrator can access the SPIRE Server and\ncreate SPIKE registration entries, whereas other SPIKE users, including\nthe SPIKE Pilot superadmin, will not be able to create SPIRE Server\nregistration entries.\nThis approach aligns with zero-trustbest practices by enforcing separation\nof privileges and reducing the risk of privilege misuse or escalation.\nFor bare-metal or VM deployments, it is recommended to run the\nSPIRE Server on its own dedicated machine, separate from SPIKE Keeper\nand SPIKE Nexus machines. This ensures that any compromise of those\nmachines does not directly impact the SPIRE Server.\nFor Kubernetes deployments, it is a good practice to run the SPIRE\nServer outside the Kubernetes cluster on an ultra-hardened system. This\nprotects the SPIRE Server from potential security breaches or privilege\nescalations within the Kubernetes cluster.\nSPIKE General Hardening Guidelines\nThe guidelines covered in this section apply to all SPIKE components,\nincluding SPIKE Nexus, SPIKE Keeper, and SPIKE Pilot.\nSingle Tenancy\nSPIKE Nexus is recommended to be the only main process running on a machine.\nThis reduces the risk that another process running on the same\nmachine is compromised and can interact with SPIKE Nexus.\nIn a Kubernetes deployment, you can achieve this by setting up appropriate\nNode affinity rules.\nUser Privileges\nFor bare-metal deployments:\nRun SPIKE Nexus and SPIKE Keeper processes as non-root users.\nConfigure them to have minimal permissions.\nKeep OS and security packages up to date.\nFor Kubernetes deployments:\nDisable privilege escalation for containers by setting\nallowPrivilegeEscalation: false in your PodSecurity configuration.\nUse Kubernetes Pod Security Admission or equivalent policies to enforce\nsecurity constraints.\nLimit the use of privileged containers (privileged: false) wherever\nfeasible.\nConfigure strict NetworkPolicies to restrict communication between Pods.\nAlways use read-only root filesystems for the containers\n(readOnlyRootFilesystem: true).\nSpecify non-root runAsUser and runAsGroup in the container’s\nsecurity context—Do not run the container as root.\nFor Docker deployments:\nPrevent containers from running in privileged mode using the\n--privileged=false option.\nUse --read-only to enforce read-only filesystem access for the container.\nLimit container capabilities by setting the --cap-drop option to drop all\nunnecessary capabilities.\nAvoid mapping the Docker socket into containers for security-sensitive\nworkloads.\nImplement user namespaces with --userns-remap to isolate containers from\nthe host’s root user.\nSecurity Modules\nFor Linux bare-metal SPIKE installations, consider enabling and\nconfiguring AppArmor and SELinux.\nSet up mandatory access control.\nEnforce strict process isolation.\nNetwork Security\nRestrict network access to essential ports/protocols.\nImplement network segmentation.\nConfigure strict firewall rules.\nConduct regular network security audits.\nLogging and Monitoring\nSet up a comprehensive process logging mechanism\nMonitor for unauthorized access attempts\nImplement real-time alerting\nRegular log analysis and review\nSecurity Auditing\nRegular system configuration audits\nSecurity control effectiveness reviews\nPeriodic penetration testing\nConfiguration compliance checks\nBinary Integrity\nOfficial SPIKE binaries are published with SHA-256 checksums. Make sure\nyou implement SHA hash verification when using SPIKE distributions to\nensure that you are using original, tested, validated, and approved binaries.\nIn addition, it’s useful to have regular binary integrity checks too, to ensure\nthat binaries are not replaced with malicious code.\nOne more thing you are encouraged to do is to include SPIKE Nexus,\nSPIKE Keeper, and SPIKE Pilot’s binary SHA hashes while registering\nthem to SPIRE Server. Here’s an example:\nThis way, if the binary changes, SPIRE Server will not assign it an SVID,\nand the rest of the system will not trust it and stop communicating with it,\neffectively securing the SPIKE components by totally isolating and\nkeeping out the untrusted binary.\nDefense in Depth\nImplement multiple layers of security controls.\nHave regular security control reviews.\nHave comprehensive security documentation.\nHow the Root Key Is Protected in SPIKE\nIn SPIKE, the root key is essential for encrypting secrets within the\ncentral store, SPIKE Nexus. To prevent any single entity from having full\naccess to this key, SPIKE uses Shamir’s Secret Sharing to divide the\nroot key into multiple shares. These shares are distributed among\nSPIKE Keepers, ensuring that the root key can only be reconstructed when a\nsufficient number of shares are combined.\nThis approach enhances security by requiring collaboration among multiple\ntrusted components to access the root key.\nShamir’s Secret Sharing (SSS) is a cryptographic method that divides a\nsecret into parts, distributing them among participants. The secret can only be\nreconstructed when a minimum number of parts (the threshold) are combined.\nThis ensures that partial knowledge of the secret does not compromise its\nsecurity.\nShamir Configuration\nConfigure the threshold and total shares using environment variables:\nRecommended configurations by deployment size:\nDeploymentThresholdSharesRationale\nDev/Test23Minimal redundancy\nSmall Prod35Standard config\nLarge Prod57High redundancy\nCritical710Maximum security\nTrade-offs to consider:\nHigher threshold: More secure (harder to compromise), but requires more\nKeepers to be online for recovery\nHigher shares: More redundancy (tolerate more Keeper failures), but\nrequires more Keeper instances\nLower threshold: Easier recovery (fewer shards needed), but lower security\nLower shares: Less overhead (fewer Keepers), but less fault tolerance\nSecurity Guarantees\nShamir Secret Sharing is information-theoretically secure. With fewer than\nthe threshold number of shards, an attacker gains zero information about\nthe root key.\nShards CompromisedSecurity Impact\n< thresholdZero information leaked\n= thresholdRoot key can be reconstructed\n> thresholdRoot key can be reconstructed\nMitigation strategies:\nDistribute shards across isolated Keepers in different locations\nUse mTLS with SPIFFE ID validation for all Keeper communication\nMonitor shard access through audit logs\nFollow the principle of least privilege for Keeper access\nShard Storage\nSPIKE Keeper storage:\nShards are stored in-memory only (never persisted to disk)\nShards are lost on Keeper restart but recovered from SPIKE Nexus\nProtected by process isolation and mTLS\nOperator storage (break-the-glass recovery):\nRecovery shards saved to ~/.spike/recover directory\nFile permissions are set to 0600 (owner read/write-only)\nOperator is responsible for securely storing and later erasing these files\nTurn Swap and Core Dumps Off\nBoth SPIKE Nexus and SPIKE Keeper maintain sensitive cryptographic\nmaterial of varying degrees of sensitivity in memory.\nAlthough SPIKE uses secure memory erasing and memory locking practices to\nas a defense mechanism against memory-based attacks, it’s a good practice to\nestablish defense-in-depth practices, especially when an exposed root key\nprovides the possibility to reveal encrypted secrets.\nIf the memory is swapped, an attacker could potentially extract this\ncryptographic key material from the swap file on the disk. This would compromise\nthe security of the system, as swap files are stored unencrypted on disk and\nmay persist even after the system is powered down.\nSimilarly, core dumps can contain a complete copy of the process memory at the\ntime of a crash, including any cryptographic keys, passwords, or other\nsensitive data that was in memory. An attacker with access to these core dump\nfiles could analyze them to extract the sensitive information.\nAlthough SPIKE considers the machine as the trust boundary and assumes the\nsystem is breached if the machine is breached, it does not mean we should relax\nsecurity if the machine is compromised. Defense in depth is still important, and\nminimizing the exposure of sensitive cryptographic material provides additional\nlayers of protection against sophisticated attacks.\nTo mitigate these risks:\nDisable swap entirely on systems handling sensitive cryptographic operations\nIf swap cannot be disabled, configure an encrypted swap\nDisable core dumps for security-critical applications\nEnsure proper permissions on any diagnostic files that might be generated\nConsider using memory allocation techniques that minimize exposure of\nsensitive data\nThese precautions help prevent attacks where adversaries might attempt to\nretrieve cryptographic keys or other sensitive information from persistent\nstorage after it has been paged out from memory or dumped during a crash.\nHardening SPIKE Keeper for Production\nSPIKE Keepers play a critical role in managing sensitive cryptographic\nmaterial, specifically handling shards that are used to generate the\nroot key that SPIKE Nexus uses to encrypt its backing store.\nAs described in the SPIKE Security Model, protecting your system\nagainst memory analysis is important, not only for SPIKE, but for any\napplication you may be running in your system.\nSystem administrators should implement the following security measures to\nprevent memory analysis:\nSet /proc/sys/kernel/yama/ptrace_scope to 2 or 3:\nValue 2 restricts ptrace to root-only access\nValue 3 disables ptrace completely, offering maximum security\nMake this setting permanent by adding kernel.yama.ptrace_scope = 2 to\n/etc/sysctl.d/10-ptrace.conf\nConsider using SELinux or AppArmor profiles to further restrict\nprocess debugging capabilities\nIf running in a container, ensure the container runtime is configured to\ndisable ptrace capabilities (e.g.,\nusing --security-opt=no-new-privileges in Docker)\nRegular audit of processes with CAP_SYS_PTRACE capability, as this can\nbypass ptrace restrictions\nBy default, SPIKE Keepers are protected by multiple layers of security:\nmTLS API Protection: All SPIKE Keeper APIs are protected by mutual\nTLS (mTLS), preventing direct access to the shards through the API interface.\nSPIFFE Attestation: SPIKE Keepers implement SPIFFE attestation\nwhich verifies the authenticity of SPIKE Keeper binaries by validating\nattributes like the SHA hash, unix user id, and path. This prevents attackers\nfrom running malicious keeper processes, as they would fail the attestation\ncheck.\nAlthough these protections are in place, they need to be properly configured to\ntake effect. For example, a misconfigured SPIRE Server registration entry or\nusing a user with elevated privileges to run the SPIKE Keeper binaries may\nresult in a security breach (see the “hardening SPIRE for production” section\nbefore for details)\nHardening SPIKE Nexus for Production\nSPIKE Nexus serves as the central secrets store, maintaining sensitive data\nin memory and using encrypted storage for persistence. Due to its critical role\nin managing secrets, special attention must be paid to its security\nconfiguration.\nMemory Protection\nThe ptrace and yama recommendations for SPIKE Keepers covered in\nthe previous section also applies to SPIKE Nexus. Protect SPIKE\nNexus’s memory against external analysis.\nConfigure memory restrictions to prevent swapping:\nSet vm.swappiness=0 in sysctl configuration\nUse mlock to lock memory pages and prevent them from being swapped\nIf using systemd, set LimitMEMLOCK=infinity in the service file\nEnable Address Space Layout Randomization (ASLR):\nEnsure /proc/sys/kernel/randomize_va_space is set to 2\nImplement memory scrubbing:\nConfigure automatic memory wiping for deallocated memory\nUse secure memory allocation practices for sensitive data\nMemory Security of SPIKE Keepers\nNote that these memory protection measures are also applicable for\nSPIKE Keepers where we secure shards of the root key. While a single\nshard does not expose as much risk as an exposed root key, it’s still\ngood defense in depth to secure the memory of SPIKE Keeper instances.\nBacking Store Security\nConfigure secure backup procedures:\nEncrypt all backups\nImplement strict access controls on backup storage\nRegular backup integrity verification\nMonitor backing store access:\nLog all access attempts\nImplement alerting for unusual access patterns\nRegular audit of access logs\nResource Management\nSet appropriate resource limits:\nConfigure memory limits based on an expected load\nSet CPU quotas to prevent resource exhaustion\nImplement disk I/O limits\nMonitor resource usage:\nTrack memory utilization\nMonitor CPU usage\nAlert on resource threshold violations\nAccess Control\nImplement the least privilege access:\nCreate dedicated service accounts\nRestrict file system permissions\nUse SELinux or AppArmor profiles\nDisaster Recovery\nDocument recovery procedures:\nClear steps for various failure scenarios\nRegular testing of recovery procedures\nMaintain updated recovery documentation\nConfigure backup systems:\nRegular backup testing\nSecure offsite storage\nAutomated recovery validation\nContainer-Specific Hardening\nWhen deploying SPIKE Nexus in containers:\nUse minimal base images:\nBuild from scratch or distroless images\nRegular security updates\nConfigure container security:\nEnable seccomp profiles\nSet appropriate ulimits\nImplement container isolation\nRemember to regularly review and update these security measures based on new\nthreats and security best practices. Security configuration should be treated\nas a continuous process rather than a one-time setup.\nConclusion\nAlthough SPIKE is designed with security best practices in mind, a\nmulti-layer approach focusing on system, process, and network security is\nimportant when configuring SPIKE for production.\nThe combination of mTLS API protection, SPIFFE attestation, and proper\nsystem-level security controls will provide robust protection against\nunauthorized access to sensitive cryptographic material.\nRemember that security is an ongoing process, and every system’s security\nposture and requirements are different. Thus, these measures outlined in this\nguide shall be taken as starting recommendations and adjusted to meet your\norganization’s security requirements.\n \nSPIKE Cross-Platform Build\nSPIKE Production Setup\nSPIKE Recovery Procedures\nSPIKE Release Management\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/operations/production/","title":"SPIKE Production Setup"},"https://spike.ist/operations/recovery/":{"body":"SPIKE Recovery Procedures\nSPIKE ensures that your secrets are secure and resilient, aiming for seamless\noperations even in the most challenging situations. This document outlines the\nsteps required for recovering SPIKE in various scenarios, ensuring\nyou have the right guidance to handle any eventuality.\nSPIKE Nexus Crash Recovery\nSPIKE is designed to automatically recover SPIKE Nexus from crashes.\nHere is how this happens:\nSPIKE Nexus crashes.\nNew SPIKE Nexus instance starts.\nSPIKE Nexus asks for shards from SPIKE Keepers.\nOnce SPIKE Nexus gathers adequate shards, it recreates its root key\nand resumes normal operations.\nSPIKE Keeper Crash Recovery\nSPIKE Keeper recovery is automatic and does not require any manual\nintervention.\nSPIKE Nexus regularly sends the shard that a SPIKE Keeper has to store.\nSo, if a SPIKE Keeper instance crashes, it will eventually receive its\nshard.\nComplete System Recovery\nIn critical scenarios where SPIKE remains unavailable for extended periods,\nIn the unlikely case that both SPIKE Nexus and all SPIKE Keeper\ninstances crash all together, the system may transition to a state where\nit cannot automatically recover.\nIn that case, manual intervention will be necessary. The following sections\ndescribe this “break-the-glass” procedure to help restore SPIKE back to\nits operational state:\n1. Before complete system failure:\nChange the SPIFFE ID of SPIKE Pilot to recovery mode by\nexecuting ./hack/bare-metal/entry/spire-server-entry-recover-register.sh\nRun spike operator recover\nSave the files generated in ~/.spike/recover folder to a safe,\nencrypted, and password-protected medium.\nSecurely erase the ~/.spike/recover` folder.\nChange the SPIFFE ID of SPIKE Pilot back using\n./hack/bare-metal/entry/spire-server-entry-su-register.sh or delete the registration\nentry entirely for extra security.\nYou can create the entry back using\n./hack/bare-metal/entry/spire-server-entry-su-register.sh when you need to use\nSPIKE Pilot.\n2. During complete system failure:\nChange the SPIFFE ID of SPIKE Pilot to restore mode:\n./hack/bare-metal/entry/spire-server-entry-restore-register.sh\nExecute spike operator restore and enter the shards you created in the\nprevious step one by one. Each spike operator restore call accepts a\nsingle shard.\nWhen you provide enough shards, the system will restore itself:\nSPIKE Nexus will restore its root key, and it will also hydrate\nits peer SPIKE Keeper instances to protect itself against future\ncrashes.\nChange the SPIFFE ID of SPIKE Pilot back using\n./hack/bare-metal/entry/spire-server-entry-su-register.sh or delete the registration\nentry entirely for extra security.\nYou can create the entry back using\n./hack/bare-metal/entry/spire-server-entry-su-register.sh when you need to use\nSPIKE Pilot.\nBoth SPIKE Nexus, SPIKE Keeper are unavailable, or the system is\nin another irrecoverable state.\nAdmin executes spike operator recover.\nAdmin provides their password.\nThe encrypted root key is fetched from the database and injected to\nthe memory of SPIKE Nexus.\nSPIKE Nexus syncs the root key with SPIKE Keeper.\nThe system resumes normal operation.\nWhy Do We Change SVIDs Between Operations?\nThis approach is similar to “Admin Account Tiering” commonly found in zero\ntrust architectures: Certain operations are forbidden between tiers; for\nexample, a restore account cannot create secrets, and an account that can\nmanage secrets and policies cannot initiate restoration operations.\nFor operations that need unusual/elevated access, and administrator will\nexplicitly have to sign off for that elevated privilege.\nTotal System Reset\nThis procedure is for resetting SPIKE to its factory defaults.\nThe situation:\nBoth SPIKE Nexus and all SPIKE Keeper instances have crashed, there\nis no way to fetch the root key from SPIKE Keeper(s).\nThe system administrator has not used spike operator recover to create recovery\nshards, or they have lost access to the recovery shards.\nEveryone has learned their lessons, and now it’s time to reset the system\nand conduct an extensive “what went wrong / what should have been done”\nanalysis.\nHow to proceed:\nDelete ~/.spike folder, which will also delete all the persisted secrets\nin the SQLite backing store.\nDelete SPIRE Server registration entries.\nRedeploy SPIKE using your preferred method.\nYou can check out ./hack/bare-metal/startup/start.sh to see a sample startup/deployment\nscript.\nThis is a complete system reset; you’ll lose all data and all former\nconfiguration, including secret access policies.\n \nSPIKE Cross-Platform Build\nSPIKE Production Setup\nSPIKE Recovery Procedures\nSPIKE Release Management\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/operations/recovery/","title":"SPIKE Recovery Procedures"},"https://spike.ist/operations/release/":{"body":"SPIKE Release Management\nThis document provides an overview of how the cut a SPIKE release, including\ntesting guidelines and instructions.\nWe Still Use Human Push-buttons\nAlthough some steps, audits, and integration tests of the release\nprocess are automated, we still follow several manual steps\noutlined in this document.\nBelow, you will find detailed instructions and examples to guide contributors\nthrough the release and testing process.\nThis document is targeted for core contributors who are responsible for\nmanaging the release cuts of SPIKE. It provides detailed instructions to\nensure a smooth and reliable release process.\nCoverage Report\nThe coverage report for SPIKE is available at\nhttps://spike.ist/coverage.html.\nThe coverage report for SPIKE Go SDK available at\nhttps://spike.ist/sdk/coverage.html.\nWe update the coverage report at every release cut.\nIf you want to increase test coverage, you are more than welcome to contribute\nto the project.\nGenerating Coverage Reports\nTo generate and publish the SPIKE coverage report, run make docs from the\nSPIKE repository root. This generates the coverage report and publishes it to\n./docs/coverage.html.\nTo generate and publish the SPIKE Go SDK coverage report:\nThis runs the SDK tests with coverage profiling and publishes the HTML report\nto the SPIKE documentation directory at ./docs/sdk/coverage.html.\nBefore Every Release\nBefore every release:\nRun the unit tests: make test.\nRun make start and verify you see the message “Everything is set up.”\nto confirm the smoke tests pass, then press Ctrl+C to stop.\nSwitch to “in-memory” mode, run make start and verify you see the message\n“Everything is set up.” again to confirm the smoke tests pass in that mode\ntoo, then press Ctrl+C to stop.\nRun make audit to ensure the project is free of security vulnerabilities.\nIf everything passes, update ./app/VERSION.txt to the release version.\nUpdate any necessary documentation.\nUpdate the changelog\n(docs-src/content/tracking/changelog.md).\nRun make docs to generate and publish the documentation, including the\ncoverage report.\nFrom the spike-sdk-go repository, run make coverage/publish to generate\nand publish the SDK coverage report.\nRelease process:\nMerge all the changes to the main branch.\nTag a version by running make tag (this creates a GPG-signed tag using the\nversion from app/VERSION.txt and pushes it to origin).\nConvert the tag to a release on GitHub.\nCopy the current version’s changelog over to the release notes on GitHub.\nOn a Mac machine follow cross-platform build instructions\nto generate binaries.\nAdd binaries to the release as assets.\nAnnounce the release in relevant channels.\nYou are all set.\n \nSPIKE Cross-Platform Build\nSPIKE Production Setup\nSPIKE Recovery Procedures\nSPIKE Release Management\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/operations/release/","title":"SPIKE Relase Management"},"https://spike.ist/recipes/":{"body":"Recipes\nTask-first guides for SPIKE. Each recipe states the problem you’re trying\nto solve, gives a TL;DR, walks the workflow step by step, then lists\ntips, pitfalls, and where to go next. For exhaustive option lists\nsee Configuration and the\ncommand reference; for the why, see\nArchitecture.\nConcepts & decisions\nChoosing a backend store: memory, lite, or sqlite\nBootstrapping a fresh SPIKE\nWhere the root key lives: keepers, Shamir, and recovery\nDay-to-day usage\nStoring and reading secrets\nWriting access policies\nGranting a workload access to secrets\nUsing SPIKE as an encryption service\nOperations & lifecycle\nBreak-the-glass disaster recovery\nBackup and restore\nDeploying SPIKE (Kubernetes and bare-metal)\nProduction hardening\nTroubleshooting\nIntegration & advanced\nIntegrating the Go SDK\nUpgrading SPIKE","id":"https://spike.ist/recipes/","title":"Recipes"},"https://spike.ist/recipes/backup-and-restore/":{"body":"Backup and restore\nProblem\nA full SPIKE backup is two independent things, and people routinely save\none and forget the other. The SQLite database holds your encrypted secrets; the\nroot-key shards hold the only thing that can decrypt them. A database backup\nwithout the key is undecryptable noise. The key without the database has nothing\nto unlock. You need both, backed up on their own schedules, and a restore\nprocedure that puts them back in the right order.\nmemory and lite modes have no database to back up. For them, only the\nroot-key shards matter.\nTL;DR\nRestore is the reverse: put the database back, then reconstruct the root key\nfrom shards if Nexus cannot auto-recover.\nWorkflow\nBackup\nDatabase (sqlite mode). Use SQLite’s online .backup, not a file copy,\nso you get a consistent snapshot. Checkpoint the WAL first:\nRoot-key shards (all modes). Export and secure them as covered in\nbreak-the-glass recovery:\nSupporting state. Also capture what you need to rebuild identity:\nRestore\nDatabase. Stop Nexus, swap the file in, lock it down, restart:\nRoot key. If Nexus cannot auto-recover from the keepers, reconstruct it\nfrom shards (needs the restore role):\nVerify. Confirm the store is intact and crypto round-trips:\nTips\nTwo assets, two cadences. Back up the database daily (it changes with\nevery secret write). Re-export root-key shards only after initial setup and\nafter any deliberate root-key rotation; the key does not change otherwise.\nThe database is encrypted at rest. Its contents are useless without the\nroot key, so the database backup is far less sensitive than the shards. Guard\nthe shards like the crown jewels; the database like ordinary backups.\nTest restores, not just backups. A backup you have never restored is a\nhypothesis. Rehearse the full restore into a throwaway environment on a\nschedule.\nDB location. The SQLite store lives at ~/.spike/data/spike.db on the\nNexus host.\nPitfalls\nDatabase without key is unrecoverable. The most common mistake is backing\nup spike.db and never running spike operator recover. Encrypted secrets\nwith no key are gone. Always pair the two.\nFile-copy backups corrupt. Copying spike.db while Nexus is running can\ncapture a torn write. Use SQLite’s .backup (and checkpoint the WAL) for a\nconsistent snapshot.\nRestore order matters. Put the database in place first, then restore the\nroot key. Restoring the key into an empty store leaves nothing to decrypt.\nNo cross-version DB migration. SPIKE has no built-in migration between\nversions. Restore into the same (or a compatible) SPIKE version you backed up\nfrom; plan version upgrades separately. See\nUpgrading SPIKE.\nCross-links\nBreak-the-glass disaster recovery\nChoosing a backend store\nWhere the root key lives\nReference: Backup and Restore guide\nWhat’s next\nStand the whole thing up cleanly in production:\nDeploying SPIKE.","id":"https://spike.ist/recipes/backup-and-restore/","title":"Backup and restore"},"https://spike.ist/recipes/bootstrapping-spike/":{"body":"Bootstrapping a fresh SPIKE\nProblem\nOn a brand-new lite or sqlite deployment the SPIKE Keepers start empty.\nSPIKE Nexus recovers its root key from the keepers, so until something\ngenerates a root key and seeds the keepers, Nexus can never initialize — it\nloops in keeper recovery and its readiness probe keeps killing it. Bootstrap is\nthe one-time step that breaks this chicken-and-egg.\nmemory mode needs no bootstrap — skip this recipe.\nTL;DR\nSPIKE Bootstrap generates a 256-bit root key, splits it into Shamir shares, and\ndistributes one share to each keeper. Run it once after the keepers are up:\nAfter it succeeds, Nexus reconstructs the root key from the keepers and becomes\nready.\nWorkflow\nDeploy keepers first. Bring up SPIKE_NEXUS_SHAMIR_SHARES keepers\n(default 3) and make sure each is reachable at its\nSPIKE_NEXUS_KEEPER_PEERS URL.\nRun bootstrap with the spike/bootstrap SPIFFE identity and the shared\nconfig (SPIKE_NEXUS_KEEPER_PEERS, SPIKE_NEXUS_SHAMIR_SHARES,\nSPIKE_NEXUS_SHAMIR_THRESHOLD, the trust roots). It:\ngenerates the root key and splits it (Shamir over P-256, via CIRCL);\nPOSTs one share to each keeper’s /v1/store/contribute (with retries);\nverifies initialization by asking Nexus to decrypt a probe encrypted with\nthe canonical root key;\nrecords completion in the spike-bootstrap-state ConfigMap (Kubernetes).\nNexus recovers. On the next loop Nexus collects threshold shares,\nreconstructs the root key, initializes its backend, and becomes ready. It\nthen re-syncs shares to keepers periodically.\nTips\nShares vs threshold: SHARES keepers each hold one share; any\nTHRESHOLD of them can reconstruct the key (e.g. 3 shares / threshold 2\ntolerates one keeper down). Production guidance is 5 shares / threshold 3.\nIdempotency: the spike-bootstrap-state ConfigMap makes re-runs no-ops.\nGrant the bootstrap ServiceAccount RBAC to read/write that ConfigMap, or a\nretried Job could re-bootstrap with a new root key and orphan the data\nencrypted under the old one. Set SPIKE_BOOTSTRAP_FORCE=true only when you\ndeliberately want to re-key.\nBootstrap waits for the SPIRE agent socket (init container in Kubernetes)\nbefore it runs.\nPitfalls\nNo --wait race. Don’t helm install --wait the chart and expect Nexus\nReady before bootstrap runs — Nexus can’t be ready until the keepers are\nseeded. Install without --wait, run bootstrap, then wait on the Nexus\nrollout.\nKeepers not all up. Bootstrap requires exactly SHARES reachable keepers;\nif some aren’t resolvable yet it retries, but a wrong peer list fails it.\nVerify needs to reach Nexus. The post-seed verification calls Nexus’s\nAPI; set SPIKE_NEXUS_API_URL to a resolvable address (in Kubernetes, the\nfully-qualified service DNS).\nCross-links\nChoosing a backend store\nWhere the root key lives: keepers, Shamir, and recovery\nTroubleshooting (Nexus stuck in keeper recovery)\nReference: Configuration\nWhat’s next\nUnderstand the moving parts you just wired up:\nWhere the root key lives.","id":"https://spike.ist/recipes/bootstrapping-spike/","title":"Bootstrapping a fresh SPIKE"},"https://spike.ist/recipes/break-the-glass-recovery/":{"body":"Break-the-glass disaster recovery\nProblem\nNormally SPIKE recovers itself: Nexus rebuilds its root key from the keepers on\nstartup. But if you lose enough keepers at once (the whole cluster, the node,\nthe data center) there is nothing left to auto-recover from. Break-the-glass\nrecovery is the human-held fallback: a set of recovery shards an operator\nexports ahead of time and feeds back in after a catastrophe.\nThe catch is in the timing. The shards must be exported while the system is\nhealthy. If you wait until the outage, it is too late.\nTL;DR\nTwo operator commands, two different moments:\nrecover needs the recover role; restore needs the restore role. Store\nthe exported shards encrypted, offline, and split across custodians.\nWorkflow\nPhase 1 — Export shards (do this now, while healthy)\nAs an operator with the recover role, run:\nSPIKE writes the recovery shards to the recovery directory as\nspike.recovery.0.txt, spike.recovery.1.txt, … Each file holds one\nshard in spike:<index>:<hex> format.\nImmediately secure them. Encrypt each shard, move it to safe offline\nstorage (ideally different custodians/locations), and securely erase the\nplaintext files from the recovery directory. SPIKE prints this reminder for\na reason: if you lose these shards, a total crash is unrecoverable.\nPhase 2 — Restore (only after a catastrophe)\nWhen Nexus cannot auto-recover (keepers gone, no root key), an operator with\nthe restore role runs:\nPaste one recovery shard when prompted. Input is hidden. SPIKE reports\nprogress:\nRepeat with the next shard until SPIKE collects the threshold and prints\nSPIKE is now restored and ready to use.\nTips\nrecover vs restore. recover exports shards from a healthy system\n(proactive backup). restore imports them into a broken one (reactive\nrebuild). They are not opposites of one command; they are two halves of one\ndrill.\nThreshold, not all. Restore needs threshold shards, not every shard, so\nyou can tolerate losing some custodians. This is the same Shamir threshold\nthat backs keeper auto-recovery. See\nWhere the root key lives.\nRehearse it. Schedule a recovery drill: export shards, stand up a\nthrowaway Nexus, and restore into it. A break-the-glass procedure no one has\nrun is a guess, not a plan.\nRoles are separate identities. The recover and restore roles are\ndistinct SPIFFE-ID roles, separate from day-to-day Pilot access. Provision\nthem deliberately to the humans who hold the glass.\nPitfalls\nYou cannot export after the disaster. recover talks to a healthy\nNexus. If you skipped Phase 1, there is no second chance once the keepers are\ngone. Export shards as part of going to production, not as an afterthought.\nShards are root-key material. Anyone with threshold shards can rebuild\nthe root key and decrypt everything. Treat them like the keys to the kingdom:\nencrypted, offline, split, audited.\nShard format is exact. A shard is spike:<index>:<hex> where the hex is\n64 characters (32 bytes). Truncated or reformatted shards are rejected. Keep\nthem byte-for-byte.\nRe-keying invalidates old shards. If you re-bootstrap with a new root key,\npreviously exported shards no longer restore the current system. Re-export\nafter any deliberate root-key rotation.\nCross-links\nWhere the root key lives: keepers, Shamir, and recovery\nBackup and restore\nBootstrapping a fresh SPIKE\nReference: Recovery operations\nWhat’s next\nPair key recovery with data backup:\nBackup and restore.","id":"https://spike.ist/recipes/break-the-glass-recovery/","title":"Break-the-glass disaster recovery"},"https://spike.ist/recipes/choosing-a-backend-store/":{"body":"Choosing a backend store: memory, lite, or sqlite\nProblem\nSPIKE Nexus can run with one of three backend stores, set by\nSPIKE_NEXUS_BACKEND_STORE: memory, lite, or sqlite. They differ on two\nindependent axes — whether secrets are persisted, and whether a root key\n(and therefore SPIKE Keepers) is required. Picking the wrong one leads to\nconfusing failures: a Nexus that waits forever for keepers that were never\ndeployed, or an in-memory store that silently loses everything on restart.\nTL;DR\nBackendPersists secrets?Root key?Keepers required?Use it for\nmemoryNo (in-process)No (must be nil)Nolocal dev / tests\nliteNo (no store at all)YesYesencryption-as-a-service; secrets live elsewhere (e.g. S3)\nsqliteYes (~/.spike/data/spike.db, AES-256-GCM at rest)YesYesproduction (default)\nRule of thumb: sqlite for production, memory for throwaway dev, and\nlite only when SPIKE is your encrypt/decrypt service and something else\nstores the ciphertext.\nWorkflow\nSet the mode on SPIKE Nexus:\nmemory — Nexus initializes a volatile in-process store and does not\ncontact keepers. No bootstrap, no keepers, no root key. Nexus logs a\n“not for production” warning at startup. Restarting Nexus wipes all secrets.\nlite and sqlite — Nexus recovers its root key from the SPIKE Keepers\non startup (Shamir reconstruction), so you must deploy keepers and seed\nthem once via SPIKE Bootstrap. See\nBootstrapping a fresh SPIKE.\nsqlite then opens/creates the encrypted database and serves the full\nsecret + policy API.\nlite keeps no local store (it embeds a no-op backend) and serves\nonly the cipher API — it is an encryption-only service.\nTips\nThe default is sqlite; you only need to set the variable to choose\nlite or memory.\nmemory is the only mode that runs standalone — no keepers, no bootstrap.\nReach for it in unit/integration tests and quick local experiments.\nUse lite when secrets are stored externally (e.g. S3-compatible storage)\nand you just need SPIKE to encrypt/decrypt with a SPIFFE-gated key. See\nUsing SPIKE as an encryption service.\nFor sqlite, point SPIKE_NEXUS_DATA_DIR at durable, access-controlled\nstorage and back it up — see Backup and restore.\nPitfalls\n“lite doesn’t need keepers.” It does. lite and sqlite both recover the\nroot key from keepers on startup; only memory is keeper-free. If you deploy\nlite without seeded keepers, Nexus loops forever in keeper recovery and\nnever becomes ready (see Troubleshooting).\n“lite is an in-memory store.” It isn’t — lite has no store (it’s\nencryption-only). The in-memory secret store is memory.\nmemory and a root key are mutually exclusive. In memory mode the root\nkey must be nil; passing one is treated as an initialization bug. Conversely\nlite/sqlite refuse to start with a nil/empty root key.\nmemory loses data on restart. Never use it where you expect secrets to\nsurvive a process restart.\nCross-links\nBootstrapping a fresh SPIKE\nWhere the root key lives: keepers, Shamir, and recovery\nUsing SPIKE as an encryption service\nReference: Configuration ·\nArchitecture: System overview\nWhat’s next\nIf you chose lite or sqlite, set up keepers and seed them:\nBootstrapping a fresh SPIKE.","id":"https://spike.ist/recipes/choosing-a-backend-store/","title":"Choosing a backend store"},"https://spike.ist/recipes/deploying-spike/":{"body":"Deploying SPIKE (Kubernetes and bare-metal)\nProblem\nSPIKE is not a single binary you start. It is a small constellation of\ncomponents on top of SPIRE: Nexus (the secret store), one or more Keepers (root-\nkey shard holders), Pilot (the CLI), and a one-shot Bootstrap step. Standing\nthem up in the wrong order, or skipping bootstrap, leaves Nexus stuck in keeper\nrecovery and never Ready. This recipe is the map of what you deploy and in\nwhat order; the linked guides have the full command-by-command walkthrough.\nTL;DR\nThe order is always: SPIRE -> Keepers + Nexus -> Bootstrap -> ready.\nOn Kubernetes that is the SPIFFE Helm chart plus a bootstrap Job; on bare-metal\nit is the SPIRE binaries plus the SPIKE make targets. See\nQuickstart (Kubernetes) and\nSPIKE on Linux (bare-metal) for the exact commands.\nWorkflow\nKubernetes\nInstall SPIRE via the hardened SPIFFE Helm chart. This gives every\ncomponent (including spike/bootstrap) a SPIFFE identity.\nDeploy the SPIKE components (Keepers, Nexus). Install without\n--wait: Nexus cannot become Ready until the keepers are seeded, so a\n--wait install hangs.\nRun the Bootstrap Job with the spike/bootstrap SVID. It generates the\nroot key, splits it into Shamir shares, and seeds the keepers. Give its\nServiceAccount RBAC for the spike-bootstrap-state ConfigMap so re-runs are\nidempotent.\nWait on the Nexus rollout. Once the keepers hold threshold shares,\nNexus reconstructs the root key, initializes its backend, and goes Ready.\nBare-metal\nRun SPIRE server and agent, and register the SPIKE component identities\n(the hack/bare-metal/entry scripts do this).\nStart the Keepers and Nexus from the SPIKE binaries / make targets.\nBootstrap with make bootstrap to generate and distribute the root-key\nshares.\nUse Pilot. spike talks to Nexus over mTLS once Nexus is Ready.\nTips\nPick the backend deliberately. memory for a throwaway dev box (no\nkeepers, no bootstrap), sqlite for persistent production, lite for\nencryption-only. The mode changes whether you even need bootstrap. See\nChoosing a backend store.\nShares and threshold are deployment-wide. Decide SHARES and THRESHOLD\nbefore bootstrap; they determine how many keepers you run and how many can\nfail. Production guidance is 5 shares / threshold 3.\nUse fully-qualified DNS in Kubernetes. Point SPIKE_NEXUS_API_URL at the\n*.svc.cluster.local name; the short service.namespace form is NXDOMAIN in\nsome setups.\nSet all the trust roots. Nexus checks identities against the configured\ntrust roots (including SPIKE_TRUST_ROOT_NEXUS); a missing one silently\nrejects callers.\nPitfalls\nBootstrap is not optional for lite/sqlite. Both need keepers and a\nroot key. Forgetting bootstrap is the number-one reason a fresh deployment\nnever reaches Ready. See\nBootstrapping a fresh SPIKE.\nhelm install --wait deadlocks. Nexus is not Ready until the keepers are\nseeded, which happens after install. Install without --wait, bootstrap,\nthen wait on the Nexus rollout.\nImage cache traps (local clusters). With imagePullPolicy: Never, kind\nand minikube reuse a cached image for the same tag even after a fresh load.\nUse a unique tag (or force a re-pull) when iterating on images.\nOrder is not negotiable. Keepers and Nexus before bootstrap; bootstrap\nbefore expecting Ready. Out of order, you chase phantom failures.\nCross-links\nChoosing a backend store\nBootstrapping a fresh SPIKE\nProduction hardening\nTroubleshooting\nReference: Quickstart,\nSPIKE on Linux,\nConfiguration\nWhat’s next\nLock the deployment down before it carries real secrets:\nProduction hardening.","id":"https://spike.ist/recipes/deploying-spike/","title":"Deploying SPIKE (Kubernetes and bare-metal)"},"https://spike.ist/recipes/encryption-as-a-service/":{"body":"Using SPIKE as an encryption service\nProblem\nSometimes you do not want SPIKE to store your data; you want it to encrypt\ndata you store somewhere else (an object store, a database column, a file on\ndisk). You keep custody of the ciphertext; SPIKE holds the key and does the\ncrypto. This is “encryption as a service,” and it pairs naturally with lite\nmode, where Nexus has a root key and keepers but no secret store at all.\nTL;DR\nThe spike cipher command encrypts and decrypts through Nexus without\npersisting anything:\nThe plaintext is never stored in SPIKE; only the key (derived from the root\nkey) lives there. Run Nexus in lite mode when this is the only thing you\nneed from it.\nWorkflow\nEncrypt. Stream mode reads a file or stdin and writes ciphertext to a\nfile or stdout; it handles binary data transparently:\nStore the ciphertext wherever you like — S3/minio, a database BLOB, a\ngit-crypt-style file. SPIKE is out of the loop until you need it back.\nDecrypt by feeding the ciphertext back through Nexus:\nFor programmatic callers, use JSON mode. Encrypt accepts base64\n--plaintext and returns the version byte, nonce, and ciphertext; decrypt\ntakes those three back:\nTips\nStream mode for files, JSON mode for code. Stream mode (-f/-o or\nstdin/stdout) is the easy path for files and pipelines. JSON mode (passing\n--plaintext, or any of --version/--nonce/--ciphertext) is for callers\nthat want to persist the components separately.\nKeep the version byte. Decryption needs the version, nonce, and\nciphertext that encryption produced. Store all three with your data; losing\nthe nonce or version makes the ciphertext undecryptable.\nPair with lite mode. If encryption is all you need, lite gives you the\ncipher routes (and the root key/keepers that back them) without a secret\nstore to operate, back up, or persist.\nAccess still needs a policy. The caller authenticates with its SPIFFE ID\nand needs permission to use the cipher routes, the same as any other SPIKE\noperation.\nPitfalls\nlite still needs keepers and a root key. “No secret store” does not mean\n“no setup.” lite is encryption-only, but the key that encrypts your data is\nthe root key, which is reconstructed from the keepers. You must bootstrap it\nexactly like sqlite. See\nBootstrapping a fresh SPIKE.\nYou own the ciphertext durability. SPIKE does not keep a copy. If you lose\nthe ciphertext, SPIKE cannot recover the plaintext; it only holds the key.\nRe-keying invalidates old ciphertext. The key is derived from the root\nkey. If you re-bootstrap with a new root key, data encrypted under the old key\ncan no longer be decrypted. Treat root-key rotation as a deliberate migration.\n--plaintext is base64. In JSON mode the plaintext is base64-encoded, not\nraw text. Encode on the way in and decode on the way out.\nCross-links\nChoosing a backend store (when lite\nis the right mode)\nBootstrapping a fresh SPIKE\nWriting access policies\nReference: Configuration and the\ncommand reference\nWhat’s next\nMake sure you can recover the key that all this depends on:\nBreak-the-glass disaster recovery.","id":"https://spike.ist/recipes/encryption-as-a-service/","title":"Using SPIKE as an encryption service"},"https://spike.ist/recipes/go-sdk-integration/":{"body":"Integrating the Go SDK\nProblem\nYou want your Go application to read (and maybe write) secrets from SPIKE\ndirectly, without shelling out to the spike CLI. The SDK does this, and it\nhides the hard parts: acquiring the SVID from the SPIRE Agent, setting up mTLS,\nrotating certificates, and talking to Nexus. Your code just asks for a path.\nThe work is mostly making sure the environment around the code is right.\nTL;DR\nThe workload needs a SPIRE entry, a SPIKE policy granting access to the path,\nand SPIFFE_ENDPOINT_SOCKET / SPIKE_NEXUS_API_URL set. See\nGranting a workload access for the\nidentity and policy half.\nWorkflow\nAdd the dependency.\nCreate the client and read a secret. spike.New() connects via the\ndefault Workload API socket; GetSecret returns a struct whose Data is the\nkey-value map stored at the path:\nWrite a secret (if the workload’s policy grants write):\nRead a specific version with options:\nWire the runtime so the SDK can find SPIRE and Nexus:\nTips\nPick a fetch pattern that fits the workload.\nStartup fetch — read all secrets once at boot. Simple; the app restarts\nto pick up changes.\nOn-demand fetch — read per request. Always fresh; more calls to Nexus.\nCached with refresh — cache and refresh on a ticker. Balances freshness\nand load; guard the cache with a mutex.\nReuse the client. spike.New() sets up the SVID source and mTLS; create\nit once and reuse it, and defer api.Close().\nVersioning is built in. Every PutSecret to a path creates a new version;\nread old ones with GetSecretWithOptions. See\nStoring and reading secrets.\nIn Kubernetes, mount the SPIRE Agent socket into the pod and set the two\nenvironment variables; the\nSDK Integration Guide has a full Deployment\nmanifest.\nPitfalls\nThe error usually names the layer. Map it before debugging SPIKE:\nno registration entry found -> SPIRE entry / selectors.\n403 Forbidden -> missing or mismatched SPIKE policy.\nconnection refused (SVID) -> SPIRE Agent down or wrong socket.\nconnection refused (Nexus) -> SPIKE_NEXUS_API_URL wrong or Nexus down.\nData is a map, read the field. GetSecret returns the whole key-value\nmap; pull secret.Data[\"password\"], not the struct itself.\nPaths are namespaces. tenants/myapp/db/creds, never with a leading\nslash, and identical to the path in the policy.\nDon’t log secrets. It is easy to fmt.Println(secret.Data) while\ndebugging and leave it in. The value is sensitive; keep it out of logs.\nCross-links\nGranting a workload access to secrets\nStoring and reading secrets\nWriting access policies\nReference: SDK Integration Guide\nWhat’s next\nKeep your deployment current and patched:\nUpgrading SPIKE.","id":"https://spike.ist/recipes/go-sdk-integration/","title":"Integrating the Go SDK"},"https://spike.ist/recipes/granting-a-workload-access/":{"body":"Granting a workload access to secrets\nProblem\nYou have a running application and a secret in SPIKE, and now you want the app\nto read that secret. This is the recipe that connects the others end to end:\nthe workload needs a SPIFFE identity (from SPIRE), a SPIKE policy that\nauthorizes that identity, and a few lines of SDK code. Miss any one of the\nthree and the read fails, usually with a confusing error.\nTL;DR\nThree links in the chain, in order:\nWorkflow\nRegister the workload in SPIRE. The SPIFFE ID is what SPIKE matches a\npolicy against; the selectors are how SPIRE decides which process gets that\nID.\nWrite the SPIKE policy that grants this identity access to the path.\nGrant the least privilege the workload needs (here, read only):\nRead from the workload using the SDK. The SDK acquires the SVID from the\nSPIRE Agent, sets up mTLS, and talks to Nexus. Your code just asks for the\npath:\nWire the runtime. The SDK needs to find the SPIRE Agent socket and\nNexus:\nTips\nMatch the identity exactly, then widen if needed. Pin a single workload\nwith an anchored pattern (^spiffe://example\\.org/acme/web$). Use .* only\nwhen you deliberately want a whole family of SVIDs to share the policy.\nLeast privilege. A reader only needs read. Add write/list only for\nworkloads that store or enumerate secrets, and never hand a workload super.\nThe SDK handles the hard parts — SVID acquisition, mTLS, certificate\nrotation, retries. Your app focuses on business logic, not transport.\nIn Kubernetes, mount the SPIRE Agent socket into the pod and set\nSPIFFE_ENDPOINT_SOCKET and SPIKE_NEXUS_API_URL. See the SDK guide for a\nfull Deployment manifest.\nPitfalls\nAll three links are required. A missing SPIRE entry, a missing policy, or\nan unset socket each break the chain independently:\nno registration entry found -> the SPIRE entry is missing or its\nselectors do not match the pod/process.\n403 Forbidden / permission denied -> the workload has an SVID but no\npolicy authorizes it on that path.\nconnection refused on SVID acquisition -> the SPIRE Agent socket is wrong\nor the agent is down.\nPolicy patterns are regex. ^spiffe://example\\.org/acme/web$, not\nspiffe://example.org/acme/web*. Escape the dots; anchor the ends. See\nWriting access policies.\nPaths are namespaces. The policy path and the SDK path must agree, and\nneither starts with a slash: tenants/acme/db/creds.\nGetSecret returns a map. Read the field you want from secret.Data\n(e.g. secret.Data[\"password\"]); the value is the whole key-value map stored\nat that path.\nCross-links\nStoring and reading secrets\nWriting access policies\nIntegrating the Go SDK\nReference: SDK Integration Guide\nWhat’s next\nSkip storing secrets entirely and use SPIKE to encrypt your own data:\nUsing SPIKE as an encryption service.","id":"https://spike.ist/recipes/granting-a-workload-access/","title":"Granting a workload access to secrets"},"https://spike.ist/recipes/production-hardening/":{"body":"Production hardening\nProblem\nSPIKE keeps its most sensitive material (the root key, decrypted secrets) in\nmemory by design. That makes the host the trust boundary: if an attacker can\nread process memory, swap, or core dumps, encryption at rest no longer helps.\nGoing to production means closing those host-level gaps and hardening the SPIRE\nidentity plane SPIKE depends on. This recipe is the prioritized checklist; the\nProduction Setup guide has the full rationale.\nTL;DR\nProtect memory, run unprivileged, lock down the identity plane, and restrict\nthe backing store:\nThen: non-root service accounts, mTLS-only SPIRE, granular registration\nentries (no wildcards), and least-privilege access to ~/.spike/data.\nWorkflow\nProtect memory (highest value). SPIKE attempts mlockall to keep keys\nout of swap; give the spike user the memlock limit so it succeeds.\nDisable swap (swapoff -a), or use encrypted swap if you cannot.\nDisable core dumps (RLIMIT_CORE=0, or LimitCORE=0 in systemd).\nRestrict ptrace: set kernel.yama.ptrace_scope to 2 (root-only) or 3\n(off). This applies to both Nexus and the Keepers.\nKeep ASLR on (kernel.randomize_va_space = 2).\nRun unprivileged and isolated.\nRun every component as a dedicated non-root user with minimal\npermissions. Never run as root.\nSingle-tenant the Nexus host (node affinity in Kubernetes); it should be\nthe only significant process on the box.\nIn Kubernetes: allowPrivilegeEscalation: false, privileged: false,\nreadOnlyRootFilesystem: true, non-root runAsUser/runAsGroup, Pod\nSecurity Admission, and NetworkPolicies.\nHarden the SPIRE identity plane. SPIKE’s security rests on it.\nIsolate the SPIRE server (separate cluster or dedicated hardware); consider\na KMS plugin for its keys.\nWrite granular registration entries; avoid wildcard selectors.\nBind component identities to binary sha256 selectors so a swapped binary\nfails attestation and gets no SVID.\nmTLS everywhere; rotate workload certs frequently.\nRestrict the backing store and backups.\nLimit write access to ~/.spike/data to the Nexus process only.\nFor external stores (S3/minio/DB), assume untrusted: TLS in transit,\nrestricted access, encrypted at rest.\nEncrypt backups; guard root-key shards far more strictly than the (already\nencrypted) database. See\nBackup and restore.\nSet the Shamir parameters for your scale.\nDeploymentThresholdShares\nDev/Test23\nSmall Prod35\nLarge Prod57\nCritical710\nTips\nDefense in depth. No single control is sufficient. Memory locking plus no\nswap plus no core dumps plus ptrace restriction together make memory\nextraction genuinely hard.\nVerify binary integrity. SPIKE binaries ship with SHA-256 checksums.\nVerify on install and re-check periodically; binding the SHA into SPIRE\nentries makes this load-bearing, not just advisory.\nAudit logs are evidence. Audit entries are prefixed [AUDIT]: on stdout\n(not yet a separate stream). Ship them somewhere tamper-evident with a\nretention policy that matches your compliance needs.\nContainers need mlock support. To use mlock inside a container, use a\nstorage driver that supports it (e.g. overlay2) and raise the container\nruntime’s LimitMEMLOCK.\nPitfalls\nThe host is the trust boundary. Encryption at rest does not protect a key\nsitting in swap or a core dump. Skipping the memory-protection steps is the\nmost consequential omission.\nMisconfigured SPIRE silently weakens everything. A wildcard selector or a\nprivileged user running a component undoes attestation. The protections exist\nonly if configured correctly.\nStorage tampering is still possible. SPIKE encrypts data at rest, but an\nattacker with write access to the store can corrupt or delete it. Restrict\nstore access independent of encryption.\nDon’t treat this as one-time. Cipher suites, key lengths, and defaults\nchange across versions. Hardening is continuous; keep a frequent upgrade\ncadence. See Upgrading SPIKE.\nCross-links\nDeploying SPIKE\nBackup and restore\nBreak-the-glass disaster recovery\nReference: Production Setup guide,\nSecurity model\nWhat’s next\nWhen something still will not come up, work the symptoms:\nTroubleshooting.","id":"https://spike.ist/recipes/production-hardening/","title":"Production hardening"},"https://spike.ist/recipes/root-key-keepers-recovery/":{"body":"Where the root key lives: keepers, Shamir, and recovery\nProblem\nSPIKE Nexus encrypts everything with a single root key. Where is that key,\nhow does it survive a Nexus restart without a human typing it in, and why does\nNexus talk to “keepers” on startup? Understanding this explains why lite/\nsqlite need keepers and why a missing keeper isn’t fatal.\nTL;DR\nThe root key is never written to disk. It’s split with Shamir’s Secret\nSharing into N shares; each SPIKE Keeper holds one share in memory. On\nstartup Nexus collects any threshold shares from the keepers and\nreconstructs the key in memory. Lose one keeper and the key still recovers;\nlose more than N − threshold and you fall back to\nbreak-the-glass recovery.\nWorkflow (what happens automatically)\nBootstrap generates the root key, splits it into SPIKE_NEXUS_SHAMIR_SHARES\nshares, and seeds the keepers (one share each). See\nBootstrapping.\nNexus startup (lite/sqlite): InitializeBackingStoreFromKeepers\niterates the keepers, gathers shares until it has\nSPIKE_NEXUS_SHAMIR_THRESHOLD of them, and reconstructs the canonical root\nkey (the seed reduced into a P-256 scalar). It then keys its cipher /\nopens its store and serves the API.\nOngoing sync: Nexus runs SendShardsPeriodically, re-pushing shares to\nthe keepers on an interval so restarted/replaced keepers get re-hydrated.\nKeeper restart: a keeper holds its share only in memory, so a restarted\nkeeper is empty until Nexus re-syncs it — which is why a single keeper\nbouncing is harmless as long as threshold others are up.\nTips\nmemory mode has no root key and no keepers — it’s the only standalone\nmode. lite and sqlite always recover from keepers.\nPick shares/threshold for your failure tolerance: you can lose up to\nshares − threshold keepers and still recover automatically.\nThe reconstructed key lives only in Nexus memory; harden the host\naccordingly (see Production hardening).\nPitfalls\nCanonical key ≠ raw seed. The AES key is the Shamir secret scalar\nmarshalled to bytes, not the raw random seed (the seed is reduced mod the\nP-256 group order). Anything that needs the actual key (e.g. the bootstrap\nverify probe) must derive it the same way, not use the seed.\nAll keepers empty = stuck Nexus, not a crash. If no keeper has a share\n(fresh deploy without bootstrap, or all keepers restarted before re-sync),\nNexus retries recovery indefinitely by design. See\nTroubleshooting.\nKeepers are not a secret store. They hold only root-key shares, never\nyour secrets.\nCross-links\nBootstrapping a fresh SPIKE\nBreak-the-glass disaster recovery\nBackup and restore\nArchitecture: System overview ·\nSecurity model\nWhat’s next\nPlan for the day the keepers can’t recover the key:\nBreak-the-glass disaster recovery.","id":"https://spike.ist/recipes/root-key-keepers-recovery/","title":"Where the root key lives"},"https://spike.ist/recipes/storing-and-reading-secrets/":{"body":"Storing and reading secrets\nProblem\nYou have SPIKE up and running and you want to do the everyday thing: write a\nsecret, read it back, list what is there, and clean up old ones. You also want\nto know what happens when you overwrite a secret (does the old value vanish?)\nand how to recover one you deleted by mistake.\nTL;DR\nSecrets are versioned key-value maps stored at a namespaced path. Use\nspike secret from SPIKE Pilot:\nEvery put to an existing path creates a new version; old versions are\nretained until you explicitly delete them.\nWorkflow\nWrite a secret. A secret is one or more key=value pairs at a path:\nThis is an upsert. Writing the same path again stores a new version rather\nthan mutating the old one.\nRead it back. Get the whole map, a single key, or a specific version:\nList paths. list shows every secret path you are allowed to see:\nInspect metadata without revealing the value (versions, timestamps,\ncurrent version):\nDelete and undelete. Delete is a soft delete: the version is marked\ndeleted, not destroyed, so it can be restored. Versions are given as a\ncomma-separated list with -v; 0 means the current version (the default\nwhen -v is omitted):\nTips\nMultiple keys per path. One path can hold a whole map\n(put .../creds user=acme pass=… host=db.internal). Group related fields\nunder one path instead of scattering them.\n-v differs by command. For get and metadata get, -v/--version\ntakes a single integer. For delete and undelete, -v/--versions takes a\ncomma-separated list. 0 always means the current version.\nOutput formats. get, list, and metadata get accept\n-f/--format with plain/p, yaml/y, or json/j. Use json when\npiping into scripts.\nPersistence depends on the backend. In memory mode everything is gone\non restart; sqlite persists to disk; lite keeps no secrets at all (it is\nencryption-only). See\nChoosing a backend store.\nPitfalls\nPaths are namespaces, not filesystem paths. Use tenants/acme/db/creds,\nnever /tenants/acme/db/creds. A leading slash is wrong, and trailing\nslashes are discouraged.\nlist takes no path argument. It lists all paths you can access; it does\nnot filter by prefix. Filter in your shell if you need a subset.\nReading needs a policy. SPIKE Pilot authenticates with its SPIFFE ID, but\nit still needs a policy granting read/write on the path. “I can put but\nanother workload can’t get” is almost always a missing policy, not a\nstorage problem. See\nWriting access policies.\nOverwrite does not destroy history. put over an existing path keeps the\nold version. If you must scrub a value, delete the specific versions.\nCross-links\nChoosing a backend store\nWriting access policies\nGranting a workload access to secrets\nReference: SPIKE CLI and the\ncommand reference\nWhat’s next\nControl who can read and write these secrets:\nWriting access policies.","id":"https://spike.ist/recipes/storing-and-reading-secrets/","title":"Storing and reading secrets"},"https://spike.ist/recipes/troubleshooting/":{"body":"Troubleshooting\nProblem\nSomething is wrong and the error message points at a symptom, not a cause.\nNexus will not go Ready, a workload gets 403 even though you wrote a policy,\nor bootstrap hangs. This recipe is organized symptom first: find the line\nthat matches what you see, then work the checklist under it.\nTL;DR\nSymptomMost likely cause\nNexus never Ready / loops in keeper recoveryKeepers unseeded; bootstrap\n403 Forbidden on a secretMissing policy, or pattern is a glob not regex\nBootstrap hangs / never completesA keeper unreachable, or verify can’t reach Nexus\nno registration entry foundSPIRE entry missing or selectors mismatch\nconnection refused (SVID)SPIRE Agent down or wrong socket path\nNexus never becomes Ready (stuck in keeper recovery)\nThis is the classic fresh-deployment failure. Nexus rebuilds its root key from\nthe keepers on startup and waits forever until it can; if the keepers are\nempty, it loops and the readiness probe keeps restarting it.\nWork down this list:\nDid bootstrap run? On a fresh lite/sqlite deployment the keepers\nstart empty. Until bootstrap seeds them, Nexus cannot recover. This is the\nnumber-one cause. Run it. See\nBootstrapping a fresh SPIKE.\nDid you helm install --wait? That deadlocks: Nexus is not Ready until\nthe keepers are seeded, which happens after install. Install without\n--wait, run bootstrap, then wait on the Nexus rollout.\nAre all keepers reachable? Bootstrap needs every keeper in\nSPIKE_NEXUS_KEEPER_PEERS reachable, and Nexus needs threshold of them to\nreconstruct. Check the peer list and that each keeper is up.\nIs SPIKE_NEXUS_API_URL resolvable? In Kubernetes use the\nfully-qualified *.svc.cluster.local name; the short service.namespace\nform can be NXDOMAIN.\nAre all trust roots set? Nexus validates callers against the configured\ntrust roots, including SPIKE_TRUST_ROOT_NEXUS. A missing root silently\nrejects otherwise-valid identities.\nPolicy created but access denied (403)\nThe workload has an identity but is not authorized for what it tried.\nDoes a policy actually match? Both the spiffeid-pattern and the\npath-pattern must match. A policy that “looks right” usually has one too\nnarrow or unanchored.\nAre the patterns regex, not globs? ^tenants/acme/.*$, not\ntenants/acme/*. A glob-style * silently matches the wrong set or nothing.\nSee Writing access policies.\nDid you escape the dots? example\\.org, not example.org (an unescaped\n. matches any character, sometimes masking the real problem).\nRight permission? read to read, write to create/update/delete,\nlist to enumerate. A reader with only list still cannot get.\nPath is a namespace. No leading slash; tenants/acme/db/creds, and the\npolicy path and request path must agree.\nBootstrap hangs or never completes\nKeepers not all up. Bootstrap requires exactly SHARES reachable\nkeepers; a wrong or incomplete peer list stalls or fails it.\nVerify cannot reach Nexus. The post-seed verification calls the Nexus\nAPI; if SPIKE_NEXUS_API_URL is wrong, verification fails even though the\nshares landed.\nRe-run did nothing. That is idempotency working: the\nspike-bootstrap-state ConfigMap records completion. To deliberately re-key,\nset SPIKE_BOOTSTRAP_FORCE=true (this orphans data under the old key).\nSVID / SPIRE errors\nno registration entry found — the SPIRE entry is missing, or its\nselectors do not match the pod/process. Create the entry and confirm the\nselectors. See\nGranting a workload access.\nconnection refused acquiring an SVID — the SPIRE Agent is down or\nSPIFFE_ENDPOINT_SOCKET points at the wrong socket. Start the agent and fix\nthe path.\nTips\nRead the audit log carefully. Audit entries ([AUDIT]:) can log\n“enter/exit success” for a route even when the request fell through to a\nfallback and returned an error. Cross-check the actual HTTP status, not just\nthe audit line.\nLocal clusters cache images by tag. With imagePullPolicy: Never, kind\nand minikube reuse the cached image for the same tag even after a fresh\nload. Use a unique tag (or force a re-pull) when an image change “isn’t taking\neffect.”\nIsolate the layer. Confirm SPIRE issues the SVID, then that SPIKE\nauthorizes it, then that the data operation works. Most “SPIKE” failures are\nactually identity or policy failures one layer down.\nPitfalls\nTreating the symptom, not the cause. A restarting Nexus pod is almost\nnever a Nexus bug; it is usually unseeded keepers. Fix the cause (bootstrap),\nnot the symptom (probe tuning).\nAssuming a 403 is a storage problem. It is authorization. Check the\npolicy and its patterns before touching the secret store.\nForgetting lite needs keepers too. “Encryption-only” does not mean\n“no bootstrap.” lite still recovers a root key from keepers and shows the\nexact same stuck-in-recovery symptom if unseeded.\nCross-links\nBootstrapping a fresh SPIKE\nWhere the root key lives\nWriting access policies\nDeploying SPIKE\nReference: Configuration\nWhat’s next\nOnce it is healthy, read secrets from your own code:\nIntegrating the Go SDK.","id":"https://spike.ist/recipes/troubleshooting/","title":"Troubleshooting"},"https://spike.ist/recipes/upgrading-spike/":{"body":"Upgrading SPIKE\nProblem\nSPIKE is actively hardened and patched, so you want to stay current, but two\nSPIKE-specific facts make upgrades more than a binary swap. First, there is no\nbuilt-in database migration between versions, so you cannot assume a new Nexus\nreads an old store. Second, component identity is often bound to the binary’s\nSHA-256 in SPIRE, so a new binary fails attestation until you update the\nregistration entry. Upgrade without accounting for both and the system either\nwill not start or will not trust itself.\nTL;DR\nBack up before, verify checksums, update the SHA selectors, and rehearse in\nstaging. Never upgrade production as the first place you try the new version.\nWorkflow\nRead the changelog and release notes for the target version. Look\nspecifically for changes to configuration, environment variables, default\nkey lengths or cipher suites, and the storage schema. See\nChangelog.\nBack up everything first. Capture the database and export fresh\nroot-key shards before you touch any binary:\nSee Backup and restore.\nVerify the new binaries. Official SPIKE binaries publish SHA-256\nchecksums. Verify each before installing:\nUpdate SPIRE registration entries if they pin the SHA. If your entries\nbind a unix:sha256:<hash> selector (recommended hardening), the new binary\nhas a new hash and will fail attestation until you re-register it:\nUpgrade in staging, verify, then production. Roll the new version into a\nstaging environment that mirrors production. Confirm Nexus reaches Ready and\nsecrets round-trip:\nOnly then promote to production.\nTips\nKeep a frequent cadence. Small, regular upgrades are far less risky than\nrare jumps across many versions, where breaking changes accumulate.\nUpgrade order. Bring keepers and Nexus to the new version together, and\nexpect Nexus to recover its root key from the keepers on restart, exactly as\non first boot. If it stalls, see Troubleshooting.\nThe root key is version-independent. Upgrading binaries does not re-key.\nYour existing shards and encrypted data remain valid as long as you do not\nre-bootstrap.\nAutomate checksum verification in your deployment pipeline so an\nunverified binary can never reach a node.\nPitfalls\nNo cross-version DB migration. SPIKE ships no tool to migrate the store\nbetween incompatible versions. If a release changes the schema, plan a\ndeliberate migration; do not point new Nexus at an old database and hope.\nStale SHA selectors lock you out. Forgetting step 4 makes the upgraded\ncomponent fail SPIRE attestation, so it gets no SVID and the rest of the\nsystem refuses to talk to it. This looks like a connectivity failure but is an\nidentity failure.\nNo backup, no rollback. If the upgrade goes wrong and you skipped the\nbackup, there is nothing to restore to. The backup in step 2 is the rollback\nplan.\nDefaults can change silently. A new version may tighten key lengths or\ncipher suites. Re-read the configuration reference after upgrading rather than\nassuming your old settings are still optimal. See\nConfiguration.\nCross-links\nBackup and restore\nProduction hardening\nTroubleshooting\nReference: Changelog,\nConfiguration\nWhat’s next\nYou have completed the recipe set. Revisit the\nconcepts any time the fundamentals feel\nfuzzy, or browse all Recipes.","id":"https://spike.ist/recipes/upgrading-spike/","title":"Upgrading SPIKE"},"https://spike.ist/recipes/writing-access-policies/":{"body":"Writing access policies\nProblem\nA workload can authenticate to SPIKE with its SPIFFE ID, but authentication is\nnot authorization. Until a policy says “this identity may do these things\non these paths,” every read and write is denied. You need to write that policy,\nand the two fields that decide who and what (spiffeid-pattern and\npath-pattern) are regular expressions, which is the single most common\nplace people trip.\nTL;DR\nA policy binds a SPIFFE ID regex and a path regex to a set of\npermissions (read, write, list, super):\ncreate fails if the name already exists. Use apply for upsert (and for\napplying a YAML file).\nWorkflow\nDecide the four inputs:\nname — a unique label for the policy.\nspiffeid-pattern — a regex matching the workload SVIDs it applies to.\npath-pattern — a regex matching the secret paths it covers.\npermissions — any of read, write, list, super.\nCreate the policy:\nOr apply from YAML (upsert: creates if new, updates if the name exists):\nVerify and inspect:\nDelete when no longer needed (by name or ID; prompts to confirm):\nTips\ncreate vs apply. create is strict: it errors if a policy with that\nname already exists, which is what you want in scripts that must not clobber.\napply is upsert and is the only form that reads a --file. Use apply for\ndeclarative, re-runnable config.\nPermissions. read reads secrets, write creates/updates/deletes,\nlist lists resources, and super is administrative (grants all). Grant the\nnarrowest set that works; reserve super for operators.\nPatterns can be broad or pinned. ^tenants/acme/db/.*$ covers a subtree;\n^tenants/acme/db/creds$ pins one exact path. Anchor with ^ and $ so a\npattern does not match more than you intend.\npolicy list filters. Filter by --path-pattern or --spiffeid-pattern\n(not both at once) to find which policies touch a path or an identity.\nPitfalls\nPatterns are regex, not globs. This is the big one.\nCorrect: ^tenants/acme/db/.*$, ^spiffe://example\\.org/web/.*$\nWrong: tenants/acme/db/*, spiffe://example.org/web/*\nIn a glob, * means “anything”; in regex it means “zero or more of the\nprevious character.” A glob-style pattern silently matches the wrong set.\nEscape the dots in SPIFFE IDs. . matches any character in regex. Write\nexample\\.org, not example.org, or the pattern will also match\nexampleXorg.\nPaths are namespaces, not filesystem paths. Match ^tenants/acme/.*$,\nnever ^/tenants/acme/.*$. A leading slash is wrong here just as it is when\nstoring secrets.\nBoth patterns must match. Access is granted only when the caller’s\nSPIFFE ID matches spiffeid-pattern and the target path matches\npath-pattern. A policy that “looks right” but denies access usually has one\nof the two patterns too narrow or unanchored.\nCross-links\nStoring and reading secrets\nGranting a workload access to secrets\nReference: Configuration and the\ncommand reference\nWhat’s next\nPut the policy to work end to end:\nGranting a workload access to secrets.","id":"https://spike.ist/recipes/writing-access-policies/","title":"Writing access policies"},"https://spike.ist/tracking/":{"body":"Tracking\nHere you can find the changelog, documentation snapshots, and all the essential\nupdates to stay informed.\nChangelog\nDocumentation Snapshots","id":"https://spike.ist/tracking/","title":"Tracking"},"https://spike.ist/tracking/changelog/":{"body":"SPIKE Changelog\nRecent\nAdded configurable retry backoff intervals for SPIKE Bootstrap keeper\ncommunication. New environment variables SPIKE_BOOTSTRAP_KEEPER_RETRY_INITIAL_INTERVAL\n(default 2s) and SPIKE_BOOTSTRAP_KEEPER_RETRY_MAX_INTERVAL (default 30s)\nallow operators to tune retry behavior during bootstrap.\nSDK: retry.WithMaxAttempts now accepts optional RetrierOption parameters,\nenabling callers to customize backoff settings while maintaining backward\ncompatibility.\nUpdate documentation to reflect the new SPIKE architecture.\nFix occasional dangling process issues when make start does not exit cleanly.\nSDK API methods now return cloned versions of sentinel *SDKErrors instead of\nreturning the original reference. This prevents accidental mutation of the\nerror values.\nmem.Lock() does not print JSON error logs on CLI startup anymore.\nmoved some of the internal reusable feature from in-tree to SPIKE Go SDK.\nbinaries are now create at the ./bin folder instead of the root of the project.\nlog files are now created at the ./logs folder instead of the root of the project.\nfactored out some common validation and error handling logic from in-tree to the SDK.\n[0.8.0] - 2025-11-28\nAdded\nAdditional and comprehensive logging to all SPIKE Nexus and SPIKE Keeper API\nmethods.\nBetter error handling across the entire codebase.\nPilot: Reduced CLI verbosity by removing structured JSON log output from\nall commands (policy, secret, cipher, operator). The CLI now outputs clean,\nconcise error messages to stderr without internal debug logs cluttering the\nterminal.\n“Encryption as a service” support for SPIKE Pilot. There is an outstanding\nissue for JSON mode; however, streaming mode works as expected.\nmake start includes additional smoke tests to ensure all SPIKE components are\nin good shape and ready to roll.\nAdded extensive package documentation to ALL packages of SPIKE and\nSPIKE Go SGK.\nSDK: Improved documentation clarity for single return value functions, CSPRNG\nfatal behavior, and function distinctions (ValidatePath vs.\nValidatePathPattern).\nSDK: Significantly increased test coverage across all SDK packages with\ncomprehensive unit and integration tests.\nSDK: Enhanced documentation for the version numbering system—version numbers\nstart at 1, and CurrentVersion == 0 indicates all versions have been deleted.\nSDK: Updated Delete() documentation to clarify soft-delete behavior and that\npaths remain in storage even when all versions are deleted.\nSDK: Added HasValidVersions() and Empty() helper methods to kv.Value for\nchecking if secrets have any non-deleted versions, useful for identifying\npurgeable secrets.\nSDK: Added Destroy() method to kv.KV for hard-delete operations that\npermanently remove secret paths from storage and reclaim memory. Unlike\nsoft-delete (Delete()), this cannot be undone.\nNexus: Comprehensive documentation updates across ALL files ensuring\nconsistency between function signatures, parameter types, return values, and\nactual code behavior. Updated error type references from generic error to\nspecific *sdkErrors.SDKError types.\nNexus: Added defensive nil source checks across concurrent/distributed systems\nwhere workload API can asynchronously invalidate X509Source. Updated\nInitializeBackingStoreFromKeepers, SendShardsPeriodically, CLI commands,\nand server startup with proper nil handling and documentation explaining\nretry behavior for transient failures.\nNexus, Keeper: Added AST-based tests to enforce guard function usage in all\nroute handlers. The tests scan route handler files and verify each Route*\nfunction calls either net.ReadParseAndGuard or a guard function directly.\nThis prevents contributors from accidentally adding routes without\nauthorization checks. See ADR-0031.\nChanged\nBREAKING: SDK now returns typed sentinel errors instead of generic error\nvalues.\nBREAKING: SDK: Enhanced error handling—Get methods now return\nErrAPINotFound instead of (nil, nil) when resources are not found,\nfollowing idiomatic Go patterns (similar to os.Open, database/sql).\nSDK: Improved API consistency by standardizing policy function\nparameters from name to id across all operations, matching internal\nimplementation.\nNexus: Enhanced backend interface documentation with proper parameter and\nreturn type information, and documented CurrentVersion == 0 behavior in\nLoadSecret and LoadAllSecrets methods.\nNexus: Comprehensive documentation updates for all secret management functions\nwith accurate parameter names, return types, and behavioral details including\nsoft-delete semantics and metadata update logic.\nNexus: Made DeleteSecret more defensive when finding the new current version\nby removing unnecessary condition, improving code clarity and robustness.\nBREAKING: Nexus: Fixed inconsistent error returns in memory backend -\nLoadSecret now returns ErrEntityNotFound instead of (nil, nil) for\nmissing secrets.\nNexus: Optimized retry loop in InitializeBackingStoreFromKeepers with early\nnil check to avoid unnecessary function call overhead when X509 source is nil.\nNexus: Refactored ShardGetResponse to return ([]byte, *sdkErrors.SDKError)\ninstead of logging errors internally and returning empty slices, following\ncanonical Go error handling patterns.\nNexus: Improved resilience in data loading functions (LoadAllPolicies,\nLoadAllSecrets) by changing from aggressive exit behavior to graceful\ndegradation - now logs warnings and continues processing valid entries instead\nof abandoning entire dataset on single entry corruption.\nPilot: Comprehensive refactoring of CLI output handling across all commands\n(14 files) to use Cobra’s cmd.Print*() methods instead of fmt.Print*().\nError messages now properly route to stderr via cmd.PrintErrln()/\ncmd.PrintErrf(), while success and normal output routes to stdout via\ncmd.Println()/cmd.Printf(). This improves testability, respects Cobra’s\noutput configuration, and provides proper stderr/stdout separation. Updated\nhelper functions printSecretResponse() and handleAPIError() to accept\ncmd parameter for consistent output handling.\nSDK: Added UpdatedAt field to Policy struct to track when policies are\nmodified. Removed unused CreatedBy field.\nNexus: Standardized error handling across recovery modules to use\nlog.WarnErr/log.FatalErr with SDK error types instead of generic\nlog.Warn/log.FatalLn calls. This provides searchable error codes and\nconsistent error patterns.\nBREAKING: Nexus: Changed policy operations from create-only to upsert\nsemantics for consistency with secret operations. state.CreatePolicy is now\nstate.UpsertPolicy. If a policy with the same name exists, it is updated\n(preserving ID and CreatedAt); otherwise, a new policy is created.\nCode Quality: Eliminated error variable shadowing across the codebase. Error\nvariables now use descriptive names (atoiErr, nonceErr, openErr,\nrestoreErr, etc.) instead of reusing err. This prevents subtle bugs where\na later error could inadvertently shadow an earlier one and improves code\nreadability by making error sources explicit.\nFixed\nFinally, fixed the flaky tests around the retry logic in SPIKE Go SDK for\ngood.\nVarious other bugfixes, refactorings, and security improvements.\nSDK: Added nil validation to CreateMTLSServer functions with fail-fast\nbehavior for configuration errors.\nSDK: Fixed resource management bug in StreamPostWithContentType where defer\nwas closing response body on the success path, causing callers to receive closed\nbody.\nSDK: Fixed critical bug in Undelete function that was ignoring the versions\nparameter due to missing else clause.\nNexus: Added OldestVersion tracking to UndeleteSecret for consistency\nwith DeleteSecret, ensuring metadata accurately reflects the oldest\nnon-deleted version.\nNexus: Fixed bug in UndeleteSecret where undeleting a version higher than\nthe current CurrentVersion did not update CurrentVersion to reflect the\nnew highest active version, causing metadata inconsistency.\nNexus: Fixed critical bug in UpsertSecret where adding a new version when all\nexisting versions were deleted (CurrentVersion == 0) would create version 1,\npotentially colliding with an existing deleted version 1. Now correctly finds\nthe highest existing version number and increments from there.\nNexus: Fixed resource leak in internal/net/post.go where response body\nclose was deferred after body read instead of immediately after response\nobtained, causing leaks when read operations failed.\nNexus: Fixed a critical bug in secret route handlers where error paths were not\nsending HTTP responses to clients. Added missing net.Fail() calls in\nput_intercept.go (3 locations) and undelete.go to ensure proper error\nresponses.\nNexus: Fixed bug in RouteDeletePolicy that returned HTTP 500 for all errors\nincluding “not found.” Now correctly returns HTTP 404 when the policy does not\nexist\nSecurity\nPoP validation after the bootstrap sequence to ensure SPIKE Nexus has\ninitialized properly.\nUpdate SPIKE Components’ Go version to 1.25.3.\nlog.FatalLn exits cleanly by default to avoid leaking sensitive information\nvia stack traces in production. Stack traces can be enabled for\ndevelopment/testing by setting SPIKE_STACK_TRACES_ON_LOG_FATAL=true.\nSDK upgrade to Go 1.25.3 to fix GO-2025-4007.\nFixed error handling inconsistency in NewPilotRecoveryShards to\nensure fail-fast behavior on shard generation failures. The function now\nconsistently uses log.FatalLn for all critical errors during shard\nmarshaling to prevent silent generation of corrupted recovery material.\nAdded SPIFFE ID validation to SPIKE Keeper shard endpoints.\nThe RouteShard endpoint now validates that only SPIKE Nexus can retrieve\nshards during recovery operations. The RouteContribute endpoint validates\nthat only SPIKE Bootstrap (during initial setup) or SPIKE Nexus (during\nperiodic updates) can contribute shards. This prevents unauthorized access\nto sensitive shard data.\nCrypto: Consolidated GCM nonce size constant (crypto.GCMNonceSize) to\ninternal/crypto/gcm.go. This removes duplication across cipher and bootstrap\npackages and documents the decision to use the NIST-recommended 12-byte\nstandard. See ADR-0032.\nFixed CWE-117: go-viper’s mapstructure May Leak Sensitive Information in\nLogs When Processing Malformed\nData\nFixed CVE-2025-58181: golang.org/x/crypto/ssh allows an attacker to cause\nunbounded memory\nconsumption\nFixed CVE-2025-47914: golang.org/x/crypto/ssh/agent vulnerable to panic if\nmessage is malformed due to out of bounds\nread\n[0.6.1] - 2025-10-02\nThis is a patch release to align with the changes in the upstream helm charts.\n[0.6.0] - 2025-10-01\nThis was a security release where the main focus was hardening SPIKE SDK mTLS\nimplementation. In addition, we created a configurable SPIKE backing store\ndirectory to enable future HA development.\nAdded\nAdded SPIKE_TRUST_ROOT_BOOTSTRAP to enable SPIKE Bootstrap to be used\nin different trust boundaries.\nAdded SPIKE_NEXUS_DATA_DIR to enable setting up custom data directories for\nSPIKE Nexus backing store.\nAdded convenience methods to the SPIKE Go SDK.\nChanged\nImprovements to the SPIKE Go SDK.\nStricter SPIFFE ID validation. SPIKE SDK now ensures that the API client\nonly talks to SPIKE Nexus as the server.\nFixed\nMinor bug fixes.\nFixed flaky unit tests.\nSecurity\nSPIKE Go SDK clients are hardened to only talk to SPIKE Nexus as the\nserver during mTLS.\n[0.5.1] - 2025-09-14\nChanged\nUpdated SPIKE Bootstrap to be more robust by adding exponential backoff while\nwaiting for SPIKE Keepers to be ready.\nEnhancements in startup scripts to better enable local development with\nSPIFFE Helm Charts that have not been published yet.\n[0.5.0] - 2025-09-11\nThis is still a prerelease version; however, it includes major changes\nand improvements. We will cut a stable release once we have SPIKE Bootstrap\nincluded in the SPIFFE Helm Charts.\nAdded\nUpdates to documentation and usage examples.\nUpdates to the SPIKE Go SDK around the logging API.\nMoved certain reusable features from in-tree to SPIKE Go SDK.\nA new make audit target that helps contributors run style checks and\nlinters before submitting a PR.\nEnhancements to bare-metal installation scripts.\nChanged\nUpdated Go version to 1.25.1\nUpdated SPIKE Bootstrap to be more robust and enabled it to work on\nKubernetes too.\nClarified documentation around path pattern and SPIFFE ID pattern matching\nin SPIKE policies.\nSlight improvements in the SPIKE logo and a brand-new landing page that\nhighlights the project’s vision and goals.\nMoved environment variable names to the SPIKE Go SDK as constants to prevent\ntypos and to make it easier to use the SDK.\nFixed\nBug fixes and stability improvements.\nFixed failing unit tests on CI (that’s a temporary fix that runs tests\nsequentially instead of in parallel; we will fix that soon)\nSecurity\nAlong with secrets, SPIKE Nexus now encrypts policies at rest too.\nUpcoming\nA lot of ongoing design work around key rotation, encryption, and a secure\nweb interface that leverages Web Cryptography API to provide a secure\nexperience of managing secrets without having to interact with the command\nline.\nOngoing work on the Cipher API to provide “encryption as a service” to\nsystems and workloads that do not require to store secrets in a backing store.\n[0.4.3] - 2025-08-16 (prerelease)\nThis is a “prerelease” version to enable upstream SPIFFE Helm Charts\nintegration initiatives. The most significant change is the introduction of a\nSPIKE Bootstrap app that is responsible for initializing\nSPIKE Nexus. This new approach separates the bootstrapping workflow that\nhad been inside SPIKE Nexus’ initialization workflow before. And that\nenables us an opportunity to run SPIKE Nexus in HA mode without designing\nelaborate, and potentially error-prone, consensus algorithms.\nAdded\nFIPS 140.3 Compliance: FIPS is now enabled at build time, and it’s\nenforced everywhere. We are using GOFIPS140=v1.0.0, the modern way of\nenabling FIPS, retiring our older boringcrypto implementation.\nspike policy list command can now filter by SPIFFE ID pattern and path\npattern.\nspike policy command cano now accept a YAML file as input, instead of\nrequiring command-line parameters.\nSPIKE Go SDK now has a generator that creates pattern-based, secure,\nrandomized secrets.\nImplemented a (currently experimental) “SPIKE Lite” mode where SPIKE Nexus\nwould not need a backing store, or policies, and can leverage the storage\nand policy mechanism of S3-compatible object stores (such as Minio). Once\nwe fully implement and polish SPIKE Lite, we will also update documentation\nand use cases to allow users to understand the benefits and liabilities of\nSPIKE Lite and why they might want to use one over the other.\nChanged\nBetter alignment with idiomatic Go practices. SPIKE and SPIKE Go SDK code\nhas been refactored to better align with common Go idioms and conventions.\nWe also created a make audit target to run style checks and linters that\nenforce a consistent code style and some of these guidelines. make audit\nis also a part of the CI pipeline to ensure that the code is always compliant\nat every commit. In addition make audit also does vulnerability checks.\nBREAKING: SPIKE Nexus now requires a separate initializer (SPIKE Bootstrap)\nto begin its lifecycle. The user guides and relevant documentation have been\nupdated to reflect this change.\nUpdated Go to the latest version (1.24.6).\nFixed\nFixed a bug related to Windows builds. SPIKE Nexus, SPIKE Pilot, and SPIKE\nKeeper can now be built as Windows binaries too.\nVarious refactorings, improvements, code cleanup, and bug fixes.\n[0.4.2] - 2025-07-19\nAdded\nAbility to configure to not how SPIKE banner on startup.\nAbility to configure to show a warning if memory locking is not\navailable on the system.\nSPIKE can now be deployed from SPIFFE helm charts. Tested and verified!\nDocumentation updates.\nSPIKE can now be installed from SPIFFE Helm\nCharts and can\nfederate secrets across clusters\nChanged\nMoved logging to SPIKE SDK. VSecM v2 will share the same logging setup.\nspike policy command now accepts file input; you can design your policies\nas yaml files and then spike policy apply -f them.\nSecurity\nFixed GHSA-fv92-fjc5-jj9h: mapstructure May Leak Sensitive Information\nin Logs When Processing Malformed\nData\n[0.4.1] - 2025-06-01 (prerelease)\nAdded\nInitial support for Kubernetes deployments.\nBetter shard sanitization during recovery procedures.\nAdded memory locking to SPIKE Pilot too.\nFiner control of the startup script via flags.\nAdded the ability to optionally skip database schema creation during SPIKE\ninitialization.\nChanged\nBREAKING: SDK validation methods now take trust root as an argument.\nBREAKING: SPIKE_NEXUS_KEEPER_URL is now a comma-delimited list of URLs\n(instead of JSON).\nSPIKE components can now be configured to accept multiple trust roots as\nlegitimate peers—this will be useful in complex mesh and federation\ndeployment scenarios.\nSPIKE now uses GitHub Container Registry to store its container image\n(instead of Docker Hub).\nFixed\nFixed a bug where the doomsday recovery procedure was not immediately\nrestoring the data.\n[0.4.0] - 2025-04-16\nAdded\nAdded more configuration options to SPIKE Nexus.\nUpdated documentation around security and production hardening.\nUpdated release instructions, added a series of tests to follow and cutting\na release only after all tests pass. These tests are manual for now but\ncan be automated later down the line.\nFixed\nFixed a bug related to policies not recovering after a SPIKE Nexus crash.\nNow, both secrets and policies recover without an issue.\nEnsured that “in memory” mode works as expected, and we can create policies\nand secrets.\nFixed inconsistencies in the audit log format.\nFixed NilPointer exception during certain shard creation paths.\nFixed regressions due to premature memory cleanup. Now the memory is cleaned\nup when no longer needed (but not before).\nVarious bug fixes and improvements.\nChanged\nMoved some common reusable code to spike-sdk-go.\nVarious changes and improvements in SPIKE Go SDK.\nThe startup script does not initiate SPIKE Keepers if SPIKE is running in\n“in memory” mode.\nRenamed AuditCreated enum as AuditEntryCreated to specify its intention\nbetter (i.e., it’s not creation of an entity or a DAO, but rather it’s\nthe start of an audit trail).\nImproved spike policy commands with better UX and error handling.\nSecurity\nAdded cache invalidation headers to all API responses.\nFor added security, we strip symbols during the build process now.\nImplemented better memory protection with cleaning up memory when no longer needed.\nSPIKE Nexus and SPIKE Keepers use mlock to avoid memory swapping when possible.\nFixed CVE-2025-22872: golang.org/x/net vulnerable to Cross-site Scripting\nFixed CVE-2025-22870: HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net\n[0.3.1] - 2025-03-04\nAdded\nSPIKE Nexus now accepts a dynamic number of SPIKE Keepers and Shamir share\nthreshold (defaults to 3 keepers, and minimum 2 shares (out of 3) to\nrecreate the root key).\nStarted containerization work (created a Dockerfile); yet it’s far from\ncomplete: We will work on that.\nVarious documentation updates.\nMinor bug fixes in initialization scripts.\nChanged\nSecrets now rehydrate from the backing store immediately after SPIKE\nNexus crashes. Former implementation was using an optimistic algorithm\n(i.e., do not load the secret unless you need it), yet that was causing\ncalls to spike secret list return an empty collection. This implementation\nfixes that issue and also ensures that SPIKE Nexus’ memory continues to\nbe the primary source of truth (by design).\nSecurity\nSPIKE Nexus now securely erases the old root key and shards from memory after\nit is no longer necessary. Before, it was left to the garbage collector to\nhandle that. The current approach is NIST recommendation and provides better\nmemory protection.\nFixed CVE-2025-271447: DoS in go-jose Parsing\n[0.3.0] - 2025-02-20\nThis release was focused around bugfixes, stability, documentation, and\ndisaster recovery.\nAdded\nDocumentation: SPIKE Production Hardening Guide is complete and ready for\nconsumption (it was in draft mode before).\nImplemented spike operator recover and spike operator restore commands\nthat provide disaster recovery capabilities if there is a total system crash\nand the remaining SPIKE Keepers are less than the threshold to recover the\nroot key.\nSeveral bugfixes and performance improvements.\nAdded a coverage report to the repository. The coverage is not as high as\nwe would like to be; yet we have to start somewhere :).\nAdded several architectural decision records to share the projects’ vision\nand design decisions transparently.\nStarted working on containerization (though it’s still a work in progress).\nChanged\nSPIKE Website has undergone a major overhaul.\nDocumentation updates, especially around security and disaster recovery.\nDocumentation is now consistent with the code: Removed outdated sections,\nintroduced new modules, explained current workflows and state transitions.\nMoved documentation from Docsify to Zola, that gave, speed, flexibility,\ntemplateability, and consistency to the overall documentation.\nSignificant updates in SPIKE go SDK.\n[0.2.1] - 2025-01-23\nAdded\nEnabled policy-based access control.\nThe root key that SPIKE Nexus generates is now split into several Shamir\nshards and distributed to SPIKE Keepers.\nNew additions and improvements to SPIKE Go SDK.\nVarious minor bugfixes.\nCode cleanup.\nImplemented several recovery scenarios.\nSPIKE now has static analysis, CI integration, linting, and automated tests.\nDocumentation updates. Documentation is still lagging behind, but we are\nupdating and improving it along the way.\nCreated a makefile to group related scripts into make targets.\nMade the start script more robust.\nEnsured that the policies and the demo app work as expected.\nImplemented a Secret Metadata API.\nImplemented exponential retries across several API-consuming methods.\nChanged\nBREAKING: changed the CLI usage. Instead of spike get, for example, we\nnow use spike secret get. The reason for this change is that we introduced\na policy command (i.e. spike policy get).\nSecurity\nFixed CVE-2024-45337: Misuse of ServerConfig.PublicKeyCallback may cause\nauthorization bypass in golang.org/x/crypto\nFixed CVE-2024-45338: Non-linear parsing of case-insensitive content in\ngolang.org/x/net/htm\n[0.2.0] - 2024-11-22\nAdded\nAdded configuration options for SPIKE Nexus and SPIKE Keeper.\nDocumentation updates.\nMax secret version is now configurable.\nIntroduced standard and configurable logging.\nAdded sqlite3 as a backing store.\nEnabled cross-compilation and SHA checksums.\nEnhanced audit trails and error logging.\nCreated initial smoke/integration tests.\nStability improvements.\nChanged\nRemoved password authentication for admin users. Admin users’ SVIDs\nare good enough to authenticate them.\nImplemented passwordless admin login flow\n(the neat thing about passwords is: you don’t need them).\n[0.1.0] - 2024-11-06\nAdded\nImplemented put, read, delete, undelete, and list functionalities.\nCreated initial documentation, README, and related files.\nCompiled binaries targeting various platforms (x86, arm64, darwin, linux).\nSPIKE is demoable; however, we need to update certain login and initialization\nflows.\nIn-memory secrets storage only (using database as a backing store is coming up\nnext)\nCreated a jira.txt to track things (to avoid polluting GitHub issues\nunnecessarily)\nThis is an amazing start; more will come. Turtle power 🐢⚡️.\n \nChangelog\nDocumentation Snapshots\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/tracking/changelog/","title":"Changelog"},"https://spike.ist/tracking/snapshots/":{"body":"Documentation Snapshots\nThe GitHub repository contains the latest documentation of SPIKE already.\nSnapshots\nHere are the links to point-in-time documentation snapshots at each release:\ncurrent\nv0.6.0\nv0.6.0\nv0.5.0\nv0.4.3\nv0.4.2\nv0.4.1\nv0.4.0\nv0.3.1\nv0.3.0\nv0.2.1\nv0.2.0\nv0.1.0\n \nChangelog\nDocumentation Snapshots\n—2\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/tracking/snapshots/","title":"Documentation Snapshots"},"https://spike.ist/usage/":{"body":"Using SPIKE\nConfiguring SPIKE\nSPIKE CLI","id":"https://spike.ist/usage/","title":"Using SPIKE"},"https://spike.ist/usage/cli/":{"body":"SPIKE Command Line Interface\nSPIKE in Action\nTo watch SPIKE CLI in action, you can check out SPIKE presentations\nand demo recordings.\nSPIKE uses SPIKE Pilot (the command line tool) to interact with\nSPIKE Nexus (the secrets store).\nDetailed CLI Documentation\nThe rest of this page focuses on providing a practical sense of how to use\nthe SPIKE command line interface. It’s aimed at explaining its usage through\nexamples and common scenarios. Please note that it is not a normative or\nexhaustive reference; for that, refer to the\nSPIKE CLI Reference.\nHow to Get Help\nThe best way to learn about it will be to use its --help flag.\nThe following snippet shows what the interface looks like. Note that what you\nsee might be different based on the version you use.\nAnd here is how we can get help about a certain using of the spike command\nusing the --help flag:\nLet’s dig in further:\nOkay, that explains a lot. Let’s try the command:\nNow let’s try to read this secret:\nNow that we know how to use the spike secret get command, let’s try it.\nThat’s about it. You can use other SPIKE commands similarly.\n \nConfiguring SPIKE\nSPIKE CLI\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/usage/cli/","title":"SPIKE CLI"},"https://spike.ist/usage/commands/":{"body":"SPIKE CLI Commands\nspike secret: Manage secrets.\nspike policy: Manage rules that\ncontrol access to secrets.\nspike cipher: Encrypt and decrypt data\nusing SPIKE Nexus.\nspike operator: Administrative\nfunctionality for system operations and disaster recovery.\n \nConfiguring SPIKE\nSPIKE CLI","id":"https://spike.ist/usage/commands/","title":"SPIKE CLI Commands"},"https://spike.ist/usage/commands/cipher/":{"body":"spike cipher\nThe spike cipher command provides encryption and decryption capabilities\nthrough SPIKE Nexus. It allows workloads to protect sensitive data in\ntransit or at rest using cryptographic operations managed by the secrets\ninfrastructure.\nQuick Start\nWhat is SPIKE Cipher?\nThe cipher commands provide a secure way to encrypt and decrypt data using keys\nmanaged by SPIKE Nexus. This enables:\nData protection: Encrypt sensitive files or data streams\nKey management: Cryptographic keys are managed centrally by SPIKE Nexus\nAccess control: Encryption operations are subject to SPIFFE-based\nauthentication\nFlexibility: Support for both file-based and streaming operations\nCommands\nspike cipher encrypt\nEncrypts data via SPIKE Nexus. The command supports two modes of operation:\nStream Mode (default)\nReads data from a file or stdin and writes encrypted data to a file or stdout.\nThis mode handles binary data transparently.\nJSON Mode\nWhen --plaintext is provided, the command accepts base64-encoded plaintext\nand returns a JSON-formatted encryption result.\nFlags:\nFlagDescription\n--file, -fInput file path (default: stdin)\n--out, -oOutput file path (default: stdout)\n--plaintextBase64-encoded plaintext for JSON mode\n--algorithmAlgorithm hint for JSON mode\nExamples:\nspike cipher decrypt\nDecrypts data via SPIKE Nexus. The command supports two modes of operation:\nStream Mode (default)\nReads encrypted data from a file or stdin and writes decrypted plaintext to a\nfile or stdout. This mode handles binary data transparently.\nJSON Mode\nWhen --version, --nonce, or --ciphertext is provided, the command accepts\nbase64-encoded encryption components and returns plaintext output.\nFlags:\nFlagDescription\n--file, -fInput file path (default: stdin)\n--out, -oOutput file path (default: stdout)\n--versionVersion byte (0-255) for JSON mode\n--nonceBase64-encoded nonce for JSON mode\n--ciphertextBase64-encoded ciphertext for JSON mode\n--algorithmAlgorithm hint for JSON mode\nExamples:\nUse Cases\nEncrypting Configuration Files\nPipeline Processing\nBackup Encryption\nBest Practices\nUse file-based operations for large data to avoid memory issues\nPipe operations are useful for automation and scripting\nEnsure the workload has appropriate SPIFFE credentials before encryption\nStore encrypted files securely; encryption adds a layer but is not a\nreplacement for access control\nUse consistent encryption for data that will be decrypted later\nTechnical Details\nCryptographic Algorithm\nSPIKE Cipher uses AES-256-GCM (Galois/Counter Mode) for authenticated\nencryption:\nPropertyValue\nAlgorithmAES-256-GCM\nKey Size32 bytes (256 bits)\nNonce Size12 bytes (96 bits)\nAuthenticationBuilt-in (AEAD)\nSecurity Properties:\nConfidentiality: Plaintext is hidden from unauthorized parties\nIntegrity: Any tampering or corruption is detected\nAuthenticity: Verifies data originated from a valid source\nFreshness: Unique nonce prevents replay attacks\nStream Mode Binary Format\nIn stream mode, the encrypted output has the following binary format:\nByte 0: Version byte (currently 0x01)\nBytes 1-12: 12-byte GCM nonce (randomly generated)\nBytes 13+: The actual ciphertext with authentication tag\nJSON vs Stream Mode\nAspectJSON ModeStream Mode\nContent-Typeapplication/jsonapplication/octet-stream\nRequest FormatJSON objectBinary bytes\nResponse FormatJSON objectBinary bytes\nOverheadHigher (JSON encoding)Lower (raw binary)\nUse CaseSmall data, structuredLarge data, efficiency\nNonce LocationJSON fieldBytes 1-12 of response\nVersion LocationJSON fieldByte 0 of response\nSecurity Considerations\nAll cipher operations require valid SPIFFE authentication\nEncryption keys are managed by SPIKE Nexus and never exposed to clients\nThe cipher operations use authenticated encryption (AEAD)\nMemory containing sensitive data is cleared after operations\nNonces are randomly generated and must be unique per encryption\nspike Command Index\nspike secret: Manage secrets.\nspike policy: Manage rules that\ncontrol access to secrets.\nspike cipher: Encrypt and decrypt data\nusing SPIKE Nexus.\nspike operator: Administrative\nfunctionality for system operations and disaster recovery.\n \nConfiguring SPIKE\nSPIKE CLI\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/usage/commands/cipher/","title":"spike cipher"},"https://spike.ist/usage/commands/operator/":{"body":"spike operator\nThe spike operator command provides administrative functionality for\ndisaster recovery and system restoration in SPIKE. It allows\nprivileged operators with specific SPIFFE roles to perform critical operations\nfor maintaining SPIKE Nexus’ resilience.\nQuick Start\nWhat is SPIKE Operator Mode?\nThe Operator mode in SPIKE provides privileged functionality for system\nmaintenance and recovery. These commands:\nAre restricted to users with specific SPIFFE roles (recover or restore)\nHandle sensitive security operations for disaster recovery\nManage the cryptographic shards needed for system restoration\nProvide secure mechanisms for recovering from catastrophic system failures\nOperator commands are the safety net for SPIKE installations, ensuring that\neven in worst-case scenarios, the system can be recovered without compromising\nsecurity.\nCommands\nspike operator recover\nThe recover command allows privileged operators with the recover role to\nextract recovery shards from a healthy SPIKE Nexus system. These shards are\nessential for system restoration in case of catastrophic failure.\nRequirements:\nCaller must have the recover SPIFFE role\nSPIKE Nexus must be running and healthy\nA recovery directory must be configured and accessible\nProcess:\nAuthenticates the caller’s SPIFFE ID for the recover role\nRetrieves recovery shards from the SPIKE API\nCleans the recovery directory of any previous recovery files\nSaves the retrieved shards as text files in the recovery directory\nProvides instructions for securing the recovery shards\nSecurity Considerations:\nRecovery shards are security-critical and must be protected\nAfter recovery, shards should be encrypted and securely stored\nThe recovery directory should be cleaned after shards are secured\nLoss of recovery shards may prevent system restoration\nExample:\nAfter executing the command, you will see:\nspike operator restore\nThe restore command allows privileged operators with the restore role to\nrestore SPIKE Nexus after a system failure. It requires the recovery shards\npreviously generated with the recover command.\nRequirements:\nCaller must have the restore SPIFFE role\nSPIKE Nexus must be in a state that requires restoration\nRecovery shards must be available\nProcess:\nAuthenticates the caller’s SPIFFE ID for the restore role\nPrompts for a recovery shard (input is hidden for security)\nValidates and processes the provided shard\nReports the current restoration status\nMay require multiple executions with different shards to complete restoration\nSecurity Considerations:\nRecovery shards are security-critical and handled with care\nInput is hidden during shard entry to prevent exposure\nRecovery shards are cleared from memory after use\nThe restoration process is designed to require multiple shards for security\nExample:\nDuring execution, you will be prompted:\nAfter providing a valid shard, you will see one of two responses:\nIf restoration is complete:\nIf more shards are needed:\nRecovery Shard Format\nRecovery shards follow a specific format:\nWhere:\nINDEX is the numeric index of the shard\nHEXDATA is the 64-character hexadecimal representation of a 32-byte secret\nThe system enforces strict validation of this format to ensure security and\nproper restoration.\nBest Practices\nRegular Recovery Preparation: Periodically run recover on healthy\nsystems to ensure up-to-date shards\nSecure Shard Storage: Encrypt recovery shards and store them in secure,\nseparate locations. DO NOT STORE SHARDS ON DISK UNENCRYPTED, use a secure\nstorage tool, like a password manager.\nAccess Control: Strictly limit access to the recover and restore roles\nDocumentation: Maintain secure documentation of recovery procedures\nTesting: Regularly test the recovery process in non-production environments\nMultiple Administrators: Distribute recovery shards among multiple trusted\nadministrators\nSecurity Considerations\nRecovery shards provide full system access and must be protected accordingly\nThe system uses cryptographic techniques to secure recovery operations\nMemory containing shards is explicitly cleared after use\nBoth commands implement role-based access control through SPIFFE IDs\nRecovery files are created with restrictive permissions (0600)\nRole Assignment\nTo assign the required roles for operator commands:\nFor recovery role:\nFor restore role:\nThese scripts must be run with appropriate privileges.\nspike Command Index\nspike secret: Manage secrets.\nspike policy: Manage rules that\ncontrol access to secrets.\nspike cipher: Encrypt and decrypt data\nusing SPIKE Nexus.\nspike operator: Administrative\nfunctionality for system operations and disaster recovery.\n \nConfiguring SPIKE\nSPIKE CLI\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/usage/commands/operator/","title":"spike operator"},"https://spike.ist/usage/commands/policy/":{"body":"spike policy\nThe spike policy command is the main entry point for managing access\npolicies in SPIKE. It allows administrators to define, view, and manage rules\nthat control access to secrets and resources based on workload identity\n(SPIFFE ID) and resource paths.\nSPIKE provides two commands for managing policies:\nspike policy create—Traditional command-line interface\n(backward compatibility)\nspike policy apply—Enhanced command with YAML file support\n(recommended for new workflows)\nWhile spike policy create checks for the existence of a policy, and\nerrors out if we are overriding an existing policy, spike policy apply uses\nupsert semantics—it will create a new policy if one doesn’t exist, or\nupdate an existing policy if one with the same name already exists. This makes\nthe spike policy apply command safe to use in automation and GitOps workflows.\nQuick Start\nYAML File Format\nBasic Structure\nRealistic SPIFFE ID Pattern and Path Pattern Examples\nAll Available Permissions\nAlternative YAML Formats\nFlow Sequence for Permissions\nQuoted Values\nCreating Policies Using Command-Line Flags\nInstead of using a yaml file, you can provide command-line arguments\nto programmatically create your policies too:\nWhat are SPIKE Policies?\nPolicies in SPIKE provide a secure and flexible way to control access to\nsecrets and resources. Each policy defines:\nWho can access resources (via SPIFFE ID patterns)\nWhat resources can be accessed (via path patterns)\nHow resources can be accessed (via permissions)\nPolicies are the cornerstone of SPIKE’s security model, allowing for\nfine-grained access control based on workload identity. Using\nSPIFFE IDs as the foundation, SPIKE ensures that\nonly authorized workloads can access sensitive information.\nHow Policies Work\nWhen a workload attempts to access a resource in SPIKE:\nThe workload presents its SPIFFE ID through a\nSPIFFE Verifiable Identity Document (SVID)\nSPIKE validates the SVID to verify the workload’s identity\nSPIKE checks if any policy matches both:\nThe workload’s SPIFFE ID against the policy’s SPIFFE ID pattern\nThe requested resource path against the policy’s path pattern\nIf a match is found, SPIKE checks if the requested operation is allowed by\nthe policy’s permissions\nAccess is granted only if ALL conditions are met\nWhy Use Policies?\nZero Trust Security: Access is based on workload identity, not network\nlocation\nLeast Privilege: Grant only the permissions needed for each workload\nAuditability: All access is tied to specific policies and identities\nFlexibility: Patterns support regular expression matching, which allows\na more fine-grained control over which resources the policy applies to.\nScalability: Policies work consistently across any deployment size\nFeatures\nCreate policies with specific permissions and access patterns\nApply policies using upsert semantics (create new or update existing)\nList all policies in human-readable or JSON format\nGet policy details by ID or name\nDelete policies with confirmation protection\nEnhanced validation for permissions and parameters\nCommands\nspike policy list\nLists all policies in the system. Can be filtered by a resource path pattern or\na SPIFFE ID pattern.\nWhen using filters, you must provide the exact regular expression pattern as\ndefined in the policies you want to match. For example, if a policy is defined\nwith pattern ^secrets/database/production$, you must use exactly that pattern\nto find it—no partial matches or simpler patterns will work.\nNote: --path-pattern and --spiffeid-pattern flags cannot be used\ntogether.\nspike policy create\nCreates a new policy with the specified parameters.\nspike policy apply\nCreates a new policy with file-based input using YAML configuration.\nYAML Configuration Format\nWhen using the --file flag, the YAML file should follow this structure:\nExample Files\nSPIKE repository has the following example policies for your convenience:\n./examples/policies/sample-policy.yaml—Basic policy example\n./examples/policies/test-policies/basic-policy.yaml—Minimal\npolicy\n./examples/policies/test-policies/admin-policy.yaml—Full\npermissions policy\n./examples/policies/test-policies/invalid-permissions.yaml—Example\nwith invalid permissions (for testing)\nPermission Types\nPermissionDescription\nreadAllows reading secrets and resources\nwriteAllows creating, updating, and deleting secrets\nlistAllows listing resources and directories\nexecuteAllows cipher operations (encrypt/decrypt)\nsuperFull administrative permissions (use with caution)\nValidation\nAll policy configurations are validated to ensure:\nRequired fields: name, spiffeidPattern, pathPattern, and\npermissions must be present\nValid permissions: Only read, write, list, execute, and super\nare allowed\nValid YAML syntax: Proper YAML formatting is required (for YAML files)\nNon-empty values: All fields must have non-empty values\nGitOps Integration\nYAML files can be easily integrated into GitOps workflows:\nStore policy YAML files in a Git repository\nUse CI/CD pipelines to validate policies before deployment\nApply policies using spike policy apply --file in deployment scripts\nVersion control changes to policies alongside application code\nUse upsert semantics to safely apply policy changes without worrying\nabout conflicts\nspike policy get\nGets details of a specific policy by ID or name. Use --format=json\nfor machine-readable output.\nspike policy delete\nDeletes a policy by ID or name. Requires confirmation.\nUsage Examples\nPattern Syntax\nSPIKE policies support regular expression pattern matching for both\nSPIFFE IDs and resource paths:\nThe pattern is compiled as a “regular expression”.\nThis would mean, for an exact match, you would need to include ^ and $ in\nyour patterns as well.\nFor example:\nsecrets/db matches global/secrets/db and secrets/db/local\nWhereas, ^secrets/db$ only matches secrets/db and nothing else\n(global/secrets/db and secrets/db/local will not match)\nThus, for precise control, you are encouraged to include ^ and $ at the\nbeginning and end of your patterns respectively for an exact match.\nHow Regular Expressions are Used For Policy Matching\nMore specifically, SPIKE compiles SPIFFE ID patterns and\npath patterns defined in the policies into regular\nexpressions.\nHere is a simplified version of how this regular expression compilation\nhappens behind-the-scenes:\nAs seen from the example above, both the path pattern and the SPIFFE ID\npattern that are provided during policy creation which are used “AS IS” to\ncreate regular expression matchers. These patterns are compiled\ninto Go’s built-in regex engine, ensuring that the matching process strictly\nadheres to the patterns defined in the policy, allowing for precise and flexible\naccess control.\nSimplicity Is the Key\nBecause of the regular expression usage in SPIKE policies, a policy create\noperation can define more flexible matching patterns. However, keeping patterns\nsimple is both more secure and easier to manage and reason about. Creating a\npattern that is too broad or that uses overly complex regular expressions may\nlead to unintended consequences and security risks. Simplicity is important\nto ensure patterns are clear, predictable, and effective.\nWhen a workload attempts to access a resource, its SPIFFE ID and the\nrequested resource path are matched against these compiled regular\nexpressions. This ensures that both identity and resource patterns follow the\nspecified rules and allow for flexibility with wildcards or exact matches.\nPath Pattern Examples\nSPIFFE ID Pattern Examples\nBest Practices\nFollow the principle of least privilege when assigning permissions\nUse descriptive policy names that reflect their purpose\nCreate separate policies for different workload types\nUse specific path patterns rather than overly broad ones\nRegularly audit and review your policies\nNever assign super permissions unless absolutely necessary\nTechnical Details\nPermission Hierarchy\nThe super permission acts as a wildcard that grants all other permissions:\nPermissionDescription\nsuperAll permissions (wildcard)\nwriteCreate and update secrets\nreadRead secrets\nlistList secret paths\nexecuteCipher operations (encrypt/decrypt)\nAuthorization for Policy Management\nPolicy management operations (create, update, delete) are authorized as follows:\nSPIKE Pilot (spiffe://<trustRoot>/spike/pilot/*) has full access to\nall operations, including policy management\nOther workloads need a policy granting write permission on the\nsystem path spike/system/acl\nEncryption at Rest\nPolicy details are encrypted in the database using AES-256-GCM:\nEncrypted fields:\nSPIFFE ID Pattern (regex string)\nPath Pattern (regex string)\nPermissions (JSON array)\nNot encrypted:\nPolicy name (used for lookups)\nPolicy ID\nTimestamps\nA single nonce is generated per policy and used for all encrypted fields\nto ensure atomicity.\nPolicy Evaluation\nWhen a secret is accessed, SPIKE Nexus evaluates policies by:\nChecking if the requestor is SPIKE Pilot (grants immediate access)\nLoading all policies from the backing store\nFor each policy, checking if the SPIFFE ID pattern matches the requestor\nIf matched, checking if the path pattern matches the requested resource\nIf matched, checking if the policy grants the required permission\nAccess is granted on first match; there are no “deny” policies\nPolicies are loaded fresh from the database on each request to ensure\nchanges take effect immediately.\nRegex Safety\nSPIKE uses Go’s regexp package which provides linear-time matching\nguarantees. This prevents ReDoS (Regular Expression Denial of Service)\nattacks.\nCommon Errors\nPattern validation failed:\nUnauthorized:\nPath starts with a slash:\nEmpty policy name:\nspike Command Index\nspike secret: Manage secrets.\nspike policy: Manage rules that\ncontrol access to secrets.\nspike cipher: Encrypt and decrypt data\nusing SPIKE Nexus.\nspike operator: Administrative\nfunctionality for system operations and disaster recovery.\n \nConfiguring SPIKE\nSPIKE CLI\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/usage/commands/policy/","title":"spike policy"},"https://spike.ist/usage/commands/secret/":{"body":"spike secret\nThe spike secret command is the main entry point for managing secrets in\nSPIKE. It allows administrators to create, read, update, and delete secrets\nbased on SPIFFE identities and corresponding access policies.\nQuick Start\nWhat are SPIKE Secrets?\nSecrets in SPIKE are sensitive pieces of information that need to be\nsecurely stored, accessed, and managed. Each secret:\nIs stored at a specific path\nContains one or more key-value pairs\nHas version history for auditing and recovery\nIs protected by access policies based on workload identity\nSecrets are the core data objects managed by SPIKE, providing a secure way\nto distribute sensitive configuration data, credentials, and other confidential\ninformation to authorized workloads based on their SPIFFE identities.\nHow Secrets Work\nWhen a workload attempts to access a secret in SPIKE:\nThe workload presents its SPIFFE ID through a SPIFFE Verifiable Identity\nDocument (SVID)\nSPIKE validates the SVID to verify the workload’s identity\nSPIKE checks if any policy allows the workload to access the requested\nsecret path\nIf authorized, the secret is securely delivered to the workload\nThis ensures that only authorized workloads can access specific secrets based on\ntheir verified identity, following zero-trust security principles.\nPath Syntax and Conventions\nSecret paths in SPIKE have specific syntax requirements and recommended\nconventions to ensure consistency and avoid common pitfalls.\nPaths in SPIKE are designed to provide flexibility but also follow\ncertain conventions for clarity and usability. While the path is\nsuggested (but not mandated) to look like a UNIX-style path for familiarity,\nSPIKE secret paths SHOULD NOT start with a leading slash.\nThis is because SPIKE paths represent logical key namespaces, not\nhierarchical filesystem paths. They are always relative to the secrets engine\nmount point, making the leading slash redundant and potentially confusing.\nAdditionally, although there is currently no restriction on how the path is\nformed, it is worth noting that future versions of SPIKE may restrict paths\nfrom having a trailing slash to avoid ambiguity and maintain consistency\nin naming practices.\nExample:\nCorrect: secrets/app/config\nRedundant/Confusing: /secrets/app/config\nPath Format Requirements\nAll secret paths must match the regex pattern:\nThis pattern allows alphanumeric characters, dots, underscores, hyphens, forward\nslashes, parentheses, question marks, plus signs, asterisks, pipes, square\nbrackets, curly braces, and backslashes.\nPath Format Recommendations\nWhile the validation requirements allow for flexibility, the following\nconventions are strongly recommended:\nAvoid leading slashes: Paths should not start with a forward slash (/)\nUse forward slashes to create hierarchical structures (like a file system)\nUse descriptive, hierarchical naming to organize secrets logically\nAvoid double slashes or other ambiguous path constructions\nAvoid special characters when possible, even if they are technically allowed\nExample Valid Paths\n✅ secrets/myapp/config - Clear hierarchy, no leading slash\n✅ secrets/db-creds/admin-user - Well-structured with hyphens\n✅ tenantA/projectX/env1/key - Multi-level organization\nExample Invalid or Discouraged Paths\n❌ /secrets/myapp/config - Avoid leading slashes\n❌ secrets//double-slash - Avoid double slashes\n❌ secret\\path - Avoid backslashes (use forward slashes)\n❌ secret path/with space - Avoid spaces\n❌ secret#invalid?path - Avoid URL-reserved characters when possible\nBest Path Practices\nUse consistent prefixes like secrets/ or credentials/ as the first segment\nOrganize paths by application, service, or environment\nInclude version indicators in the path for managed rotation\n(e.g., secrets/database/v1/credentials)\nUse clear, descriptive names that indicate the purpose of the secret\nKeep paths reasonably short while maintaining clarity\nPath Examples\nBest Practices\nOrganize secrets hierarchically with descriptive paths\nUse separate paths for different environments (dev, staging, production)\nLimit the number of key-value pairs in a single secret for better management\nUse version history for auditing and rollback capability\nCreate specific policies that grant the minimum required access to each\nsecret path\nRegularly rotate sensitive secrets like API keys and passwords\nUse secret delete and undelete for safe secret lifecycle management\nValidate paths are properly formatted and follow naming conventions\nSecurity Considerations\nEach secret access is authenticated and authorized based on workload identity\nVersion history allows for audit trails and secure secret rotation\nDeleted secrets can be recovered if needed\nSecret access is controlled by the spike policy permissions system\nFeatures\nStore secrets as key-value pairs at specific paths\nRetrieve secrets with full or partial key selection\nList available secrets across the system\nDelete and undelete secret versions for lifecycle management\nView secret metadata to track changes and versioning\nPath validation to ensure proper secret organization\nCommands\nspike secret list\nLists all available secret paths in the system. Displays paths in a readable\nformat.\nspike secret put\nStores key-value pairs as a secret at the specified path. Multiple key-value\npairs can be specified.\nExamples:\nspike secret get\nRetrieves and displays the key-value pairs stored at the specified secret path.\nBy default, it returns the current (latest) version, but a specific version can\nbe requested. Optionally, you can specify a single key to retrieve only that\nvalue.\nFlags:\nFlagDescription\n--version, -vSpecific version to retrieve (default: 0, the current version)\n--format, -fOutput format: plain, p, yaml, y, json, j (default: plain)\nExamples:\nspike secret delete\nDeletes one or more versions of a secret at the specified path.\nFlags:\nFlagDescription\n--versions, -vComma-separated list of versions to delete (default: 0, the current version)\nExamples:\nspike secret undelete\nRestores one or more previously deleted versions of a secret at the specified path.\nFlags:\nFlagDescription\n--versions, -vComma-separated list of versions to restore (default: 0, the current version)\nExamples:\nspike secret metadata get\nRetrieves and displays metadata for a secret, including creation time,\nmodification time, version history, and other administrative information.\nFlags:\nFlagDescription\n--version, -vSpecific version to retrieve metadata for (default: 0, the current version)\nExamples:\nPath Syntax\nSecret paths in SPIKE have specific syntax requirements and conventions:\nPaths must match the regex pattern: ^[a-zA-Z0-9._\\-/()?+*|[\\]{}\\\\]+$\nPaths should not have a leading slash\nUsing descriptive hierarchical paths is recommended for organization\nPath Examples\nBest Practices\nOrganize secrets hierarchically with descriptive paths\nUse separate paths for different environments (dev, staging, production)\nLimit the number of key-value pairs in a single secret for better management\nUse version history for auditing and rollback capability\nCreate specific policies that grant the minimum required access to each secret path\nRegularly rotate sensitive secrets like API keys and passwords\nUse secret delete and undelete for safe secret lifecycle management\nValidate paths are properly formatted and follow naming conventions\nSecurity Considerations\nEach secret access is authenticated and authorized based on workload identity\nVersion history allows for audit trails and secure secret rotation\nDeleted secrets can be recovered if needed\nSecret access is controlled by the spike policy permissions system\nspike Command Index\nspike secret: Manage secrets.\nspike policy: Manage rules that\ncontrol access to secrets.\nspike cipher: Encrypt and decrypt data\nusing SPIKE Nexus.\nspike operator: Administrative\nfunctionality for system operations and disaster recovery.\n \nConfiguring SPIKE\nSPIKE CLI\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/usage/commands/secret/","title":"spike secret"},"https://spike.ist/usage/configuration/":{"body":"Configuring SPIKE\nYou can use environment variables to configure the SPIKE components.\nThe following table lists the environment variables that you can use to\nconfigure the SPIKE components:\nComponentEnvironment VariableDescriptionDefault Value\nAllSPIFFE_ENDPOINT_SOCKETThe Unix domain socket path used for SPIFFE Workload API\"unix:///tmp/spire-agent/public/api.sock\"\nAllSPIKE_BANNER_ENABLEDWhether to display the SPIKE banner on startup. Set to true to enable.true\nAllSPIKE_HTTP_CLIENT_DIALER_KEEP_ALIVEKeep-alive duration for HTTP client’s network dialer connections.\"30s\"\nAllSPIKE_HTTP_CLIENT_DIALER_TIMEOUTTimeout for establishing new HTTP client network connections.\"30s\"\nAllSPIKE_HTTP_CLIENT_EXPECT_CONTINUE_TIMEOUTTimeout for HTTP client to wait for Expect: 100-continue responses from servers.\"5s\"\nAllSPIKE_HTTP_CLIENT_IDLE_CONN_TIMEOUTMaximum duration an idle HTTP connection will remain open before closing.\"30s\"\nAllSPIKE_HTTP_CLIENT_MAX_CONNS_PER_HOSTMaximum number of HTTP connections allowed per host.10\nAllSPIKE_HTTP_CLIENT_MAX_IDLE_CONNSMaximum number of idle HTTP connections across all hosts.100\nAllSPIKE_HTTP_CLIENT_MAX_IDLE_CONNS_PER_HOSTMaximum number of idle HTTP connections per host.10\nAllSPIKE_HTTP_CLIENT_RESPONSE_HEADER_TIMEOUTTimeout for HTTP client waiting for server’s response headers.\"10s\"\nAllSPIKE_HTTP_CLIENT_TIMEOUTOverall timeout for HTTP client requests (includes connection, request, and response time).\"60s\"\nAllSPIKE_HTTP_CLIENT_TLS_HANDSHAKE_TIMEOUTTimeout for completing TLS handshakes in HTTP client connections.\"10s\"\nAllSPIKE_HTTP_SERVER_READ_HEADER_TIMEOUTTimeout for reading HTTP request headers on the server side. Helps prevent slowloris attacks.\"10s\"\nAllSPIKE_NEXUS_API_URLThe URL where SPIKE Nexus can be reached\"https://localhost:8553\"\nAllSPIKE_SPIFFE_SOURCE_TIMEOUTTimeout for creating SPIFFE X509Source and fetching initial SVID from Workload API. Prevents indefinite blocking on socket issues.\"30s\"\nAllSPIKE_STACK_TRACES_ON_LOG_FATALWhether to print stack traces when log.FatalLn is called. Set to true to enable for development/testing. Disabled by default for production safety.false\nAllSPIKE_SYSTEM_LOG_LEVELThe log level for all SPIKE components (\"DEBUG\", \"INFO\", \"WARN\", \"ERROR\").\"WARN\"\nAllSPIKE_TRUST_ROOTThe SPIFFE trust root used within the SPIKE trust boundary. Can be a single entry, or a comma-delimited list of suitable trust roots.\"spike.ist\"\nAllSPIKE_TRUST_ROOT_BOOTSTRAPThe SPIFFE trust root used for SPIKE Bootstrap. Can be a single entry, or a comma-delimited list of suitable trust roots.\"spike.ist\"\nAllSPIKE_TRUST_ROOT_KEEPERThe SPIFFE trust root used for SPIKE Keeper instances. Can be a single entry, or a comma-delimited list of suitable trust roots.\"spike.ist\"\nAllSPIKE_TRUST_ROOT_LITE_WORKLOADThe SPIFFE trust root used for lite workload instances. Can be a single entry, or a comma-delimited list of suitable trust roots.\"spike.ist\"\nAllSPIKE_TRUST_ROOT_NEXUSThe SPIFFE trust root used for SPIKE Nexus instances. Can be a single entry, or a comma-delimited list of suitable trust roots.\"spike.ist\"\nAllSPIKE_TRUST_ROOT_PILOTThe SPIFFE trust root used for SPIKE Pilot instances. Can be a single entry, or a comma-delimited list of suitable trust roots.\"spike.ist\"\nSPIKE BootstrapSPIKE_BOOTSTRAP_CONFIGMAP_NAMEThe name of the Kubernetes ConfigMap SPIKE Bootstrap uses to record completion (idempotency state).\"spike-bootstrap-state\"\nSPIKE BootstrapSPIKE_BOOTSTRAP_FORCEWhether to force SPIKE Bootstrap to run even if the system has already bootstrapped before.false\nSPIKE BootstrapSPIKE_BOOTSTRAP_KEEPER_MAX_RETRIESMaximum retry attempts per keeper before failing.5\nSPIKE BootstrapSPIKE_BOOTSTRAP_KEEPER_RETRY_INITIAL_INTERVALInitial interval between retry attempts when broadcasting to keepers. Uses exponential backoff.\"2s\"\nSPIKE BootstrapSPIKE_BOOTSTRAP_KEEPER_RETRY_MAX_INTERVALMaximum interval between retry attempts when broadcasting to keepers.\"30s\"\nSPIKE BootstrapSPIKE_BOOTSTRAP_KEEPER_TIMEOUTTotal timeout for reaching each keeper during bootstrap. Bootstrap fails fast after this timeout to allow operators to fix issues and rerun.\"30s\"\nSPIKE BootstrapSPIKE_BOOTSTRAP_INIT_VERIFICATION_TIMEOUTTimeout duration for bootstrap initialization verification. Accepts Go duration strings (e.g., \"30m\", \"1h\", \"45m30s\").\"30m\"\nSPIKE BootstrapSPIKE_BOOTSTRAP_TIMEOUTMaximum duration for the entire bootstrap process. Accepts Go duration strings (e.g., \"24h\", \"48h\"). A value of 0 means no timeout (infinite).0 (no timeout)\nSPIKE KeeperSPIKE_KEEPER_TLS_PORTThe TLS port the current SPIKE Keeper instance listens on.\":8443\"\nSPIKE NexusSPIKE_NEXUS_BACKEND_STOREThe backend store SPIKE Nexus uses to store secrets (memory, lite, sqlite).\"sqlite\"\nSPIKE NexusSPIKE_NEXUS_CRYPTO_MAX_CIPHERTEXT_SIZEThe maximum allowed ciphertext size in bytes for encryption operations.65536\nSPIKE NexusSPIKE_NEXUS_DATA_DIRCustom directory for Nexus data storage. Falls back to ~/.spike/data or /tmp/.spike-$USER/data.~/.spike/data\nSPIKE NexusSPIKE_NEXUS_DB_BUSY_TIMEOUT_MSThe timeout for the database to wait for a lock, in milliseconds.5000\nSPIKE NexusSPIKE_NEXUS_DB_CONN_MAX_LIFETIMEThe maximum lifetime of a database connection.\"1h\"\nSPIKE NexusSPIKE_NEXUS_DB_INITIALIZATION_TIMEOUTThe maximum initialization time for SPIKE Nexus DB before bailing out\"30s\"\nSPIKE NexusSPIKE_NEXUS_DB_JOURNAL_MODEThe journal mode for the SQLite database.\"WAL\"\nSPIKE NexusSPIKE_NEXUS_DB_MAX_IDLE_CONNSThe maximum number of idle connections to the database.5\nSPIKE NexusSPIKE_NEXUS_DB_MAX_OPEN_CONNSThe maximum number of open connections to the database.10\nSPIKE NexusSPIKE_NEXUS_DB_OPERATION_TIMEOUTThe timeout for database operations.\"15s\"\nSPIKE NexusSPIKE_NEXUS_DB_SKIP_SCHEMA_CREATIONIf set to true, skip creating SPIKE Nexus backing store. When set to true, the operator will manually have to create the initial backing store.false\nSPIKE NexusSPIKE_NEXUS_KEEPER_PEERSA mapping that contains a comma-delimited list of URLs for all SPIKE Keepers that SPIKE Nexus knows about.“” (check ./hack/bare-metal/startup/start-nexus.sh for usage examples.\nSPIKE NexusSPIKE_NEXUS_KEEPER_UPDATE_INTERVALThe duration between SPIKE Nexus updates SPIKE Keepers with the relevant shard information.\"5m\"\nSPIKE NexusSPIKE_NEXUS_MAX_SECRET_VERSIONSThe maximum number of versions of a secret that SPIKE Nexus stores.10\nSPIKE NexusSPIKE_NEXUS_PBKDF2_ITERATION_COUNTThe number of iterations for the PBKDF2 key derivation function.600000\nSPIKE NexusSPIKE_NEXUS_RECOVERY_MAX_INTERVALMaximum interval between retries the recovery operation’s backing off algorithm\"60s\"\nSPIKE NexusSPIKE_NEXUS_SHAMIR_MAX_SHARE_COUNTThe maximum allowed number of shares in Shamir’s Secret Sharing. Also limits the maximum number of SPIKE Keeper instances a deployment can support.1000\nSPIKE NexusSPIKE_NEXUS_SHAMIR_SHARESThe total number of shares used for secret sharding, this should be equal to the number of SPIKE Keepers too.3\nSPIKE NexusSPIKE_NEXUS_SHAMIR_THRESHOLDThe minimum number of shares to be able to reconstruct the root key.2\nSPIKE NexusSPIKE_NEXUS_TLS_PORTThe TLS port SPIKE Nexus listens on.\":8553\"\nSPIKE PilotSPIKE_PILOT_RECOVERY_DIRCustom directory for Pilot recovery shards. Falls back to ~/.spike/recover or /tmp/.spike-$USER/recover.\"\"\nSPIKE PilotSPIKE_PILOT_SHOW_MEMORY_WARNINGWhether to show a warning when the system cannot lock memory for security.false\nWe’ll add more configuration options in the future. Stay tuned.\n \nConfiguring SPIKE\nSPIKE CLI\nAbout\nCommunity\nGetting Started\nUsing SPIKE\nDeveloping SPIKE\nSPIKE Architecture\nTracking\nOperations","id":"https://spike.ist/usage/configuration/","title":"Configuring SPIKE"}},"docInfo":{"https://spike.ist/":{"body":52,"title":1},"https://spike.ist/about/":{"body":4,"title":0},"https://spike.ist/about/intro/":{"body":412,"title":1},"https://spike.ist/about/project-status/":{"body":85,"title":2},"https://spike.ist/architecture/":{"body":34,"title":2},"https://spike.ist/architecture/adrs/":{"body":243,"title":3},"https://spike.ist/architecture/adrs/adr-0001/":{"body":458,"title":10},"https://spike.ist/architecture/adrs/adr-0002/":{"body":399,"title":6},"https://spike.ist/architecture/adrs/adr-0003/":{"body":494,"title":7},"https://spike.ist/architecture/adrs/adr-0004/":{"body":519,"title":7},"https://spike.ist/architecture/adrs/adr-0005/":{"body":525,"title":9},"https://spike.ist/architecture/adrs/adr-0006/":{"body":622,"title":7},"https://spike.ist/architecture/adrs/adr-0007/":{"body":660,"title":7},"https://spike.ist/architecture/adrs/adr-0008/":{"body":655,"title":6},"https://spike.ist/architecture/adrs/adr-0009/":{"body":672,"title":6},"https://spike.ist/architecture/adrs/adr-0010/":{"body":508,"title":8},"https://spike.ist/architecture/adrs/adr-0011/":{"body":610,"title":6},"https://spike.ist/architecture/adrs/adr-0012/":{"body":498,"title":6},"https://spike.ist/architecture/adrs/adr-0013/":{"body":760,"title":8},"https://spike.ist/architecture/adrs/adr-0014/":{"body":531,"title":8},"https://spike.ist/architecture/adrs/adr-0015/":{"body":370,"title":10},"https://spike.ist/architecture/adrs/adr-0016/":{"body":833,"title":6},"https://spike.ist/architecture/adrs/adr-0017/":{"body":629,"title":7},"https://spike.ist/architecture/adrs/adr-0018/":{"body":280,"title":5},"https://spike.ist/architecture/adrs/adr-0019/":{"body":574,"title":7},"https://spike.ist/architecture/adrs/adr-0020/":{"body":446,"title":6},"https://spike.ist/architecture/adrs/adr-0021/":{"body":422,"title":7},"https://spike.ist/architecture/adrs/adr-0022/":{"body":493,"title":9},"https://spike.ist/architecture/adrs/adr-0023/":{"body":711,"title":9},"https://spike.ist/architecture/adrs/adr-0024/":{"body":553,"title":10},"https://spike.ist/architecture/adrs/adr-0025/":{"body":435,"title":9},"https://spike.ist/architecture/adrs/adr-0026/":{"body":657,"title":7},"https://spike.ist/architecture/adrs/adr-0027/":{"body":840,"title":7},"https://spike.ist/architecture/adrs/adr-0028/":{"body":702,"title":9},"https://spike.ist/architecture/adrs/adr-0029/":{"body":928,"title":8},"https://spike.ist/architecture/adrs/adr-0030/":{"body":1073,"title":7},"https://spike.ist/architecture/adrs/adr-0031/":{"body":637,"title":9},"https://spike.ist/architecture/adrs/adr-0032/":{"body":555,"title":9},"https://spike.ist/architecture/architectural-decision-records/":{"body":314,"title":1},"https://spike.ist/architecture/security-model/":{"body":1555,"title":3},"https://spike.ist/architecture/system-overview/":{"body":1532,"title":2},"https://spike.ist/community/":{"body":21,"title":1},"https://spike.ist/community/contact/":{"body":89,"title":1},"https://spike.ist/community/hello/":{"body":128,"title":2},"https://spike.ist/community/presentations/":{"body":428,"title":2},"https://spike.ist/community/resources/":{"body":36,"title":1},"https://spike.ist/development/":{"body":6,"title":2},"https://spike.ist/development/api-docs/":{"body":53,"title":2},"https://spike.ist/development/bare-metal/":{"body":678,"title":2},"https://spike.ist/development/local-deployment/":{"body":404,"title":2},"https://spike.ist/development/sdk-integration/":{"body":223,"title":3},"https://spike.ist/getting-started/":{"body":5,"title":2},"https://spike.ist/getting-started/quickstart/":{"body":491,"title":3},"https://spike.ist/operations/":{"body":14,"title":1},"https://spike.ist/operations/backup/":{"body":691,"title":3},"https://spike.ist/operations/build/":{"body":57,"title":4},"https://spike.ist/operations/production/":{"body":2313,"title":3},"https://spike.ist/operations/recovery/":{"body":486,"title":3},"https://spike.ist/operations/release/":{"body":289,"title":3},"https://spike.ist/recipes/":{"body":92,"title":1},"https://spike.ist/recipes/backup-and-restore/":{"body":303,"title":2},"https://spike.ist/recipes/bootstrapping-spike/":{"body":321,"title":3},"https://spike.ist/recipes/break-the-glass-recovery/":{"body":354,"title":4},"https://spike.ist/recipes/choosing-a-backend-store/":{"body":321,"title":3},"https://spike.ist/recipes/deploying-spike/":{"body":383,"title":5},"https://spike.ist/recipes/encryption-as-a-service/":{"body":313,"title":4},"https://spike.ist/recipes/go-sdk-integration/":{"body":286,"title":3},"https://spike.ist/recipes/granting-a-workload-access/":{"body":278,"title":4},"https://spike.ist/recipes/production-hardening/":{"body":428,"title":2},"https://spike.ist/recipes/root-key-keepers-recovery/":{"body":288,"title":3},"https://spike.ist/recipes/storing-and-reading-secrets/":{"body":299,"title":3},"https://spike.ist/recipes/troubleshooting/":{"body":507,"title":1},"https://spike.ist/recipes/upgrading-spike/":{"body":342,"title":2},"https://spike.ist/recipes/writing-access-policies/":{"body":288,"title":3},"https://spike.ist/tracking/":{"body":13,"title":1},"https://spike.ist/tracking/changelog/":{"body":2488,"title":1},"https://spike.ist/tracking/snapshots/":{"body":47,"title":2},"https://spike.ist/usage/":{"body":6,"title":2},"https://spike.ist/usage/cli/":{"body":129,"title":2},"https://spike.ist/usage/commands/":{"body":35,"title":3},"https://spike.ist/usage/commands/cipher/":{"body":476,"title":2},"https://spike.ist/usage/commands/operator/":{"body":477,"title":2},"https://spike.ist/usage/commands/policy/":{"body":1018,"title":2},"https://spike.ist/usage/commands/secret/":{"body":823,"title":2},"https://spike.ist/usage/configuration/":{"body":621,"title":2}},"length":85},"lang":"English"} \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml index c4c8a6e6..04cd9e87 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -177,6 +177,51 @@ https://spike.ist/operations/release/ + + https://spike.ist/recipes/ + + + https://spike.ist/recipes/backup-and-restore/ + + + https://spike.ist/recipes/bootstrapping-spike/ + + + https://spike.ist/recipes/break-the-glass-recovery/ + + + https://spike.ist/recipes/choosing-a-backend-store/ + + + https://spike.ist/recipes/deploying-spike/ + + + https://spike.ist/recipes/encryption-as-a-service/ + + + https://spike.ist/recipes/go-sdk-integration/ + + + https://spike.ist/recipes/granting-a-workload-access/ + + + https://spike.ist/recipes/production-hardening/ + + + https://spike.ist/recipes/root-key-keepers-recovery/ + + + https://spike.ist/recipes/storing-and-reading-secrets/ + + + https://spike.ist/recipes/troubleshooting/ + + + https://spike.ist/recipes/upgrading-spike/ + + + https://spike.ist/recipes/writing-access-policies/ + https://spike.ist/tracking/ diff --git a/docs/tracking/changelog/index.html b/docs/tracking/changelog/index.html index 59097136..6f7a59bc 100644 --- a/docs/tracking/changelog/index.html +++ b/docs/tracking/changelog/index.html @@ -311,6 +311,69 @@ SPIKE Relase Management + + + + +