Foundation¶
The Foundation layer provides foundational utilities and testing frameworks that power the entire provide.io ecosystem. All framework and tool packages depend on these packages for consistent logging, telemetry, configuration, and testing capabilities.
๐ค AI-Generated Content
This documentation was generated with AI assistance and is still being audited. Some, or potentially a lot, of this information may be inaccurate. Learn more.
Architecture¶
graph TB
subgraph "Foundation Layer"
foundation[provide-foundation<br/>Telemetry & Infrastructure]
testkit[provide-testkit<br/>Testing Framework]
end
subgraph "Upper Layers"
pyvider[Pyvider Framework]
tools[Development Tools]
end
foundation -->|runtime dependency| pyvider
foundation -->|runtime dependency| tools
testkit -->|dev dependency| pyvider
testkit -->|dev dependency| tools
style foundation fill:#4051b5,stroke:#fff,color:#fff
style testkit fill:#4051b5,stroke:#fff,color:#fff
Layer Design¶
Foundation provides cross-cutting runtime concerns:
- Structured logging with OpenTelemetry integration
- Type-safe configuration management
- Telemetry and distributed tracing
- Common validation and error handling utilities
TestKit provides development-time testing support:
- Pytest fixtures for provider and tool testing
- Mock Terraform plugin server
- Test utilities and assertion helpers
- Integration test scaffolding
Together, these packages ensure consistent patterns across the entire ecosystem while remaining lightweight and focused on their specific concerns.
Packages¶
-
Foundation
Core runtime utilities for telemetry, logging, and configuration that all ecosystem packages depend on.
-
TestKit
Comprehensive testing framework with fixtures and utilities for provider and tool development.