else:
from typing_extensions import Literal
+from ceph.cryptotools.select import choose_crypto_caller
from mgr_module import CLIReadCommand, CLIWriteCommand, HandleCommandResult, \
MgrModule, MgrStandbyModule, NotifyType, Option, _get_localized_key
from mgr_util import ServerConfigException, build_url, \
Option(name='redirect_resolve_ip_addr', type='bool', default=False),
Option(name='cross_origin_url', type='str', default=''),
Option(name='sso_oauth2', type='bool', default=False),
+ Option(name='crypto_caller', type='str', default=''),
]
MODULE_OPTIONS.extend(options_schema_list())
for options in PLUGIN_MANAGER.hook.get_options() or []:
def __init__(self, *args, **kwargs):
super(Module, self).__init__(*args, **kwargs)
CherryPyConfig.__init__(self)
+ # configure the dashboard's crypto caller. by default it will
+ # use the remote caller to avoid pyo3 conflicts
+ choose_crypto_caller(str(self.get_module_option('crypto_caller', '')))
mgr.init(self)
super(StandbyModule, self).__init__(*args, **kwargs)
CherryPyConfig.__init__(self)
self.shutdown_event = threading.Event()
+ # configure the dashboard's crypto caller. by default it will
+ # use the remote caller to avoid pyo3 conflicts
+ choose_crypto_caller(str(self.get_module_option('crypto_caller', '')))
# We can set the global mgr instance to ourselves even though
# we're just a standby, because it's enough for logging.
from string import ascii_lowercase, ascii_uppercase, digits, punctuation
from typing import List, Optional, Sequence
+from ceph.cryptotools.select import get_crypto_caller
from mgr_module import CLICheckNonemptyFileInput, CLIReadCommand, CLIWriteCommand
from mgr_util import password_hash
from ..security import Permission, Scope
from ..settings import Settings
-from ceph.cryptotools.select import get_crypto_caller
-
logger = logging.getLogger('access_control')
DEFAULT_FILE_DESC = 'password/secret'