-
Notifications
You must be signed in to change notification settings - Fork 0
SLO
Mirrored from
docs/SLO.mdin the repository, 2026-08-05. The repo copy is authoritative for anything CI-cited (exact commands, workflow files, versions) — this page exists so the wiki is self-contained, but re-sync it from the source if the two drift.
This document defines the Service Level Objectives (SLOs) for the platform-factory project. SLOs are measurable targets for system reliability and performance.
Our SLOs follow the principle that reliability is a feature. We define clear, measurable targets for our services and track our performance against these targets.
Each SLO has an associated error budget, which is the amount of "unreliable" behavior we can tolerate before we must stop releasing new features and focus on reliability.
- Error Budget: 100% - SLO%
- Burn Rate: Rate at which we consume the error budget
- Action Required: When error budget is 50% consumed, we pause feature development
- Emergency: When error budget is 90% consumed, all hands focus on reliability
| Metric | Target | Measurement Window | Error Budget |
|---|---|---|---|
| Build Success Rate | 99.9% | 30 days | 0.1% |
Definition: Percentage of builds that complete successfully without errors.
Measurement: Tracked per repository and aggregated across all builds.
Exclusions:
- Builds that fail due to user configuration errors
- Builds that are explicitly cancelled by users
- Test failures (tracked separately)
| Metric | Target | Measurement Window |
|---|---|---|
| P99 Build Time | < 10 minutes | 7 days |
| P95 Build Time | < 5 minutes | 7 days |
| P50 Build Time | < 2 minutes | 7 days |
Definition: Time from build initiation to successful completion.
Measurement: Measured for each build stage separately and for the total build.
| Metric | Target | Measurement Window |
|---|---|---|
| Reproducibility Rate | 100% | All builds |
Definition: Percentage of builds that produce identical outputs given identical inputs.
Measurement: Verified by comparing digests of build outputs.
| Metric | Target | Measurement Window | Error Budget |
|---|---|---|---|
| Push Success Rate | 99.95% | 30 days | 0.05% |
Definition: Percentage of image push operations that complete successfully.
Exclusions:
- Pushes that fail due to network connectivity issues (client side)
- Pushes rejected due to quota limits
- Pushes cancelled by users
| Metric | Target | Measurement Window | Error Budget |
|---|---|---|---|
| Pull Success Rate | 99.99% | 30 days | 0.01% |
Definition: Percentage of image pull operations that complete successfully.
| Metric | Target | Measurement Window |
|---|---|---|
| P99 Pull Latency | < 500ms | 7 days |
| P95 Pull Latency | < 100ms | 7 days |
| P50 Pull Latency | < 50ms | 7 days |
Definition: Time from pull request to first byte of layer data.
| Metric | Target | Measurement Window |
|---|---|---|
| P99 Startup Time | < 2 seconds | 7 days |
| P95 Startup Time | < 1 second | 7 days |
| P50 Startup Time | < 500ms | 7 days |
Definition: Time from create request to MicroVM being ready to accept commands.
| Metric | Target | Measurement Window |
|---|---|---|
| Crash-Free Rate | 99.99% | 30 days |
Definition: Percentage of MicroVM instances that do not crash during their lifetime.
Exclusions:
- MicroVMs intentionally stopped by users
- MicroVMs terminated due to resource exhaustion (OOM, etc.)
- MicroVMs terminated due to host shutdown
| Metric | Target | Measurement Window | Error Budget |
|---|---|---|---|
| Plugin Load Success Rate | 99.9% | 30 days | 0.1% |
Definition: Percentage of plugin load operations that complete successfully.
| Metric | Target | Measurement Window |
|---|---|---|
| P99 Plugin Time | < 1 second | 7 days |
| P95 Plugin Time | < 100ms | 7 days |
Definition: Time from plugin invocation to completion.
| Metric | Target | Measurement Window | Error Budget |
|---|---|---|---|
| Signing Success Rate | 100% | 30 days | 0% |
Definition: Percentage of signing operations that complete successfully.
Rationale: Signing failures can prevent deployment. We must ensure 100% reliability.
| Metric | Target | Measurement Window | Error Budget |
|---|---|---|---|
| Verification Success Rate | 100% | 30 days | 0% |
Definition: Percentage of signature verification operations that complete successfully.
- Metrics Collection: Prometheus
- Visualization: Grafana
- Alerting: Alertmanager
- Tracing: OpenTelemetry
| Alert | Condition | Severity | Response Time |
|---|---|---|---|
| Build Failure Rate > 1% | 5-minute window | Critical | 5 minutes |
| Push Failure Rate > 0.1% | 5-minute window | Critical | 5 minutes |
| Pull Failure Rate > 0.01% | 5-minute window | Critical | 5 minutes |
| Pull Latency P99 > 1s | 5-minute window | High | 15 minutes |
| MicroVM Crash Rate > 0.01% | 5-minute window | Critical | 5 minutes |
| Plugin Load Failure Rate > 0.1% | 5-minute window | High | 15 minutes |
| Signing Failure | Any occurrence | Critical | Immediate |
| Verification Failure | Any occurrence | Critical | Immediate |
- Build System Dashboard: Build success rate, build times, reproducibility
- Registry Dashboard: Push/pull success rates, latencies, throughput
- Execution Dashboard: MicroVM startup times, uptime, crash rates
- Plugin Dashboard: Load success rates, execution times
- Signing Dashboard: Signing/verification success rates, latencies
| Severity | Description | Response Time | Resolution Time |
|---|---|---|---|
| SEV-1 (Critical) | Complete service outage, security vulnerability | Immediate | 1 hour |
| SEV-2 (High) | Significant service degradation, partial outage | 15 minutes | 4 hours |
| SEV-3 (Medium) | Minor service degradation, non-critical features | 1 hour | 24 hours |
| SEV-4 (Low) | Cosmetic issues, minor bugs | 4 hours | 72 hours |
- Primary On-Call: Cyprien (@CYPT71)
- Secondary On-Call: TBD
- Escalation Path: security@platform-factory.dev -> maintainers@platform-factory.dev
- Detection: Automated alerting or user report
- Triage: Initial assessment within response time
- Diagnosis: Identify root cause
- Mitigation: Implement temporary fix or workaround
- Resolution: Permanent fix
- Post-Mortem: Document incident within 48 hours
# Incident Post-Mortem: [Incident Name]
**Date**: YYYY-MM-DD
**Time**: Start - End (UTC)
**Severity**: SEV-X
**Status**: Resolved
## Summary
Brief description of the incident.
## Timeline
- [HH:MM UTC] Event 1
- [HH:MM UTC] Event 2
- [HH:MM UTC] Event 3
## Impact
- Affected services: List of services
- User impact: Description of user impact
- Duration: Total duration of impact
## Root Cause
Detailed explanation of the root cause.
## Detection
How the incident was detected.
## Response
Actions taken during the incident.
## Resolution
How the incident was resolved.
## Lessons Learned
- What went well
- What could be improved
- Action items
## Action Items
- [ ] Action item 1 (Owner, Due Date)
- [ ] Action item 2 (Owner, Due Date)- Scheduled within 48 hours of resolution
- Attendees: Incident responders, relevant team members
- Duration: 1 hour
- Focus: Review timeline, identify improvements, assign action items
SLOs are tested through:
- Synthetic Monitoring: Automated tests that verify SLO compliance
- Load Testing: Testing under load to verify performance targets
- Chaos Engineering: Proactively testing failure scenarios
SLOs are reviewed quarterly to:
- Assess if targets are still appropriate
- Update targets based on user feedback and business needs
- Identify areas for improvement
- SLO Dashboard: Real-time SLO compliance dashboard
- Error Budget Tracking: Visualization of error budget consumption
- Incident Log: Historical record of all incidents
- Post-Mortem Archive: All post-mortem documents
- Incident Reporting: security@platform-factory.dev
- SLO Questions: maintainers@platform-factory.dev
- On-Call: [On-call schedule link]
| Version | Date | Changes |
|---|---|---|
| 1.0 | 2026-08-02 | Initial SLO definitions |
© 2026 CYPT71
platform-factory
Core
- Architecture and OCI Layout
- Next-generation Architecture
- Architecture Decision Records
- Security Model
- Threat Model and Residual Risks
- Independent Security Review Process
- CLI Reference
- Project Configuration and Dependency Freezing
- mTLS Configuration
- Meine Graal
CI/CD
Running an image
- Production Adoption Guide
- Dockerfile Consumer
- Local Dev (Podman/macOS)
- MicroVM Support
- MicroVM Administration
- Large-image streaming
Operating