treewide: replace stampsrcs with embed

A rules_go maintainer suggested using embed instead of stampsrcs:
https://github.com/bazel-contrib/rules_go/issues/3507

For Kubernetes, this means we need to patch the version libraries.
Instead of creating a separate file for each variable, I put them all in
one file, which is parsed in an init function. This init function needs
to run before all other init functions, which access the variables.

Another benefit of this change is that versions are stamped in all
binaries which include Kubernetes client libraries, not just hyperkube.

Change-Id: Ib1157d3686fc35e0c4191d2fc8e165862a1973c7
Reviewed-on: https://review.monogon.dev/c/monogon/+/4208
Tested-by: Jenkins CI
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
diff --git a/build/print-workspace-status.py b/build/print-workspace-status.py
index 992a8fc..3b86ee4 100755
--- a/build/print-workspace-status.py
+++ b/build/print-workspace-status.py
@@ -227,6 +227,10 @@
     variables["STABLE_KUBERNETES_gitCommit"] = git_commit
     variables["STABLE_KUBERNETES_gitTreeState"] = git_tree_state
     variables["STABLE_KUBERNETES_buildDate"] = git_commit_date
+else:
+    variables["STABLE_KUBERNETES_gitCommit"] = ""
+    variables["STABLE_KUBERNETES_gitTreeState"] = ""
+    variables["STABLE_KUBERNETES_buildDate"] = "1970-01-01T00:00:00Z"
 
 # Emit variables to stdout for consumption by Bazel and targets.
 for key in sorted(variables.keys()):