Class: Spiffe::Workload::SpiffeWorkloadAPIStub

Inherits:
GRPC::ClientStub
  • Object
show all
Defined in:
lib/spiffe/workload/grpc_stub.rb

Overview

gRPC stub for SPIFFE Workload API This is a simplified stub. Run ‘rake generate_protos’ to generate the full proto definitions from workload.proto

Instance Method Summary collapse

Instance Method Details

#fetch_jwt_bundles(request, metadata: {}) ⇒ Enumerator

Fetch JWT bundles (streaming RPC)



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/spiffe/workload/grpc_stub.rb', line 66

def fetch_jwt_bundles(request, metadata: {})
  request_marshal = lambda { |req| '' }
  response_unmarshal = lambda { |bytes| parse_jwt_bundles_response(bytes) }
  
  request_response_call(
    '/SpiffeWorkloadAPI/FetchJWTBundles',
    request,
    request_marshal,
    response_unmarshal,
    return_op: true,
    metadata: 
  )
end

#fetch_jwt_svid(request, metadata: {}) ⇒ Hash

Fetch JWT SVID (unary RPC)



49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/spiffe/workload/grpc_stub.rb', line 49

def fetch_jwt_svid(request, metadata: {})
  request_marshal = lambda { |req| encode_jwt_svid_request(req) }
  response_unmarshal = lambda { |bytes| parse_jwt_svid_response(bytes) }
  
  request_response_call(
    '/SpiffeWorkloadAPI/FetchJWTSVID',
    request,
    request_marshal,
    response_unmarshal,
    return_op: false,
    metadata: 
  )
end

#fetch_x509_bundles(request, metadata: {}) ⇒ Enumerator

Fetch X.509 bundles (streaming RPC)



32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/spiffe/workload/grpc_stub.rb', line 32

def fetch_x509_bundles(request, metadata: {})
  request_marshal = lambda { |req| '' }
  response_unmarshal = lambda { |bytes| parse_x509_bundles_response(bytes) }
  
  request_response_call(
    '/SpiffeWorkloadAPI/FetchX509Bundles',
    request,
    request_marshal,
    response_unmarshal,
    return_op: true,
    metadata: 
  )
end

#fetch_x509_svid(request, metadata: {}) ⇒ Enumerator

Fetch X.509 SVIDs (streaming RPC)



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/spiffe/workload/grpc_stub.rb', line 15

def fetch_x509_svid(request, metadata: {})
  request_marshal = lambda { |req| '' } # Empty request
  response_unmarshal = lambda { |bytes| parse_x509_svid_response(bytes) }
  
  request_response_call(
    '/SpiffeWorkloadAPI/FetchX509SVID',
    request,
    request_marshal,
    response_unmarshal,
    return_op: true,
    metadata: 
  )
end