72 lines
2.0 KiB
Python
72 lines
2.0 KiB
Python
import json
|
|
import os
|
|
|
|
TEST_SERVER_MODE = os.environ.get("TEST_SERVER_MODE", "0").lower() == "true"
|
|
INITIAL_NO_AUTH_ACTION_COUNT = float(
|
|
os.environ.get("INITIAL_NO_AUTH_ACTION_COUNT", float("inf"))
|
|
)
|
|
DEFAULT_CONTAINER_REGISTRY = os.environ.get("DEFAULT_CONTAINER_REGISTRY", "docker.io")
|
|
|
|
S3_IGNORE_SUBDOMAIN_BUCKETNAME = os.environ.get(
|
|
"S3_IGNORE_SUBDOMAIN_BUCKETNAME", ""
|
|
) in ["1", "true"]
|
|
|
|
# How many seconds to wait before we "validate" a new certificate in ACM.
|
|
ACM_VALIDATION_WAIT = int(os.environ.get("MOTO_ACM_VALIDATION_WAIT", "60"))
|
|
|
|
|
|
def get_sf_execution_history_type():
|
|
"""
|
|
Determines which execution history events `get_execution_history` returns
|
|
:returns: str representing the type of Step Function Execution Type events should be
|
|
returned. Default value is SUCCESS, currently supports (SUCCESS || FAILURE)
|
|
"""
|
|
return os.environ.get("SF_EXECUTION_HISTORY_TYPE", "SUCCESS")
|
|
|
|
|
|
S3_UPLOAD_PART_MIN_SIZE = 5242880
|
|
|
|
|
|
def get_s3_default_key_buffer_size():
|
|
return int(
|
|
os.environ.get(
|
|
"MOTO_S3_DEFAULT_KEY_BUFFER_SIZE", S3_UPLOAD_PART_MIN_SIZE - 1024
|
|
)
|
|
)
|
|
|
|
|
|
def ecs_new_arn_format():
|
|
return os.environ.get("MOTO_ECS_NEW_ARN", "false").lower() == "true"
|
|
|
|
|
|
def moto_server_port():
|
|
return os.environ.get("MOTO_SERVER_PORT") or "5000"
|
|
|
|
|
|
def moto_server_host():
|
|
_port = moto_server_port()
|
|
if is_docker():
|
|
host = get_docker_host()
|
|
else:
|
|
host = "http://host.docker.internal"
|
|
return f"{host}:{_port}"
|
|
|
|
|
|
def is_docker():
|
|
path = "/proc/self/cgroup"
|
|
return (
|
|
os.path.exists("/.dockerenv")
|
|
or os.path.isfile(path)
|
|
and any("docker" in line for line in open(path))
|
|
)
|
|
|
|
|
|
def get_docker_host():
|
|
try:
|
|
cmd = "curl -s --unix-socket /run/docker.sock http://docker/containers/$HOSTNAME/json"
|
|
container_info = os.popen(cmd).read()
|
|
_ip = json.loads(container_info)["NetworkSettings"]["IPAddress"]
|
|
return f"http://{_ip}"
|
|
except: # noqa
|
|
return "http://host.docker.internal"
|