pyvider
2025-01-07
Created the `pyvider_rpcplugin` package implementing HashiCorp's go-plugin
77 files · 5,389+ · 533-
pyvider_rpcplugin Package (`src/pyvider_rpcplugin/`)
77 files changed
core.pyUpdated core.py (+1/-1 lines)base_provider.pyRemoved base_provider.py (-127 lines)auth.pyUpdated auth.py (+5/-4 lines)cloud.pyRemoved cloud.py (-115 lines)injector.pyUpdated injector.py (+7/-3 lines)fooUpdated foo (+0/-0 lines)handler.pyUpdated handler.py (+1/-1 lines)capabilities.pyUpdated capabilities.py (+2/-2 lines)components.pyUpdated components.py (+14/-14 lines)decorators.pyUpdated decorators.py (+3/-3 lines)terraform_handshake.pyUpdated terraform_handshake.py (+23/-15 lines)service.pyUpdated service.py (+2/-6 lines)apply_resource_change.pyUpdated apply_resource_change.py (+1/-1 lines)get_metadata.pyUpdated get_metadata.py (+1/-1 lines)get_provider_schema.pyUpdated get_provider_schema.py (+15/-11 lines)plan_resource_change.pyUpdated plan_resource_change.py (+1/-1 lines)read_resource_handler.pyUpdated read_resource_handler.py (+1/-1 lines)upgrade_resource_state.pyUpdated upgrade_resource_state.py (+1/-1 lines)validate_provider_config.pyUpdated validate_provider_config.py (+5/-5 lines)validate_resource_config.pyUpdated validate_resource_config.py (+1/-1 lines)tfplugin6_pb2_grpc.pyUpdated tfplugin6_pb2_grpc.py (+1/-1 lines)provide.pyUpdated provide.py (+0/-0 lines)__init__.pyAdded __init__.py (+2 lines)base.pyUpdated base.py (+123/-13 lines)config.pyUpdated config.py (+18/-5 lines)provider.pyUpdated provider.py (+14/-18 lines)base.pyUpdated base.py (+9/-9 lines)decorators.pyUpdated decorators.py (+1/-1 lines)lifecycle.pyUpdated lifecycle.py (+1/-1 lines)registry.pyUpdated registry.py (+4/-4 lines)schema.pyUpdated schema.py (+2/-2 lines)__init__.pyUpdated __init__.py (+127/-112 lines)grpc_logging.pyUpdated grpc_logging.py (+1/-1 lines)shutdown.pyUpdated shutdown.py (+8/-8 lines)__init__.pyUpdated __init__.py (+3/-3 lines)base.pyUpdated base.py (+8/-1 lines)formatters.pyUpdated formatters.py (+17/-3 lines)base.pyRemoved base.py (-1 lines)decorators.pyUpdated decorators.py (+30/-9 lines)crypto.pyAdded crypto.py (+150 lines)dynamic_value.pyUpdated dynamic_value.py (+2/-2 lines)__init__.pyAdded __init__.py (+23 lines)client.pyAdded client.py (+250 lines)exception.pyAdded exception.py (+20 lines)handshake.pyAdded handshake.py (+188 lines)protocol.pyAdded protocol.py (+33 lines)security.pyAdded security.py (+177 lines)server.pyAdded server.py (+266 lines)compile_mock_message.shAdded compile_mock_message.sh (+7 lines)conftest.pyAdded conftest.py (+201 lines)create_test_certs.shAdded create_test_certs.sh (+174 lines)dummy_server.pyAdded dummy_server.py (+35 lines)mock_message.protoAdded mock_message.proto (+6 lines)mock_message_pb2.pyAdded mock_message_pb2.py (+36 lines)mock_message_pb2_grpc.pyAdded mock_message_pb2_grpc.py (+24 lines)test_client.pyAdded test_client.py (+311 lines)test_handshake.pyAdded test_handshake.py (+147 lines)test_security.pyAdded test_security.py (+214 lines)test_server.pyAdded test_server.py (+269 lines)test_transport.pyAdded test_transport.py (+47 lines)transport.pyAdded transport.py (+156 lines)utils.pyAdded utils.py (+19 lines).gitignoreAdded .gitignore (+2 lines)fake_cloud.pyUpdated fake_cloud.py (+3/-3 lines)fake_cloud_auth.pyUpdated fake_cloud_auth.py (+3/-3 lines)dynamic_config.pyUpdated dynamic_config.py (+6/-6 lines)file_content.pyUpdated file_content.py (+12/-12 lines)another-schema-example.mdAdded another-schema-example.md (+34 lines)chatgpt-2025-01-06-1343-maturity.mdAdded chatgpt-2025-01-06-1343-maturity.md (+153 lines)grpc-info.txtAdded grpc-info.txt (+788 lines)hashicorp-mtls-client-cert.mdAdded hashicorp-mtls-client-cert.md (+62 lines)notes.mdUpdated notes.md (+2/-1 lines)tf-core-rpc-api.mdAdded tf-core-rpc-api.md (+162 lines)env.shAdded env.sh (+15 lines)ughAdded ugh (+151 lines)capabilities.mdRemoved capabilities.md (-1 lines)grpcplugin.mdAdded grpcplugin.md (+788 lines)
- Created
client.py(228 lines) implementing the go-plugin client protocol with subprocess management and gRPC channel creation interface internal2 files
client.pytest_client.py
- Created
server.py(264 lines) implementing the go-plugin server with health checking, graceful shutdown, and Unix domain socket support interface internal3 files
server.pydummy_server.pytest_server.py
- Created
handshake.py(188 lines) implementing the go-plugin handshake protocol (magic cookie, version negotiation, address communication via stdout) interface internal3 files
terraform_handshake.pyhandshake.pytest_handshake.py
- Created
security.py(198 lines) with mTLS support including certificate generation, validation, and gRPC channel credentials interface internal2 files
security.pytest_security.py
- Created
protocol.py(33 lines) defining protocol constants and version negotiation interface internal1 file
protocol.py
- Created
exception.py(20 lines) with plugin-specific exceptions interface internal1 file
exception.py
Crypto Utilities
1 file changed
crypto.pyUpdated crypto.py
Telemetry Logger Formatters
1 file changed
formatters.pyUpdated formatters.py
Terraform Handshake
1 file changed
terraform_handshake.pyUpdated terraform_handshake.py