deepfos 1.1.79__tar.gz → 1.1.81__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {deepfos-1.1.79 → deepfos-1.1.81}/CHANGELOG.md +13 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/PKG-INFO +1 -1
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/_version.py +3 -3
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/base.py +4 -1
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/deepconnector.py +1 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/deepfos_task.py +1 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/constant.py +4 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/k8s.py +14 -10
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/options.py +1 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos.egg-info/PKG-INFO +1 -1
- {deepfos-1.1.79 → deepfos-1.1.81}/.gitattributes +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/.gitee/ISSUE_GUIDELINES.md +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/.gitee/ISSUE_TEMPLATE.md +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/.gitignore +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/MANIFEST.in +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/README.md +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/algo/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/algo/graph.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/V1_1/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/V1_1/business_model.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/V1_1/dimension.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/V1_1/models/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/V1_1/models/business_model.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/V1_1/models/dimension.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/V1_2/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/V1_2/dimension.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/V1_2/models/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/V1_2/models/dimension.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/account.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/accounting_engines.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/app.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/approval_process.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/business_model.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/consolidation.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/consolidation_process.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/datatable.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/deep_pipeline.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/deepmodel.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/dimension.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/financial_model.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/journal_model.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/journal_template.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/memory_financial_model.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/account.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/accounting_engines.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/app.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/approval_process.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/base.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/business_model.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/consolidation.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/consolidation_process.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/datatable_mysql.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/deep_pipeline.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/deepconnector.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/deepfos_task.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/deepmodel.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/dimension.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/financial_model.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/journal_model.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/journal_template.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/memory_financial_model.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/platform.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/python.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/reconciliation_engine.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/reconciliation_report.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/role_strategy.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/smartlist.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/space.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/system.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/variable.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/models/workflow.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/platform.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/python.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/reconciliation_engine.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/reconciliation_report.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/role_strategy.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/smartlist.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/space.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/system.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/variable.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/api/workflow.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/boost/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/boost/jstream.c +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/boost/jstream.pyx +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/boost/pandas.c +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/boost/pandas.pyx +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/boost/py_jstream.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/boost/py_pandas.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/cache.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/config.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/cube/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/cube/_base.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/cube/constants.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/cube/cube.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/cube/formula.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/cube/syscube.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/cube/typing.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/cube/utils.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/dimension/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/dimension/_base.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/dimension/dimcreator.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/dimension/dimension.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/dimension/dimexpr.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/dimension/dimmember.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/dimension/eledimension.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/dimension/filters.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/dimension/sysdimension.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/logictable/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/logictable/_cache.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/logictable/_operator.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/logictable/nodemixin.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/logictable/sqlcondition.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/core/logictable/tablemodel.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/cipher.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/clickhouse.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/connector.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/daclickhouse.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/dameng.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/damysql.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/dbkits.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/deepengine.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/deepmodel.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/deepmodel_kingbase.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/edb.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/gauss.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/kingbase.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/mysql.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/oracle.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/postgresql.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/sqlserver.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/db/utils.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/accounting.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/apvlprocess.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/base.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/bizmodel.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/datatable.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/deep_pipeline.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/deepconnector.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/deepmodel.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/dimension.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/fact_table.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/finmodel.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/journal.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/journal_template.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/pyscript.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/reconciliation.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/rolestrategy.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/smartlist.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/variable.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/element/workflow.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/exceptions/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/exceptions/hook.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lazy.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/__init__.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/_javaobj.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/asynchronous.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/concurrency.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/decorator.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/deepchart.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/deepux.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/discovery.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/edb_lexer.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/eureka.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/filterparser.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/httpcli.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/jsonstreamer.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/msg.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/nacos.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/patch.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/redis.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/serutils.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/stopwatch.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/subtask.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/sysutils.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/lib/utils.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/local.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos/translation.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos.egg-info/SOURCES.txt +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos.egg-info/dependency_links.txt +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos.egg-info/not-zip-safe +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos.egg-info/requires.txt +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/deepfos.egg-info/top_level.txt +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/requirements.txt +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/setup.cfg +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/setup.py +0 -0
- {deepfos-1.1.79 → deepfos-1.1.81}/versioneer.py +0 -0
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2026-01-
|
|
11
|
+
"date": "2026-01-22T08:33:03+0000",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "1.1.
|
|
14
|
+
"full-revisionid": "aa7164c60be8e0acdde1a4db53fc101402d4983a",
|
|
15
|
+
"version": "1.1.81"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -23,7 +23,7 @@ from deepfos.lib.httpcli import AioHttpCli
|
|
|
23
23
|
from deepfos.lib.utils import concat_url, retry, to_version_tuple, repr_version, trim_text
|
|
24
24
|
from deepfos.lib.asynchronous import evloop
|
|
25
25
|
from deepfos.lib.discovery import ServiceDiscovery
|
|
26
|
-
from deepfos.lib.constant import UNSET, RE_SYS_SERVER_PARSER
|
|
26
|
+
from deepfos.lib.constant import UNSET, RE_SYS_SERVER_PARSER, INTERNAL_TOKEN_HEADER
|
|
27
27
|
from deepfos.options import OPTION
|
|
28
28
|
from deepfos.exceptions import APIResponseError, APIRequestError
|
|
29
29
|
|
|
@@ -376,6 +376,9 @@ class Route:
|
|
|
376
376
|
else:
|
|
377
377
|
header = CaseInsensitiveDict(ins.header, **ext_header)
|
|
378
378
|
|
|
379
|
+
if internal_token := OPTION.general.internal_token:
|
|
380
|
+
header[INTERNAL_TOKEN_HEADER] = internal_token
|
|
381
|
+
|
|
379
382
|
if use_cache:
|
|
380
383
|
if ((req_key := hash(req)), raw_result) in api_cache:
|
|
381
384
|
return api_cache[(req_key, raw_result)]
|
|
@@ -37,3 +37,7 @@ RE_SYS_SERVER_PARSER = re.compile('^(?:https?://)?([a-z-]+-server)$', re.IGNOREC
|
|
|
37
37
|
DECIMAL_COL = 'decimal_val'
|
|
38
38
|
STRING_COL = 'string_val'
|
|
39
39
|
INDEX_FIELD = 'index'
|
|
40
|
+
|
|
41
|
+
# -----------------------------------------------------------------------------
|
|
42
|
+
# Internal service token header
|
|
43
|
+
INTERNAL_TOKEN_HEADER = "X-deepfos-internal-key"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import asyncio
|
|
2
|
+
import contextlib
|
|
2
3
|
from collections import defaultdict
|
|
3
4
|
from functools import cached_property
|
|
4
5
|
from typing import TypedDict, Literal, Type, Dict, FrozenSet
|
|
@@ -11,6 +12,7 @@ from kubernetes_asyncio.client import (
|
|
|
11
12
|
V1EndpointSubset,
|
|
12
13
|
V1EndpointAddress,
|
|
13
14
|
CoreV1EndpointPort,
|
|
15
|
+
ApiClient,
|
|
14
16
|
)
|
|
15
17
|
from deepfos.lib.discovery import ServiceDiscovery
|
|
16
18
|
from deepfos import OPTION
|
|
@@ -31,13 +33,14 @@ class K8sCli(ServiceDiscovery):
|
|
|
31
33
|
|
|
32
34
|
async def on_startup(self):
|
|
33
35
|
config.load_incluster_config()
|
|
34
|
-
|
|
35
|
-
@cached_property
|
|
36
|
-
def _api(self):
|
|
37
36
|
c = client.Configuration.get_default_copy()
|
|
38
37
|
c.verify_ssl = False
|
|
39
38
|
client.Configuration.set_default(c)
|
|
40
|
-
|
|
39
|
+
|
|
40
|
+
@contextlib.asynccontextmanager
|
|
41
|
+
async def _acquire_api(self) -> client.CoreV1Api:
|
|
42
|
+
async with ApiClient() as cli:
|
|
43
|
+
yield client.CoreV1Api(cli)
|
|
41
44
|
|
|
42
45
|
async def on_interval(self):
|
|
43
46
|
await self._update_cache()
|
|
@@ -58,9 +61,9 @@ class K8sCli(ServiceDiscovery):
|
|
|
58
61
|
self._cares.add(server_name)
|
|
59
62
|
await self.update_instance_for_service(server_name)
|
|
60
63
|
|
|
61
|
-
|
|
62
64
|
async def _list_all_service_names(self) -> FrozenSet[str]:
|
|
63
|
-
|
|
65
|
+
async with self._acquire_api() as api:
|
|
66
|
+
svcs: V1ServiceList = await api.list_namespaced_service(self._ns)
|
|
64
67
|
return frozenset(svc.metadata.name for svc in svcs.items)
|
|
65
68
|
|
|
66
69
|
async def update_services(self):
|
|
@@ -79,10 +82,11 @@ class K8sCli(ServiceDiscovery):
|
|
|
79
82
|
logger.debug(f"Removed servieces: {removed}")
|
|
80
83
|
|
|
81
84
|
async def update_instance_for_service(self, server_name: str):
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
85
|
+
async with self._acquire_api() as api:
|
|
86
|
+
endpoints: V1Endpoints = await api.read_namespaced_endpoints(
|
|
87
|
+
server_name,
|
|
88
|
+
self._ns,
|
|
89
|
+
)
|
|
86
90
|
|
|
87
91
|
no_active_nodes = True
|
|
88
92
|
async with self._instance_lock[server_name]:
|
|
@@ -432,6 +432,7 @@ class _General(_Category):
|
|
|
432
432
|
socket_name = _Option(None, val_type=str)
|
|
433
433
|
preserve_concurrency = _Option(1, val_type=int)
|
|
434
434
|
response_display_length_on_error = _Option(20000, val_type=int)
|
|
435
|
+
internal_token = _Option(None, val_type=str)
|
|
435
436
|
|
|
436
437
|
def __get__(self, instance, owner) -> '_General':
|
|
437
438
|
"""defined to help ide"""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|