mirror of
https://github.com/clearml/clearml-agent
synced 2025-06-25 17:45:51 +00:00
Add support for CLEARML_AGENT_DOCKER_ARGS_HIDE_ENV environment variable (see agent.hide_docker_command_env_vars
config option)
This commit is contained in:
parent
c6d767bd64
commit
d2f3614ab0
@ -137,7 +137,7 @@ from clearml_agent.helper.repo import clone_repository_cached, RepoInfo, VCS, fi
|
|||||||
from clearml_agent.helper.resource_monitor import ResourceMonitor
|
from clearml_agent.helper.resource_monitor import ResourceMonitor
|
||||||
from clearml_agent.helper.runtime_verification import check_runtime, print_uptime_properties
|
from clearml_agent.helper.runtime_verification import check_runtime, print_uptime_properties
|
||||||
from clearml_agent.helper.singleton import Singleton
|
from clearml_agent.helper.singleton import Singleton
|
||||||
from clearml_agent.helper.docker_agrs import DockerArgsSanitizer
|
from clearml_agent.helper.docker_args import DockerArgsSanitizer
|
||||||
from clearml_agent.session import Session
|
from clearml_agent.session import Session
|
||||||
from .events import Events
|
from .events import Events
|
||||||
|
|
||||||
|
@ -151,6 +151,7 @@ ENV_EXTRA_DOCKER_ARGS = EnvironmentConfig('CLEARML_AGENT_EXTRA_DOCKER_ARGS', typ
|
|||||||
ENV_DEBUG_INFO = EnvironmentConfig('CLEARML_AGENT_DEBUG_INFO')
|
ENV_DEBUG_INFO = EnvironmentConfig('CLEARML_AGENT_DEBUG_INFO')
|
||||||
ENV_CHILD_AGENTS_COUNT_CMD = EnvironmentConfig('CLEARML_AGENT_CHILD_AGENTS_COUNT_CMD')
|
ENV_CHILD_AGENTS_COUNT_CMD = EnvironmentConfig('CLEARML_AGENT_CHILD_AGENTS_COUNT_CMD')
|
||||||
ENV_DOCKER_ARGS_FILTERS = EnvironmentConfig('CLEARML_AGENT_DOCKER_ARGS_FILTERS')
|
ENV_DOCKER_ARGS_FILTERS = EnvironmentConfig('CLEARML_AGENT_DOCKER_ARGS_FILTERS')
|
||||||
|
ENV_DOCKER_ARGS_HIDE_ENV = EnvironmentConfig('CLEARML_AGENT_DOCKER_ARGS_HIDE_ENV')
|
||||||
|
|
||||||
ENV_CUSTOM_BUILD_SCRIPT = EnvironmentConfig('CLEARML_AGENT_CUSTOM_BUILD_SCRIPT')
|
ENV_CUSTOM_BUILD_SCRIPT = EnvironmentConfig('CLEARML_AGENT_CUSTOM_BUILD_SCRIPT')
|
||||||
"""
|
"""
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import re
|
import re
|
||||||
|
import shlex
|
||||||
from typing import Tuple, List, TYPE_CHECKING
|
from typing import Tuple, List, TYPE_CHECKING
|
||||||
from urllib.parse import urlunparse, urlparse
|
from urllib.parse import urlunparse, urlparse
|
||||||
|
|
||||||
@ -9,6 +10,7 @@ from clearml_agent.definitions import (
|
|||||||
ENV_AZURE_ACCOUNT_KEY,
|
ENV_AZURE_ACCOUNT_KEY,
|
||||||
ENV_AGENT_AUTH_TOKEN,
|
ENV_AGENT_AUTH_TOKEN,
|
||||||
ENV_DOCKER_IMAGE,
|
ENV_DOCKER_IMAGE,
|
||||||
|
ENV_DOCKER_ARGS_HIDE_ENV,
|
||||||
)
|
)
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
@ -21,10 +23,16 @@ class DockerArgsSanitizer:
|
|||||||
# type: (Session, List[str]) -> List[str]
|
# type: (Session, List[str]) -> List[str]
|
||||||
if not docker_command:
|
if not docker_command:
|
||||||
return docker_command
|
return docker_command
|
||||||
if not session.config.get('agent.hide_docker_command_env_vars.enabled', False):
|
|
||||||
|
enabled = (
|
||||||
|
session.config.get('agent.hide_docker_command_env_vars.enabled', False) or ENV_DOCKER_ARGS_HIDE_ENV.get()
|
||||||
|
)
|
||||||
|
if not enabled:
|
||||||
return docker_command
|
return docker_command
|
||||||
|
|
||||||
keys = set(session.config.get('agent.hide_docker_command_env_vars.extra_keys', []))
|
keys = set(session.config.get('agent.hide_docker_command_env_vars.extra_keys', []))
|
||||||
|
if ENV_DOCKER_ARGS_HIDE_ENV.get():
|
||||||
|
keys.update(shlex.split(ENV_DOCKER_ARGS_HIDE_ENV.get().strip()))
|
||||||
keys.update(
|
keys.update(
|
||||||
ENV_AGENT_GIT_PASS.vars,
|
ENV_AGENT_GIT_PASS.vars,
|
||||||
ENV_AGENT_SECRET_KEY.vars,
|
ENV_AGENT_SECRET_KEY.vars,
|
@ -19,7 +19,7 @@ from clearml_agent.definitions import ENVIRONMENT_CONFIG, ENV_TASK_EXECUTE_AS_US
|
|||||||
from clearml_agent.errors import APIError
|
from clearml_agent.errors import APIError
|
||||||
from clearml_agent.helper.base import HOCONEncoder
|
from clearml_agent.helper.base import HOCONEncoder
|
||||||
from clearml_agent.helper.process import Argv
|
from clearml_agent.helper.process import Argv
|
||||||
from clearml_agent.helper.docker_agrs import DockerArgsSanitizer
|
from clearml_agent.helper.docker_args import DockerArgsSanitizer
|
||||||
from .version import __version__
|
from .version import __version__
|
||||||
|
|
||||||
POETRY = "poetry"
|
POETRY = "poetry"
|
||||||
|
Loading…
Reference in New Issue
Block a user