// Copyright 2024:
//   JaiaRobotics LLC
// File authors:
//   Toby Schneider <toby@gobysoft.org>
//
//
// This file is part of the JaiaBot Project Binaries
// ("The Jaia Binaries").
//
// The Jaia Binaries are free software: you can redistribute them and/or modify
// them under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 2 of the License, or
// (at your option) any later version.
//
// The Jaia Binaries are distributed in the hope that they will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with the Jaia Binaries.  If not, see <http://www.gnu.org/licenses/>.

syntax = "proto2";
import "goby/middleware/protobuf/app_config.proto";
import "goby/protobuf/option_extensions.proto";

package jaiabot.config.admin.ssh;

message RemoveTool
{
    option (goby.msg).cfg.tool = {
        is_tool: true
        has_subtools: false
        has_help_action: false
    };

    optional goby.middleware.protobuf.AppConfig app = 1
        [(goby.field) = { cfg { action: DEVELOPER } }];

    required string host = 2 [(goby.field) = {
        description: "The host to log into (e.g. b4f2, h1f3, or chf4)",
        cfg { position { enable: true } }
    }];

    optional string pubkey = 3 [(goby.field) = {
        description: "Either the full public key or an ID corresponding to a public key compiled into this tool.",
        cfg { position { enable: true } }
    }];

    optional bool revoked = 4 [
        default = false,
        (goby.field) = { description: "Remove all known revoked keys" }
    ];

    optional string user = 10 [default = "jaia"];
    optional string authorized_keys_file = 11
        [default = "/etc/jaiabot/ssh/tmp_authorized_keys"];
}
