JaiaBot 2.1.1
JaiaBot micro-AUV software
 
Loading...
Searching...
No Matches
fleet_config.proto
Go to the documentation of this file.
1// Copyright 2025:
2// JaiaRobotics LLC
3// File authors:
4// Toby Schneider <toby@gobysoft.org>
5//
6//
7// This file is part of the JaiaBot Project Libraries
8// ("The Jaia Libraries").
9//
10// The Jaia Libraries are free software: you can redistribute them and/or modify
11// them under the terms of the GNU Lesser General Public License as published by
12// the Free Software Foundation, either version 2.1 of the License, or
13// (at your option) any later version.
14//
15// The Jaia Libraries are distributed in the hope that they will be useful,
16// but WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18// GNU Lesser General Public License for more details.
19//
20// You should have received a copy of the GNU Lesser General Public License
21// along with the Jaia Libraries. If not, see <http://www.gnu.org/licenses/>.
22
23syntax = "proto2";
24
25package jaiabot.protobuf;
26
27message FleetConfig
28{
29 required int32 fleet = 1;
30 repeated int32 hubs = 2;
31 repeated int32 bots = 3;
32
33 message SSHKeys
34 {
35 repeated string permanent_authorized_keys = 1;
36 message HubKey
37 {
38 required int32 id = 1;
39 required string private_key = 2;
40 required string public_key = 3;
41 }
42 repeated HubKey hub = 2;
43 message VPNTempKey
44 {
45 required string private_key = 2;
46 required string public_key = 3;
47 }
48 optional VPNTempKey vpn_tmp = 3;
49 }
50 required SSHKeys ssh = 4;
51
52 message Debconf
53 {
54 enum DebconfType
55 {
56 SELECT = 0;
57 MULTISELECT = 1;
58 STRING = 2;
59 BOOLEAN = 3;
60 NOTE = 4;
61 TEXT = 5;
62 PASSWORD = 6;
63 }
64
65 required string key = 1;
66 optional DebconfType type = 2 [default = SELECT];
67 required string value = 3;
68 }
69 repeated Debconf debconf = 5;
70 required string wlan_password = 6;
71 required bool service_vpn_enabled = 7;
72
73 message DebconfOverride
74 {
75 enum NodeType
76 {
77 HUB = 0;
78 BOT = 1;
79 }
80
81 required NodeType type = 1;
82 required int32 id = 2;
83 repeated Debconf debconf = 3;
84 }
85 repeated DebconfOverride debconf_override = 8;
86
87
88 message Communications
89 {
90 message IridiumSBD
91 {
92 message BotToIMEI
93 {
94 required int32 id = 1;
95 required string imei = 2;
96 }
97 repeated BotToIMEI bot = 1;
98 // Matches enum in Goby driver
99 enum SBDType
100 {
101 SBD_DIRECTIP = 1;
102 SBD_ROCKBLOCK = 2;
103 }
104 required SBDType sbd_type = 2;
105 message RockBLOCKParams
106 {
107 required string username = 1;
108 required string password = 2;
109 }
110 optional RockBLOCKParams rockblock = 3;
111 }
112 optional IridiumSBD iridium_sbd = 1;
113 }
114 optional Communications comms = 9;
115
116}