tba-capability-workload-identity 0.4.0.dev2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tba_capability_workload_identity/__init__.py +22 -0
- tba_capability_workload_identity/py.typed +1 -0
- tba_capability_workload_identity-0.4.0.dev2.dist-info/METADATA +15 -0
- tba_capability_workload_identity-0.4.0.dev2.dist-info/RECORD +5 -0
- tba_capability_workload_identity-0.4.0.dev2.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from tba_concrete_capability import Capability
|
|
2
|
+
from tba_contracts_identity.capabilities import CapabilityDefinition, CapabilityOperation
|
|
3
|
+
|
|
4
|
+
class WorkloadIdentityCapability(Capability):
|
|
5
|
+
"""Protocol-neutral workload credential acquisition and verification."""
|
|
6
|
+
def __init__(self,provider,verifier,trust_material_provider=None,refresher=None):
|
|
7
|
+
self._provider=provider;self._verifier=verifier;self._trust_material_provider=trust_material_provider;self._refresher=refresher
|
|
8
|
+
super().__init__(CapabilityDefinition("workload-identity.credentials","1.0"),operations={
|
|
9
|
+
"obtain_workload_credential":CapabilityOperation(target=self.obtain_workload_credential,delegated=True),
|
|
10
|
+
"verify_workload_credential":CapabilityOperation(target=self.verify_workload_credential,delegated=True),
|
|
11
|
+
"resolve_workload_trust":CapabilityOperation(target=self.resolve_workload_trust if trust_material_provider is not None else None,required=False,delegated=True),
|
|
12
|
+
"refresh_workload_credentials":CapabilityOperation(target=self.refresh_workload_credentials if refresher is not None else None,required=False,delegated=True),
|
|
13
|
+
})
|
|
14
|
+
def obtain_workload_credential(self,request): return self._provider.obtain(request)
|
|
15
|
+
def verify_workload_credential(self,credential,expected_identity=None): return self._verifier.verify(credential,expected_identity)
|
|
16
|
+
def resolve_workload_trust(self,identity,format):
|
|
17
|
+
if self._trust_material_provider is None: raise LookupError("workload trust provider is not configured")
|
|
18
|
+
return self._trust_material_provider.trust_material_for(identity,format)
|
|
19
|
+
def refresh_workload_credentials(self,request):
|
|
20
|
+
if self._refresher is None: raise LookupError("workload credential refresher is not configured")
|
|
21
|
+
return self._refresher(request)
|
|
22
|
+
__all__=["WorkloadIdentityCapability"]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: tba-capability-workload-identity
|
|
3
|
+
Version: 0.4.0.dev2
|
|
4
|
+
Summary: Protocol-neutral workload credential capability composition.
|
|
5
|
+
License-Expression: Apache-2.0
|
|
6
|
+
Requires-Python: >=3.10,<3.15
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
13
|
+
Requires-Dist: tba-concrete-capability (==0.4.0.dev2)
|
|
14
|
+
Requires-Dist: tba-contracts-identity (==0.4.0.dev2)
|
|
15
|
+
Requires-Dist: tba-contracts-workload-identity (==0.4.0.dev2)
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
tba_capability_workload_identity/__init__.py,sha256=sytirIvhXF45ilfDJpf8Ik_DF-2rrjTRTQ7YsgU7wNM,1876
|
|
2
|
+
tba_capability_workload_identity/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
3
|
+
tba_capability_workload_identity-0.4.0.dev2.dist-info/METADATA,sha256=fEFF93pZLZy-NhPNcYBL2Weh1YxyDMA0Jf5fTYpaLcI,684
|
|
4
|
+
tba_capability_workload_identity-0.4.0.dev2.dist-info/WHEEL,sha256=L-WvLdSBvJWHXv5zrQxDvNRnIgoBzLUpcbuiw19KCuQ,88
|
|
5
|
+
tba_capability_workload_identity-0.4.0.dev2.dist-info/RECORD,,
|