|
8 | 8 | "time" |
9 | 9 |
|
10 | 10 | "connectrpc.com/connect" |
11 | | - "google.golang.org/protobuf/proto" |
12 | 11 |
|
13 | 12 | "github.com/docker/secrets-engine/x/api" |
| 13 | + "github.com/docker/secrets-engine/x/api/resolver" |
14 | 14 | v1 "github.com/docker/secrets-engine/x/api/resolver/v1" |
15 | 15 | "github.com/docker/secrets-engine/x/api/resolver/v1/resolverv1connect" |
16 | 16 | "github.com/docker/secrets-engine/x/secrets" |
@@ -74,10 +74,14 @@ type config struct { |
74 | 74 | } |
75 | 75 |
|
76 | 76 | type client struct { |
77 | | - resolverClient resolverv1connect.ResolverServiceClient |
| 77 | + resolverClient secrets.Resolver |
78 | 78 | listClient resolverv1connect.ListServiceClient |
79 | 79 | } |
80 | 80 |
|
| 81 | +func (c client) GetSecrets(ctx context.Context, pattern secrets.Pattern) ([]secrets.Envelope, error) { |
| 82 | + return c.resolverClient.GetSecrets(ctx, pattern) |
| 83 | +} |
| 84 | + |
81 | 85 | type Client interface { |
82 | 86 | secrets.Resolver |
83 | 87 |
|
@@ -118,43 +122,11 @@ func New(options ...Option) (Client, error) { |
118 | 122 | Timeout: cfg.requestTimeout, |
119 | 123 | } |
120 | 124 | return &client{ |
121 | | - resolverClient: resolverv1connect.NewResolverServiceClient(c, "http://unix"), |
| 125 | + resolverClient: resolver.NewResolverClient(c), |
122 | 126 | listClient: resolverv1connect.NewListServiceClient(c, "http://unix"), |
123 | 127 | }, nil |
124 | 128 | } |
125 | 129 |
|
126 | | -func (c client) GetSecrets(ctx context.Context, pattern secrets.Pattern) ([]secrets.Envelope, error) { |
127 | | - req := connect.NewRequest(v1.GetSecretsRequest_builder{ |
128 | | - Pattern: proto.String(pattern.String()), |
129 | | - }.Build()) |
130 | | - resp, err := c.resolverClient.GetSecrets(ctx, req) |
131 | | - if err != nil { |
132 | | - if connect.CodeOf(err) == connect.CodeNotFound { |
133 | | - err = secrets.ErrNotFound |
134 | | - } |
135 | | - return nil, err |
136 | | - } |
137 | | - |
138 | | - var envelopes []secrets.Envelope |
139 | | - for _, item := range resp.Msg.GetEnvelopes() { |
140 | | - id, err := secrets.ParseID(item.GetId()) |
141 | | - if err != nil { |
142 | | - continue |
143 | | - } |
144 | | - envelopes = append(envelopes, secrets.Envelope{ |
145 | | - ID: id, |
146 | | - Value: item.GetValue(), |
147 | | - Metadata: item.GetMetadata(), |
148 | | - Provider: item.GetProvider(), |
149 | | - Version: item.GetVersion(), |
150 | | - CreatedAt: item.GetCreatedAt().AsTime(), |
151 | | - ResolvedAt: item.GetResolvedAt().AsTime(), |
152 | | - ExpiresAt: item.GetExpiresAt().AsTime(), |
153 | | - }) |
154 | | - } |
155 | | - return envelopes, nil |
156 | | -} |
157 | | - |
158 | 130 | func (c client) ListPlugins(ctx context.Context) ([]PluginInfo, error) { |
159 | 131 | req := connect.NewRequest(v1.ListPluginsRequest_builder{}.Build()) |
160 | 132 | resp, err := c.listClient.ListPlugins(ctx, req) |
|
0 commit comments