Skip to content

GUACAMOLE-2064: Add UI support for database terminal protocols#1229

Open
4m1nr wants to merge 1 commit into
apache:mainfrom
4m1nr:GUACAMOLE-2064-database-protocols
Open

GUACAMOLE-2064: Add UI support for database terminal protocols#1229
4m1nr wants to merge 1 commit into
apache:mainfrom
4m1nr:GUACAMOLE-2064-database-protocols

Conversation

@4m1nr

@4m1nr 4m1nr commented Jul 14, 2026

Copy link
Copy Markdown

What this does

Adds the web-interface support for the five new database terminal protocols
(MySQL, PostgreSQL, SQL Server, MongoDB, Oracle) implemented in
guacamole-server for
GUACAMOLE-2064, so that
connections using them can be created and configured from the Guacamole admin
UI.

Changes

  • LocalEnvironment.java — the five protocol names are added to
    KNOWN_PROTOCOLS so their bundled connection-parameter definitions are
    loaded.
  • Five protocol form definitions under
    guacamole-ext/…/protocols/{mysql,postgresql,mssql,mongodb,oracle}.json,
    modeled on telnet.json. Each describes the relevant field groups —
    network, authentication, encryption (TLS/SSL), terminal display, clipboard,
    behavior, typescript, session recording, and Wake-on-LAN — using the existing
    field types (TEXT, NUMERIC, USERNAME, PASSWORD, BOOLEAN, ENUM,
    TERMINAL_COLOR_SCHEME). Per-database differences are reflected: MySQL/PG
    expose their respective ssl-mode value sets, SQL Server exposes
    tds-version, MongoDB exposes auth-database and a boolean use-ssl, and
    Oracle uses service-name in place of database.
  • en.json — full English translations for every field header, ENUM
    option, and section header of all five protocols, plus each protocol's
    display NAME. (Coverage was checked by canonicalizing every form field to
    its expected translation key — 0 missing.)
  • ui.css — the terminal icon (guac-text.svg) is associated with each new
    protocol, matching SSH/telnet/Kubernetes.

Only English strings are added; other locales fall back to English as usual.
No database-schema or JDBC-extension changes are required — connections store
the protocol as a free-form string.

Testing

  • mvn -pl guacamole-ext -am test passes.
  • Full mvn -pl guacamole -am package (webpack WAR build) succeeds.
  • Every form field and ENUM option was verified to resolve to a defined
    translation key.
  • Connection forms render and their labels/options resolve when creating a
    connection of each new type. (Screenshots can be added on request.)

Related PRs

Part of a three-repo change under GUACAMOLE-2064:

Register the five new database terminal protocols (MySQL, PostgreSQL, SQL
Server, MongoDB, and Oracle) provided by guacamole-server so that they can
be configured through the Guacamole web interface.

Each protocol is added to the list of known protocols and given a
connection-parameter form describing its network, authentication,
encryption, terminal display, clipboard, behavior, typescript, session
recording, and Wake-on-LAN options, mirroring the existing terminal
protocols. English translation strings are provided for every field,
option, and section, and the terminal icon is associated with each new
protocol.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant