summaryrefslogtreecommitdiff
path: root/forgeConfig.proto
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-11-27 21:05:12 -0600
committerJeff Carr <[email protected]>2024-11-27 21:05:12 -0600
commit0fc7c2d753bc6cfdc4d64425da1a23c3735b8409 (patch)
treea4b7e9f54c46a2c539892cd67cb512171cfd0054 /forgeConfig.proto
parent5d031310474e67e211449c434489ec537cabc51f (diff)
boo. big mistake on naming protobufs
It's important to really choose good names from the start. do not think you can rename .proto files later Good software engineering practices enforced here! no bullshit. you really want to know what you are planning.
Diffstat (limited to 'forgeConfig.proto')
-rw-r--r--forgeConfig.proto39
1 files changed, 39 insertions, 0 deletions
diff --git a/forgeConfig.proto b/forgeConfig.proto
new file mode 100644
index 0000000..ab4e033
--- /dev/null
+++ b/forgeConfig.proto
@@ -0,0 +1,39 @@
+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 ForgeConfig {
+ string goPath = 1; // Examples: 'go.wit.com/apps/go-clone' or "~/mythings" or "/home/src/foo"
+
+ bool writable = 2; // if you have write access to the repo
+ bool readOnly = 3; // the opposite, but needed for now because I don't know what I'm doing
+ bool private = 4; // if the repo can be published
+ bool directory = 5; // everything in this directory should use these writable & private values
+ bool favorite = 6; // you like this. always git clone/go clone this repo
+ bool interesting = 7; // this is something interesting you found and want to remember it
+
+ string masterBranch = 8; // git 'main' or 'master' branch name
+ string develBranch = 9; // whatever the git 'devel' branch name is
+ string userBranch = 10; // whatever your username branch is
+
+ string debName = 11; // the actual name used with 'apt install' (or distro apt equivalent.
+// todo: appeal to everyone to alias 'apt' on rhat, gentoo, arch, etc to alias 'apt install'
+// so we can make easier instructions for new linux users. KISS
+
+ google.protobuf.Timestamp verstamp = 12; // the git commit timestamp of the version
+}
+
+// TODO: autogen 'Repos'
+message ForgeConfigs {
+ string uuid = 1; // could be useful for /usr/share/file/magic someday?
+ string version = 2; // could be used for protobuf schema change violations?
+ repeated ForgeConfig ForgeConfigs = 3;
+}