GetChromeVersion: Add endpoint for the chrome version.

The chrome version itself is a subset of the portage version spec.
Add new endpoint to handle the chrome version fetch.

BUG=None
TEST=ran manually

Change-Id: I3538e7861e04759365b4ce607559caabea201192
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1776356
Tested-by: Alex Klein <saklein@chromium.org>
Reviewed-by: David Burger <dburger@chromium.org>
Commit-Queue: Alex Klein <saklein@chromium.org>
diff --git a/api/controller/packages.py b/api/controller/packages.py
index 5a1244a..c6305da 100644
--- a/api/controller/packages.py
+++ b/api/controller/packages.py
@@ -91,3 +91,15 @@
   package_info = common_pb2.PackageInfo()
   controller_util.CPVToPackageInfo(cpv, package_info)
   output_proto.package_info.CopyFrom(package_info)
+
+
+@validate.require('build_target.name')
+@validate.validation_complete
+def GetChromeVersion(input_proto, output_proto, _config):
+  """Returns the chrome version."""
+  build_target = controller_util.ParseBuildTarget(input_proto.build_target)
+  cpv = packages.get_best_visible(
+      constants.CHROME_CP, build_target=build_target)
+
+  # Something like 1.2.3.4_rc -> 1.2.3.4.
+  output_proto.version = cpv.version_no_rev.split('_')[0]