pyvider 2024-11-24
Initial project establishment replacing tfppf with pyvider architecture
529 files · 86,163+ · 3,659-

Core pyvider package with CLI, conversion, gRPC handler, and provider abstractions

11 files changed
  • __main__.py CLI entry point for running the provider with gRPC server startup, health checks, and TLS configuration
  • handler.py gRPC request handler implementing Terraform plugin protocol v6
  • conversion Base converters, schema conversion, JSON serialization, and Terraform type mapping
  • core Base types, dependency injector, services layer, and capability abstractions
  • providers Base provider class, configuration, and provider implementation
  • resources Base resource class, context, decorators, lifecycle management, and protocol definitions
  • functions Function base class, adapters, and decorators for Terraform provider functions
  • data_sources Base class, decorators, and registry for data source implementations
  • exceptions Exception hierarchy for conversion, foundation, function, gRPC, provider, registry, resource, schema, serialization, and validation errors
  • hub Component discovery, registration, capabilities, decorators, protocols, and validators
  • utils Crypto utilities and debug helpers
  • Created CLI entry point for running the provider with gRPC server startup, health checks, and TLS configuration instantiate behavioral
    1 file
    • __main__.py
  • Built conversion module with base converters, schema conversion, JSON serialization, and Terraform type mapping utilities instantiate behavioral
    1 file
    • conversion
  • Added core module with base types, dependency injector, services layer, and capability abstractions instantiate architectural
    1 file
    • core
  • Implemented gRPC request handler for Terraform plugin protocol v6 instantiate architectural
    1 file
    • handler.py
  • Created providers module with base provider class, configuration, and provider implementation instantiate behavioral
    1 file
    • providers
  • Added resources module with base resource class, context, decorators, lifecycle management, and protocol definitions instantiate behavioral
    1 file
    • resources
  • Built functions module with function base class, adapters, and decorators instantiate behavioral
    1 file
    • functions
  • Added data sources module with base class, decorators, and registry instantiate behavioral
    1 file
    • data_sources
  • Created exception hierarchy covering all major subsystems harden behavioral
    1 file
    • exceptions
  • Added hub module for component discovery, registration, capabilities, and validation instantiate behavioral
    1 file
    • hub

Removed legacy tfppf package

1 file changed
  • tfppf Entire legacy package removed including provider, schema, resources, data sources, gRPC helpers, protocol utilities, protobuf definitions, and type system
  • Removed entire src/tfppf/ package including provider, schema, resources, data sources, gRPC helpers, and type system deprecate internal
    1 file
    • tfppf
  • Removed old main.py entry point and setup.py deprecate internal
    2 files
    • main.py
    • setup.py

Component system with capabilities, data sources, resources, and examples

5 files changed
  • fake_cloud.py Fake cloud capability for development and testing
  • fake_cloud_auth.py Fake cloud auth capability for development and testing
  • file_info.py File metadata data source
  • file_content.py File content resource management (537 lines)
  • disabled Experimental/WIP components for env variables, HTTP API, numeric functions, string manipulation, database, dynamic config, key-value store
  • Added fake cloud and auth capabilities for development and testing qualify internal
    2 files
    • fake_cloud.py
    • fake_cloud_auth.py
  • Created file info data source for file metadata instantiate internal
    1 file
    • file_info.py
  • Added file content resource management implementation instantiate behavioral
    1 file
    • file_content.py
  • Included disabled directory with experimental components for env variables, HTTP API, numeric functions, string manipulation, and more instantiate internal
    1 file
    • disabled

Example components and BDD test suite

5 files changed
  • zipcode.py Zipcode data source example with test
  • random_complex_object.py Random complex object function example
  • verify_zipcode.py Zipcode verification function example
  • tftypes_attribute_path.feature BDD scenarios for AttributePath
  • tftypes_attribute_path_steps.py Step definitions for AttributePath BDD tests
  • Added zipcode data source example with test qualify internal
    1 file
    • zipcode.py
  • Created function examples for random complex objects and zipcode verification instantiate internal
    2 files
    • random_complex_object.py
    • verify_zipcode.py
  • Added BDD test scenarios and step definitions for AttributePath qualify behavioral
    2 files
    • tftypes_attribute_path.feature
    • tftypes_attribute_path_steps.py

Scripts, tooling, and Docker observability infrastructure

6 files changed
  • extract_go_defs.py Parses Go source to understand Terraform internals
  • fetch_certs.py TLS certificate management
  • grpc_client_test.py gRPC client testing utility
  • markdown_to_gherkin.py BDD test generation from markdown
  • Dockerfile Provider container build definition
  • uptrace Full Uptrace observability stack with ClickHouse, Grafana, Prometheus, OTEL collector, and AlertManager
  • Added Go source parser, TLS cert management, gRPC test client, and markdown-to-gherkin converter scripts instantiate internal
    4 files
    • extract_go_defs.py
    • fetch_certs.py
    • grpc_client_test.py
    • markdown_to_gherkin.py
  • Included full Uptrace observability stack with ClickHouse, Grafana, Prometheus, OTEL collector, and AlertManager baseline behavioral
    2 files
    • Dockerfile
    • uptrace