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