GUACAMOLE-623: Add Kubernetes protocol/parameter definitions and translations.

This commit is contained in:
Michael Jumper
2019-08-03 12:55:23 -07:00
parent 66d2fe3f10
commit 6ebb53477c
4 changed files with 243 additions and 2 deletions

View File

@@ -53,7 +53,7 @@ public class LocalEnvironment implements Environment {
* Array of all known protocol names.
*/
private static final String[] KNOWN_PROTOCOLS = new String[]{
"vnc", "rdp", "ssh", "telnet"};
"vnc", "rdp", "ssh", "telnet", "kubernetes"};
/**
* The hostname to use when connecting to guacd if no hostname is provided

View File

@@ -0,0 +1,174 @@
{
"name" : "kubernetes",
"connectionForms" : [
{
"name" : "network",
"fields" : [
{
"name" : "hostname",
"type" : "TEXT"
},
{
"name" : "port",
"type" : "NUMERIC"
},
{
"name" : "use-ssl",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "ignore-cert",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "ca-cert",
"type" : "MULTILINE"
}
]
},
{
"name" : "container",
"fields" : [
{
"name" : "namespace",
"type" : "TEXT"
},
{
"name" : "pod",
"type" : "TEXT"
},
{
"name" : "container",
"type" : "TEXT"
}
]
},
{
"name" : "authentication",
"fields" : [
{
"name" : "client-cert",
"type" : "MULTILINE"
},
{
"name" : "client-key",
"type" : "MULTILINE"
}
]
},
{
"name" : "display",
"fields" : [
{
"name" : "color-scheme",
"type" : "TEXT",
"options" : [ "", "black-white", "gray-black", "green-black", "white-black" ]
},
{
"name" : "font-name",
"type" : "TEXT"
},
{
"name" : "font-size",
"type" : "ENUM",
"options" : [ "", "8", "9", "10", "11", "12", "14", "18", "24", "30", "36", "48", "60", "72", "96" ]
},
{
"name" : "scrollback",
"type" : "NUMERIC"
},
{
"name" : "read-only",
"type" : "BOOLEAN",
"options" : [ "true" ]
}
]
},
{
"name" : "behavior",
"fields" : [
{
"name" : "backspace",
"type" : "ENUM",
"options" : [ "", "127", "8" ]
}
]
},
{
"name" : "typescript",
"fields" : [
{
"name" : "typescript-path",
"type" : "TEXT"
},
{
"name" : "typescript-name",
"type" : "TEXT"
},
{
"name" : "create-typescript-path",
"type" : "BOOLEAN",
"options" : [ "true" ]
}
]
},
{
"name" : "recording",
"fields" : [
{
"name" : "recording-path",
"type" : "TEXT"
},
{
"name" : "recording-name",
"type" : "TEXT"
},
{
"name" : "recording-exclude-output",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "recording-exclude-mouse",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "recording-include-keys",
"type" : "BOOLEAN",
"options" : [ "true" ]
},
{
"name" : "create-recording-path",
"type" : "BOOLEAN",
"options" : [ "true" ]
}
]
}
],
"sharingProfileForms" : [
{
"name" : "display",
"fields" : [
{
"name" : "read-only",
"type" : "BOOLEAN",
"options" : [ "true" ]
}
]
}
]
}

View File

@@ -198,6 +198,7 @@ div.section {
background-image: url('images/protocol-icons/guac-plug.png');
}
.connection .icon.kubernetes,
.connection .icon.ssh,
.connection .icon.telnet {
background-image: url('images/protocol-icons/guac-text.png');

View File

@@ -362,7 +362,73 @@
"TEXT_CONFIRM_DELETE" : "Groups cannot be restored after they have been deleted. Are you sure you want to delete this group?"
},
"PROTOCOL_KUBERNETES" : {
"FIELD_HEADER_BACKSPACE" : "Backspace key sends:",
"FIELD_HEADER_CA_CERT" : "Certificate authority certificate:",
"FIELD_HEADER_CLIENT_CERT" : "Client certificate:",
"FIELD_HEADER_CLIENT_KEY" : "Client key:",
"FIELD_HEADER_COLOR_SCHEME" : "Color scheme:",
"FIELD_HEADER_CONTAINER" : "Container name:",
"FIELD_HEADER_CREATE_RECORDING_PATH" : "Automatically create recording path:",
"FIELD_HEADER_CREATE_TYPESCRIPT_PATH" : "Automatically create typescript path:",
"FIELD_HEADER_FONT_NAME" : "Font name:",
"FIELD_HEADER_FONT_SIZE" : "Font size:",
"FIELD_HEADER_HOSTNAME" : "Hostname:",
"FIELD_HEADER_IGNORE_CERT" : "Ignore server certificate:",
"FIELD_HEADER_NAMESPACE" : "Namespace:",
"FIELD_HEADER_POD" : "Pod name:",
"FIELD_HEADER_PORT" : "Port:",
"FIELD_HEADER_READ_ONLY" : "Read-only:",
"FIELD_HEADER_RECORDING_EXCLUDE_MOUSE" : "Exclude mouse:",
"FIELD_HEADER_RECORDING_EXCLUDE_OUTPUT" : "Exclude graphics/streams:",
"FIELD_HEADER_RECORDING_INCLUDE_KEYS" : "Include key events:",
"FIELD_HEADER_RECORDING_NAME" : "Recording name:",
"FIELD_HEADER_RECORDING_PATH" : "Recording path:",
"FIELD_HEADER_SCROLLBACK" : "Maximum scrollback size:",
"FIELD_HEADER_TYPESCRIPT_NAME" : "Typescript name:",
"FIELD_HEADER_TYPESCRIPT_PATH" : "Typescript path:",
"FIELD_HEADER_USE_SSL" : "Use SSL/TLS",
"FIELD_OPTION_BACKSPACE_EMPTY" : "",
"FIELD_OPTION_BACKSPACE_8" : "Backspace (Ctrl-H)",
"FIELD_OPTION_BACKSPACE_127" : "Delete (Ctrl-?)",
"FIELD_OPTION_COLOR_SCHEME_BLACK_WHITE" : "Black on white",
"FIELD_OPTION_COLOR_SCHEME_EMPTY" : "",
"FIELD_OPTION_COLOR_SCHEME_GRAY_BLACK" : "Gray on black",
"FIELD_OPTION_COLOR_SCHEME_GREEN_BLACK" : "Green on black",
"FIELD_OPTION_COLOR_SCHEME_WHITE_BLACK" : "White on black",
"FIELD_OPTION_FONT_SIZE_8" : "8",
"FIELD_OPTION_FONT_SIZE_9" : "9",
"FIELD_OPTION_FONT_SIZE_10" : "10",
"FIELD_OPTION_FONT_SIZE_11" : "11",
"FIELD_OPTION_FONT_SIZE_12" : "12",
"FIELD_OPTION_FONT_SIZE_14" : "14",
"FIELD_OPTION_FONT_SIZE_18" : "18",
"FIELD_OPTION_FONT_SIZE_24" : "24",
"FIELD_OPTION_FONT_SIZE_30" : "30",
"FIELD_OPTION_FONT_SIZE_36" : "36",
"FIELD_OPTION_FONT_SIZE_48" : "48",
"FIELD_OPTION_FONT_SIZE_60" : "60",
"FIELD_OPTION_FONT_SIZE_72" : "72",
"FIELD_OPTION_FONT_SIZE_96" : "96",
"FIELD_OPTION_FONT_SIZE_EMPTY" : "",
"NAME" : "Kubernetes",
"SECTION_HEADER_AUTHENTICATION" : "Authentication",
"SECTION_HEADER_BEHAVIOR" : "Terminal behavior",
"SECTION_HEADER_CONTAINER" : "Container",
"SECTION_HEADER_DISPLAY" : "Display",
"SECTION_HEADER_RECORDING" : "Screen Recording",
"SECTION_HEADER_TYPESCRIPT" : "Typescript (Text Session Recording)",
"SECTION_HEADER_NETWORK" : "Network"
},
"PROTOCOL_RDP" : {
"FIELD_HEADER_CLIENT_NAME" : "Client name:",