summaryrefslogtreecommitdiff
path: root/docker/api/buildkit/auth
diff options
context:
space:
mode:
Diffstat (limited to 'docker/api/buildkit/auth')
-rw-r--r--docker/api/buildkit/auth/auth.proto19
-rw-r--r--docker/api/buildkit/auth/auth.py26
-rw-r--r--docker/api/buildkit/auth/auth_grpc.py37
-rw-r--r--docker/api/buildkit/auth/auth_pb2.py140
4 files changed, 222 insertions, 0 deletions
diff --git a/docker/api/buildkit/auth/auth.proto b/docker/api/buildkit/auth/auth.proto
new file mode 100644
index 0000000..79afb36
--- /dev/null
+++ b/docker/api/buildkit/auth/auth.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+package moby.filesync.v1;
+
+option go_package = "auth";
+
+service Auth{
+ rpc Credentials(CredentialsRequest) returns (CredentialsResponse);
+}
+
+
+message CredentialsRequest {
+ string Host = 1;
+}
+
+message CredentialsResponse {
+ string Username = 1;
+ string Secret = 2;
+} \ No newline at end of file
diff --git a/docker/api/buildkit/auth/auth.py b/docker/api/buildkit/auth/auth.py
new file mode 100644
index 0000000..df096a7
--- /dev/null
+++ b/docker/api/buildkit/auth/auth.py
@@ -0,0 +1,26 @@
+from .auth_pb2 import CredentialsResponse
+from .auth_grpc import AuthBase
+from ..grpc import Attachable
+from docker.auth import resolve_authconfig
+
+
+class Auth(AuthBase, Attachable):
+ def __init__(self, authconfig, credstore_env, *args, **kwargs):
+ self.authconfig = authconfig
+ self.credstore_env = credstore_env
+ super(Auth, self).__init__(*args, **kwargs)
+
+ async def Credentials(self, stream):
+ request = await stream.recv_message()
+ host = request.Host
+ auth_data = resolve_authconfig(
+ self.authconfig, host, self.credstore_env
+ )
+ response = None
+ if auth_data is None:
+ response = CredentialsResponse(Username=None, Secret=None)
+ else:
+ response = CredentialsResponse(
+ Username=auth_data['Username'], Secret=auth_data['Password']
+ )
+ await stream.send_message(response)
diff --git a/docker/api/buildkit/auth/auth_grpc.py b/docker/api/buildkit/auth/auth_grpc.py
new file mode 100644
index 0000000..4c54bcd
--- /dev/null
+++ b/docker/api/buildkit/auth/auth_grpc.py
@@ -0,0 +1,37 @@
+# Generated by the Protocol Buffers compiler. DO NOT EDIT!
+# source: auth.proto
+# plugin: grpclib.plugin.main
+import abc
+
+import grpclib.const
+import grpclib.client
+
+import auth_pb2
+
+
+class AuthBase(abc.ABC):
+
+ @abc.abstractmethod
+ async def Credentials(self, stream):
+ pass
+
+ def __mapping__(self):
+ return {
+ '/moby.filesync.v1.Auth/Credentials': grpclib.const.Handler(
+ self.Credentials,
+ grpclib.const.Cardinality.UNARY_UNARY,
+ auth_pb2.CredentialsRequest,
+ auth_pb2.CredentialsResponse,
+ ),
+ }
+
+
+class AuthStub:
+
+ def __init__(self, channel: grpclib.client.Channel) -> None:
+ self.Credentials = grpclib.client.UnaryUnaryMethod(
+ channel,
+ '/moby.filesync.v1.Auth/Credentials',
+ auth_pb2.CredentialsRequest,
+ auth_pb2.CredentialsResponse,
+ )
diff --git a/docker/api/buildkit/auth/auth_pb2.py b/docker/api/buildkit/auth/auth_pb2.py
new file mode 100644
index 0000000..07ee94a
--- /dev/null
+++ b/docker/api/buildkit/auth/auth_pb2.py
@@ -0,0 +1,140 @@
+# Generated by the protocol buffer compiler. DO NOT EDIT!
+# source: auth.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+ name='auth.proto',
+ package='moby.filesync.v1',
+ syntax='proto3',
+ serialized_options=_b('Z\004auth'),
+ serialized_pb=_b('\n\nauth.proto\x12\x10moby.filesync.v1\"\"\n\x12\x43redentialsRequest\x12\x0c\n\x04Host\x18\x01 \x01(\t\"7\n\x13\x43redentialsResponse\x12\x10\n\x08Username\x18\x01 \x01(\t\x12\x0e\n\x06Secret\x18\x02 \x01(\t2b\n\x04\x41uth\x12Z\n\x0b\x43redentials\x12$.moby.filesync.v1.CredentialsRequest\x1a%.moby.filesync.v1.CredentialsResponseB\x06Z\x04\x61uthb\x06proto3')
+)
+
+
+
+
+_CREDENTIALSREQUEST = _descriptor.Descriptor(
+ name='CredentialsRequest',
+ full_name='moby.filesync.v1.CredentialsRequest',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='Host', full_name='moby.filesync.v1.CredentialsRequest.Host', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=32,
+ serialized_end=66,
+)
+
+
+_CREDENTIALSRESPONSE = _descriptor.Descriptor(
+ name='CredentialsResponse',
+ full_name='moby.filesync.v1.CredentialsResponse',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='Username', full_name='moby.filesync.v1.CredentialsResponse.Username', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='Secret', full_name='moby.filesync.v1.CredentialsResponse.Secret', index=1,
+ number=2, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=68,
+ serialized_end=123,
+)
+
+DESCRIPTOR.message_types_by_name['CredentialsRequest'] = _CREDENTIALSREQUEST
+DESCRIPTOR.message_types_by_name['CredentialsResponse'] = _CREDENTIALSRESPONSE
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+CredentialsRequest = _reflection.GeneratedProtocolMessageType('CredentialsRequest', (_message.Message,), dict(
+ DESCRIPTOR = _CREDENTIALSREQUEST,
+ __module__ = 'auth_pb2'
+ # @@protoc_insertion_point(class_scope:moby.filesync.v1.CredentialsRequest)
+ ))
+_sym_db.RegisterMessage(CredentialsRequest)
+
+CredentialsResponse = _reflection.GeneratedProtocolMessageType('CredentialsResponse', (_message.Message,), dict(
+ DESCRIPTOR = _CREDENTIALSRESPONSE,
+ __module__ = 'auth_pb2'
+ # @@protoc_insertion_point(class_scope:moby.filesync.v1.CredentialsResponse)
+ ))
+_sym_db.RegisterMessage(CredentialsResponse)
+
+
+DESCRIPTOR._options = None
+
+_AUTH = _descriptor.ServiceDescriptor(
+ name='Auth',
+ full_name='moby.filesync.v1.Auth',
+ file=DESCRIPTOR,
+ index=0,
+ serialized_options=None,
+ serialized_start=125,
+ serialized_end=223,
+ methods=[
+ _descriptor.MethodDescriptor(
+ name='Credentials',
+ full_name='moby.filesync.v1.Auth.Credentials',
+ index=0,
+ containing_service=None,
+ input_type=_CREDENTIALSREQUEST,
+ output_type=_CREDENTIALSRESPONSE,
+ serialized_options=None,
+ ),
+])
+_sym_db.RegisterServiceDescriptor(_AUTH)
+
+DESCRIPTOR.services_by_name['Auth'] = _AUTH
+
+# @@protoc_insertion_point(module_scope)