summaryrefslogtreecommitdiff
path: root/machine.proto
blob: b52622c2ca6e248aa6b1290bd6b2bae2dae0417b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
syntax = "proto3";

package gitpb;

import "package.proto";
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp

// global settings for autogenpb `autogenpb:mutex`

message Machine {                                        // `autogenpb:marshal` `autogenpb:http`
        string                      hostname       = 1;  // `autogenpb:unique` `autogenpb:sort`
        int64                       memory         = 2;
        int64                       cpus           = 3;
        string                      distro         = 4;
        Packages                    packages       = 5;
        google.protobuf.Timestamp   laststamp      = 6;  // the last time we heard anything from this machine
        Packages                    installed      = 7;  // packages that are installed
        Packages                    available      = 8;  // packages that are available
        Packages                    wit            = 9;  // packages that are available from mirrors.wit.com
        string                      userAgent      = 10;
        string                      uuid           = 11;
        bool                        upgrade        = 12; // upgrade is needed
        string                      upgradeCmd     = 13; // upgrade cmd
}

message Machines {                                       // `autogenpb:marshal` `autogenpb:gui` `autogenpb:http`
        string                      uuid           = 1;  // `autogenpb:uuid:b57e7fac-a8fc-4949-9d50-fa38312dec87`
        string                      version        = 2;  // `autogenpb:version:v0.0.1`
        repeated Machine            machines       = 3;
        string                      filename       = 4;  // `autogenpb:save` -- this enables autogenerated pb.Load() and pb.Save()
}