mirror of https://github.com/jumpserver/jumpserver
perf: dbeaver 支持使用网关连接数据库
parent
9d8c1bb317
commit
8d8f479da6
|
@ -1,14 +1,13 @@
|
|||
import os
|
||||
import time
|
||||
import win32api
|
||||
import shutil
|
||||
import subprocess
|
||||
|
||||
import time
|
||||
from xml.etree import ElementTree
|
||||
from xml.sax import SAXException
|
||||
|
||||
from common import wait_pid, BaseApplication
|
||||
import win32api
|
||||
|
||||
from common import wait_pid, BaseApplication
|
||||
|
||||
_default_path = r'C:\Program Files\DBeaver\dbeaver-cli.exe'
|
||||
|
||||
|
@ -22,6 +21,10 @@ class AppletApplication(BaseApplication):
|
|||
self.privileged = self.account.privileged
|
||||
self.host = self.asset.address
|
||||
self.port = self.asset.get_protocol_port(self.protocol)
|
||||
if self.tinker_forward:
|
||||
self.host = self.tinker_forward.host
|
||||
self.port = self.tinker_forward.port
|
||||
|
||||
self.db = self.asset.spec_info.db_name
|
||||
self.name = '%s-%s-%s' % (self.host, self.db, int(time.time()))
|
||||
self.app_work_path = self.get_app_work_path()
|
||||
|
|
|
@ -152,6 +152,20 @@ class Platform(DictObj):
|
|||
type: LabelValue
|
||||
|
||||
|
||||
class Gateway(DictObj):
|
||||
id: str
|
||||
name: str
|
||||
address: str
|
||||
port: int
|
||||
protocols: list[Protocol]
|
||||
account: Account
|
||||
|
||||
|
||||
class TinkerForward(DictObj):
|
||||
host: str
|
||||
port: int
|
||||
|
||||
|
||||
class Manifest(DictObj):
|
||||
name: str
|
||||
version: str
|
||||
|
@ -199,6 +213,14 @@ class BaseApplication(abc.ABC):
|
|||
self.asset = Asset(kwargs.get('asset', {}))
|
||||
self.account = Account(kwargs.get('account', {}))
|
||||
self.platform = Platform(kwargs.get('platform', {}))
|
||||
self.gateway = None
|
||||
self.tinker_forward = None
|
||||
gateway = kwargs.get('gateway')
|
||||
tinker_forward = kwargs.get('tinker_forward')
|
||||
if gateway:
|
||||
self.gateway = Gateway(gateway)
|
||||
if tinker_forward:
|
||||
self.tinker_forward = TinkerForward(tinker_forward)
|
||||
|
||||
@abc.abstractmethod
|
||||
def run(self):
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
name: dbeaver
|
||||
display_name: "{{ 'DBeaver Community' | trans }}"
|
||||
comment: "{{ 'Free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases.' | trans }}"
|
||||
version: 0.1
|
||||
version: 0.2
|
||||
exec_type: python
|
||||
author: JumpServer Team
|
||||
type: general
|
||||
|
|
Loading…
Reference in New Issue