Browse Source

perf: add compatibility for macOS environment

pull/13552/head
wangruidong 5 months ago committed by w940853815
parent
commit
4a49bde1f0
  1. 5
      Dockerfile-ee
  2. 4
      apps/common/utils/common.py
  3. 3
      apps/ops/ansible/runner.py

5
Dockerfile-ee

@ -39,8 +39,7 @@ ARG TOOLS=" \
nmap \
telnet \
vim \
wget \
bubblewrap"
wget"
ARG APT_MIRROR=http://mirrors.ustc.edu.cn
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=core \
@ -50,4 +49,4 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=core \
&& apt-get -y install --no-install-recommends ${TOOLS}
COPY --from=build-core /opt/py3 /opt/py3
COPY --from=build-xpack /opt/xpack /opt/jumpserver/apps/xpack
COPY --from=build-xpack /opt/xpack /opt/jumpserver/apps/xpack

4
apps/common/utils/common.py

@ -417,3 +417,7 @@ def distinct(seq, key=None):
seen.add(k)
result.append(item)
return result
def is_macos():
return platform.system() == 'Darwin'

3
apps/ops/ansible/runner.py

@ -5,6 +5,7 @@ import uuid
from django.conf import settings
from django.utils._os import safe_join
from common.utils import is_macos
from .callback import DefaultCallback
from .exception import CommandInBlackListException
from .interface import interface
@ -104,7 +105,7 @@ class PlaybookRunner:
shutil.rmtree(private_env)
kwargs = dict(kwargs)
if self.isolate:
if self.isolate and not is_macos:
kwargs['process_isolation'] = True
kwargs['process_isolation_executable'] = 'bwrap'

Loading…
Cancel
Save