Build API: Add version fetching endpoint.

BUG=chromium:979814
TEST=ran endpoint manually

Change-Id: Ifd400e6d7f92286f8313927fa5200e011a1fa395
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1682829
Commit-Queue: Alex Klein <saklein@chromium.org>
Tested-by: Alex Klein <saklein@chromium.org>
Reviewed-by: Evan Hernandez <evanhernandez@chromium.org>
Auto-Submit: Alex Klein <saklein@chromium.org>
diff --git a/api/controller/api.py b/api/controller/api.py
index d1171d0..3a91baa 100644
--- a/api/controller/api.py
+++ b/api/controller/api.py
@@ -9,9 +9,24 @@
 
 from chromite.api import router as router_lib
 
+# API version number.
+# The major version MUST be updated on breaking changes.
+VERSION_MAJOR = 1
+# The minor and bug versions are not currently utilized, but put in place
+# to simplify future requirements.
+VERSION_MINOR = 0
+VERSION_BUG = 0
+
 
 def GetMethods(_input_proto, output_proto):
   """List all of the registered methods."""
   router = router_lib.GetRouter()
   for method in router.ListMethods():
     output_proto.methods.add().method = method
+
+
+def GetVersion(_input_proto, output_proto):
+  """Get the Build API major version number."""
+  output_proto.version.major = VERSION_MAJOR
+  output_proto.version.minor = VERSION_MINOR
+  output_proto.version.bug = VERSION_BUG