diff --git a/.env b/.env deleted file mode 100644 index 401346a..0000000 --- a/.env +++ /dev/null @@ -1,107 +0,0 @@ -{ - "generated_at_utc": "2026-05-05T06:33:27.816915+00:00", - "note": "ECS task env snapshot. Sensitive values are masked.", - "interesting_env": { - "USER_ID": "019dbda3-deaf-7181-8184-de07c1393757", - "SPACE_ID": "4a89cdfd58bb42bc83971d9d11290228", - "LAUNCH_TYPE": "EC2", - "SPACE_DIR": "/home/user/data/4a89cdfd58bb42bc83971d9d11290228", - "SPACE_DIR_V2": "/data/4a89cdfd58bb42bc83971d9d11290228", - "DATA_PATH": "/home/user/data", - "DATA_PATH_V2": "/data", - "INIT_WORKSPACE": "/workspace", - "INIT_SCRIPT": "sed -i \"/# pms-vendor-pythonpath/d;/export PYTHONPATH=\\\"/opt\\/vendor\\/python/d\" /home/${USER:-devuser}/.bashrc 2>/dev/null || true\nmkdir -p ${CONDA_PREFIX:-/opt/miniconda/envs/pms-py312}/etc/conda/activate.d 2>/dev/null\ncat > ${CONDA_PREFIX:-/opt/miniconda/envs/pms-py312}/etc/conda/activate.d/pms-vendor-pythonpath.sh << 'PYEOF'\nexport PYTHONPATH=\"/opt/vendor/python:/opt/vendor/mjlab/src:/opt/vendor/mujoco_warp:/opt/vendor/demos/humanoid_skateboarding/src:$PYTHONPATH\"\nPYEOF\nchmod +x ${CONDA_PREFIX:-/opt/miniconda/envs/pms-py312}/etc/conda/activate.d/pms-vendor-pythonpath.sh 2>/dev/null || true\n\n/workspace/autorun.sh", - "ENABLE_VNC": "true", - "ENABLE_CODE_SERVER": "true", - "ENABLE_FILEBROWSER": "false", - "ENABLE_TERMINAL": "true", - "ENABLE_ROSBRIDGE": "true", - "ENABLE_FOXGLOVE": "false", - "ENABLE_GZWEB": "true", - "VNC_NO_PASSWORD": "***MASKED***", - "CODE_NO_PASSWORD": "***MASKED***", - "FILEBROWSER_BASEURL": "/file", - "GZWEB_APP_DIR": "/opt/gzweb", - "GZWEB_PORT": "8000", - "ROS_DISTRO": "humble", - "ROS_DOMAIN_ID": "42", - "WORKSPACE": "/workspace", - "HOME": "/home/devuser", - "USER": "devuser" - }, - "all_env": { - "AWS_EXECUTION_ENV": "AWS_ECS_EC2", - "CODE_NO_PASSWORD": "***MASKED***", - "CUDA_VERSION": "12.8", - "DATA_PATH": "/home/user/data", - "DATA_PATH_V2": "/data", - "DEBIAN_FRONTEND": "noninteractive", - "DISPLAY": ":1", - "DISPLAY_BACKEND": "xorg", - "ECS_AGENT_URI": "http://169.254.170.2/api/cd8e26a5-d912-491e-8b83-c41a71d92362", - "ECS_CONTAINER_METADATA_URI": "http://169.254.170.2/v3/cd8e26a5-d912-491e-8b83-c41a71d92362", - "ECS_CONTAINER_METADATA_URI_V4": "http://169.254.170.2/v4/cd8e26a5-d912-491e-8b83-c41a71d92362", - "ENABLE_CODE_SERVER": "true", - "ENABLE_FILEBROWSER": "false", - "ENABLE_FOXGLOVE": "false", - "ENABLE_GZWEB": "true", - "ENABLE_NGINX_PROXY": "true", - "ENABLE_ROSBRIDGE": "true", - "ENABLE_SSH": "true", - "ENABLE_TERMINAL": "true", - "ENABLE_VNC": "true", - "FILEBROWSER_BASEURL": "/file", - "GPU_COUNT": "0", - "GZWEB_APP_DIR": "/opt/gzweb", - "GZWEB_PORT": "8000", - "GZWEB_VITE_PORT": "8000", - "GZ_SIM_CACHE_PATH": "/opt/gzsim/cache", - "GZ_SIM_RESOURCE_PATH": "/usr/share/gz/gz-sim7/models:/opt/gzsim/models", - "HOME": "/home/devuser", - "HOSTNAME": "ip-172-31-58-71.cn-northwest-1.compute.internal", - "INIT_SCRIPT": "sed -i \"/# pms-vendor-pythonpath/d;/export PYTHONPATH=\\\"/opt\\/vendor\\/python/d\" /home/${USER:-devuser}/.bashrc 2>/dev/null || true\nmkdir -p ${CONDA_PREFIX:-/opt/miniconda/envs/pms-py312}/etc/conda/activate.d 2>/dev/null\ncat > ${CONDA_PREFIX:-/opt/miniconda/envs/pms-py312}/etc/conda/activate.d/pms-vendor-pythonpath.sh << 'PYEOF'\nexport PYTHONPATH=\"/opt/vendor/python:/opt/vendor/mjlab/src:/opt/vendor/mujoco_warp:/opt/vendor/demos/humanoid_skateboarding/src:$PYTHONPATH\"\nPYEOF\nchmod +x ${CONDA_PREFIX:-/opt/miniconda/envs/pms-py312}/etc/conda/activate.d/pms-vendor-pythonpath.sh 2>/dev/null || true\n\n/workspace/autorun.sh", - "INIT_WORKSPACE": "/workspace", - "LANG": "en_US.UTF-8", - "LAUNCH_TYPE": "EC2", - "LC_ALL": "en_US.UTF-8", - "NODE_HOME": "/opt/node", - "NVIDIA_DRIVER_CAPABILITIES": "graphics,utility,compute,video", - "PASSWORD": "***MASKED***", - "PATH": "/opt/node/bin:/opt/venv/bin:/opt/foundation/bin:/opt/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", - "PGID": "1000", - "PMS_INGRESS_SCHEMA": "{\"l7\":{\"routes\":[{\"path\":\"/\",\"strip_prefix\":true,\"container_port\":8080},{\"path\":\"/code\",\"strip_prefix\":true,\"container_port\":8080},{\"path\":\"/file\",\"strip_prefix\":true,\"container_port\":8081},{\"path\":\"/vnc\",\"strip_prefix\":true,\"container_port\":6080},{\"path\":\"/websockify\",\"strip_prefix\":true,\"container_port\":6080},{\"path\":\"/webrtc\",\"strip_prefix\":true,\"container_port\":6080},{\"path\":\"/turn\",\"strip_prefix\":true,\"container_port\":6080},{\"path\":\"/publish/\",\"strip_prefix\":false,\"container_port\":6080},{\"path\":\"/sh\",\"strip_prefix\":true,\"container_port\":9422},{\"path\":\"/term\",\"strip_prefix\":true,\"container_port\":9422},{\"path\":\"/ws\",\"strip_prefix\":true,\"container_port\":9090},{\"path\":\"/foxglove\",\"strip_prefix\":true,\"container_port\":9002},{\"path\":\"/static\",\"strip_prefix\":false,\"container_port\":8000},{\"path\":\"/gzweb\",\"strip_prefix\":true,\"container_port\":8000},{\"path\":\"/viser\",\"strip_prefix\":true,\"container_port\":8082},{\"path\":\"/proxy\",\"strip_prefix\":true,\"container_port\":9876},{\"path\":\"/rerun.sdk_comms.v1alpha1.MessageProxyService/\",\"strip_prefix\":false,\"container_port\":9876}],\"enabled\":true,\"container_port\":8080}}", - "PMS_PORT_MAPPINGS": "[{\"name\":\"code-server\",\"protocol\":\"tcp\",\"container_port\":8080},{\"name\":\"filebrowser\",\"protocol\":\"tcp\",\"container_port\":8081},{\"name\":\"ttyd\",\"protocol\":\"tcp\",\"container_port\":9422},{\"name\":\"novnc\",\"protocol\":\"tcp\",\"container_port\":6080},{\"name\":\"turbovnc\",\"protocol\":\"tcp\",\"container_port\":5901},{\"name\":\"rosbridge\",\"protocol\":\"tcp\",\"container_port\":9090},{\"name\":\"foxglove-bridge\",\"protocol\":\"tcp\",\"container_port\":9002},{\"name\":\"statichtml\",\"protocol\":\"tcp\",\"container_port\":8000},{\"name\":\"viser-viewer\",\"protocol\":\"tcp\",\"container_port\":8082},{\"name\":\"rerun-grpc\",\"protocol\":\"tcp\",\"container_port\":9876},{\"name\":\"ssh\",\"protocol\":\"tcp\",\"container_port\":22}]", - "PREPARE_CLONE_ECR_URI": "833395216036.dkr.ecr.cn-northwest-1.amazonaws.com.cn/pms-foundation", - "PREPARE_CLONE_IMAGE_TAG": "prepare", - "PUID": "1000", - "PWD": "/workspace", - "PYTHON_VERSION": "3.11", - "ROS_DISTRO": "humble", - "ROS_DOMAIN_ID": "42", - "ROS_ROOT": "/opt/ros/humble", - "SELKIES_ENABLE_HTTPS": "false", - "SELKIES_ENCODER": "x264enc", - "SELKIES_PORT": "6080", - "SHLVL": "1", - "SNAPSHOT_PATH": "/workspace/.env", - "SPACE_DIR": "/home/user/data/4a89cdfd58bb42bc83971d9d11290228", - "SPACE_DIR_V2": "/data/4a89cdfd58bb42bc83971d9d11290228", - "SPACE_ID": "4a89cdfd58bb42bc83971d9d11290228", - "SSH_PUBLIC_KEY": "***MASKED***", - "STUN_HOST": "69.230.232.28", - "STUN_PORT": "3478", - "TURN_HOST": "69.230.232.28", - "TURN_PASSWORD": "***MASKED***", - "TURN_PORT": "3478", - "TURN_USERNAME": "admin", - "TZ": "Asia/Shanghai", - "USER": "devuser", - "USER_HOME": "/home/devuser", - "USER_ID": "019dbda3-deaf-7181-8184-de07c1393757", - "VIRTUAL_ENV": "/opt/venv", - "VNC_NO_PASSWORD": "***MASKED***", - "WORKSPACE": "/workspace", - "_": "/opt/venv/bin/python3", - "__GLX_VENDOR_LIBRARY_NAME": "nvidia" - } -} \ No newline at end of file diff --git a/cleanup_autorun.sh b/cleanup_autorun.sh deleted file mode 100644 index c7d19a4..0000000 --- a/cleanup_autorun.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -PATTERN='turtlebot3_office.launch.py|websocket.gzlaunch|robot_state_publisher|/ros_gz_bridge/bridge_node|rosapi_node|__node:=rosapi|__node:=rosapi_params|/ros_gz_sim/create' - -kill_by_pattern() { - local signal="$1" - local pids - pids="$(pgrep -f "$PATTERN" || true)" - - if [[ -z "$pids" ]]; then - echo "[cleanup] no matching processes for SIG${signal}" - return 0 - fi - - echo "[cleanup] sending SIG${signal} to pids: $(echo "$pids" | tr '\n' ' ')" - # shellcheck disable=SC2086 - kill -"${signal}" $pids 2>/dev/null || true -} - -kill_port_9002() { - local pids - pids="$(ss -ltnp 2>/dev/null | grep ':9002 ' | sed -E 's/.*pid=([0-9]+).*/\1/' | sort -u || true)" - - if [[ -z "$pids" ]]; then - echo "[cleanup] port 9002 is free" - return 0 - fi - - echo "[cleanup] killing port 9002 listeners: $pids" - # shellcheck disable=SC2086 - kill -9 $pids 2>/dev/null || true -} - -echo "[cleanup] start" -kill_by_pattern TERM -sleep 2 -kill_by_pattern KILL -kill_port_9002 -if command -v ros2 >/dev/null 2>&1; then - echo "[cleanup] restarting ros2 daemon to clear cached graph..." - ros2 daemon stop >/dev/null 2>&1 || true - ros2 daemon start >/dev/null 2>&1 || true - echo "[cleanup] remaining ROS2 nodes (--no-daemon):" - ros2 node list --no-daemon || true - echo "[cleanup] remaining ROS2 topics (--no-daemon):" - ros2 topic list --no-daemon || true -fi -echo "[cleanup] done"