summaryrefslogtreecommitdiff
path: root/repo.proto
diff options
context:
space:
mode:
Diffstat (limited to 'repo.proto')
-rw-r--r--repo.proto30
1 files changed, 30 insertions, 0 deletions
diff --git a/repo.proto b/repo.proto
new file mode 100644
index 0000000..ae7fc19
--- /dev/null
+++ b/repo.proto
@@ -0,0 +1,30 @@
+syntax = "proto3";
+
+package forgepb;
+
+import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
+
+// define 3 branches. that is all that is supported
+// the term 'master' is used in the code because 'main' is a reserved word in golang already
+// allow 'read only' and 'private' flags
+// package names sometimes must be different than the binary name
+// for example 'zookeeper' is packaged as 'zookeeper-go'
+// due to the prior apache foundation project. This happens and is ok!
+message Repo {
+ string name = 1;
+ string version = 2;
+ string masterBranch = 3; // git 'main' or 'master' branch name
+ string develBranch = 4; // whatever the git 'devel' branch name is
+ string userBranch = 5; // whatever your username branch is
+ bool readonly = 6; // if you have write access to the repo
+ bool private = 7; // if the repo can be published
+ string debname = 8; // this is the actual .deb name of the package
+ google.protobuf.Timestamp verstamp = 9; // the git commit timestamp of the version
+}
+
+// TODO: autogen 'Repos'
+message Repos {
+ string uuid = 1; // could be useful for /usr/share/file/magic someday?
+ string version = 2; // could be used for protobuf schema change violations?
+ repeated Repo repos = 3;
+}