diff --git a/apps/assets/const/database.py b/apps/assets/const/database.py index 47e45dc71..40b9f8aff 100644 --- a/apps/assets/const/database.py +++ b/apps/assets/const/database.py @@ -8,6 +8,7 @@ class DatabaseTypes(BaseType): POSTGRESQL = 'postgresql', 'PostgreSQL' ORACLE = 'oracle', 'Oracle' SQLSERVER = 'sqlserver', 'SQLServer' + CLICKHOUSE = 'clickhouse', 'ClickHouse' MONGODB = 'mongodb', 'MongoDB' REDIS = 'redis', 'Redis' @@ -54,6 +55,9 @@ class DatabaseTypes(BaseType): cls.POSTGRESQL: [{'name': 'PostgreSQL'}], cls.ORACLE: [{'name': 'Oracle'}], cls.SQLSERVER: [{'name': 'SQLServer'}], + cls.CLICKHOUSE: [ + {'name': 'ClickHouse', 'automation': {'ansible_enabled': False}} + ], cls.MONGODB: [{'name': 'MongoDB'}], cls.REDIS: [{'name': 'Redis'}], } diff --git a/apps/assets/const/protocol.py b/apps/assets/const/protocol.py index 92ca5f3a1..d1ce663b8 100644 --- a/apps/assets/const/protocol.py +++ b/apps/assets/const/protocol.py @@ -15,6 +15,7 @@ class Protocol(ChoicesMixin, models.TextChoices): oracle = 'oracle', 'Oracle' postgresql = 'postgresql', 'PostgreSQL' sqlserver = 'sqlserver', 'SQLServer' + clickhouse = 'clickhouse', 'ClickHouse' redis = 'redis', 'Redis' mongodb = 'mongodb', 'MongoDB' @@ -76,6 +77,10 @@ class Protocol(ChoicesMixin, models.TextChoices): 'port': 1433, 'secret_types': ['password'], }, + cls.clickhouse: { + 'port': 9000, + 'secret_types': ['password'], + }, cls.mongodb: { 'port': 27017, 'secret_types': ['password'], diff --git a/apps/terminal/const.py b/apps/terminal/const.py index c5ceb3c94..bf3416c91 100644 --- a/apps/terminal/const.py +++ b/apps/terminal/const.py @@ -62,6 +62,7 @@ class WebMethod(TextChoices): Protocol.oracle: [cls.web_cli, cls.web_gui], Protocol.postgresql: [cls.web_cli, cls.web_gui], Protocol.sqlserver: [cls.web_cli, cls.web_gui], + Protocol.clickhouse: [cls.web_cli], Protocol.redis: [cls.web_cli], Protocol.mongodb: [cls.web_cli], @@ -192,8 +193,8 @@ class TerminalType(TextChoices): Protocol.ssh, Protocol.telnet, Protocol.mysql, Protocol.postgresql, Protocol.oracle, Protocol.sqlserver, - Protocol.mariadb, Protocol.redis, - Protocol.mongodb, Protocol.k8s, + Protocol.mariadb, Protocol.clickhouse, + Protocol.redis, Protocol.mongodb, Protocol.k8s, ], 'match': 'm2m' },