signing: add docker invocation

Add docker invocation to image.py to trigger signing of artifacts.

BUG=b:295358776
TEST=unit-test

Change-Id: I2fb01319008fb8280e82c57ffcb6ed5598f94f11
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/4877516
Tested-by: Benjamin Shai <bshai@google.com>
Commit-Queue: Greg Edelston <gredelston@google.com>
Reviewed-by: Greg Edelston <gredelston@google.com>
Auto-Submit: Benjamin Shai <bshai@google.com>
diff --git a/api/controller/image.py b/api/controller/image.py
index 969623d..2aadc4a 100644
--- a/api/controller/image.py
+++ b/api/controller/image.py
@@ -658,9 +658,10 @@
 
 
 @faux.all_empty
+@validate.eq("result_path.path.location", common_pb2.Path.Location.OUTSIDE)
 @validate.validation_complete
 def SignImage(
-    _input_proto: "image_pb2.SignImageRequest",
+    input_proto: "image_pb2.SignImageRequest",
     _output_proto: "image_pb2.SignImageResponse",
     _config: "api.config.ApiConfig",
 ):
@@ -674,4 +675,9 @@
     Returns:
         A controller return code (e.g. controller.RETURN_CODE_SUCCESS).
     """
+    image.SignImage(
+        input_proto.signing_configs,
+        Path(input_proto.result_path.path.path),
+        input_proto.docker_image,
+    )
     return controller.RETURN_CODE_SUCCESS