From 58cae670c55c564facf79b49225e20e77c112d2a Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 10 Jun 2026 13:41:57 +0900 Subject: [PATCH] Sync data folder contents --- .dockerignore | 6 ++++++ .gitignore | 17 ++++++----------- data/scripts/User_Clear.sh | 2 +- .../core/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 228 bytes .../core/__pycache__/__init__.cpython-314.pyc | Bin 0 -> 265 bytes .../__pycache__/idrac_client.cpython-312.pyc | Bin 0 -> 5841 bytes .../core/__pycache__/parsers.cpython-312.pyc | Bin 0 -> 11281 bytes .../core/__pycache__/parsers.cpython-314.pyc | Bin 0 -> 12744 bytes .../collect_server_info.cpython-312.pyc | Bin 0 -> 9833 bytes .../__pycache__/system_control.cpython-313.pyc | Bin 0 -> 10889 bytes 10 files changed, 13 insertions(+), 12 deletions(-) create mode 100644 data/scripts/core/__pycache__/__init__.cpython-312.pyc create mode 100644 data/scripts/core/__pycache__/__init__.cpython-314.pyc create mode 100644 data/scripts/core/__pycache__/idrac_client.cpython-312.pyc create mode 100644 data/scripts/core/__pycache__/parsers.cpython-312.pyc create mode 100644 data/scripts/core/__pycache__/parsers.cpython-314.pyc create mode 100644 data/scripts/unified/__pycache__/collect_server_info.cpython-312.pyc create mode 100644 data/scripts/unified/__pycache__/system_control.cpython-313.pyc diff --git a/.dockerignore b/.dockerignore index 8662a7b..4deaadb 100644 --- a/.dockerignore +++ b/.dockerignore @@ -25,3 +25,9 @@ backend/instance/ !data/**/*.XLSM !data/**/*.xlsx sam.txt + +# The Docker image intentionally includes committed data contents. Keep local +# env files out of the build context because they may contain credentials. +!data/ +!data/** +data/**/.env diff --git a/.gitignore b/.gitignore index 40c3ac5..a738bb1 100644 --- a/.gitignore +++ b/.gitignore @@ -9,19 +9,14 @@ backend/instance/*.db *.sqlite *.sqlite3 -data/temp/ -data/system/archive/ -data/system/backup/ -data/system/logs/ -data/system/mac_backup/ -data/repository/ -!data/repository/ -!data/repository/xml/ -!data/repository/xml/** -data/nfs/ - .pytest_cache/ .coverage htmlcov/ *.log + +# The Docker image bundles data contents. Keep data files visible to Git, but +# never commit local env files that may contain credentials. +!data/ +!data/** +data/**/.env diff --git a/data/scripts/User_Clear.sh b/data/scripts/User_Clear.sh index cd75173..feccc67 100644 --- a/data/scripts/User_Clear.sh +++ b/data/scripts/User_Clear.sh @@ -26,7 +26,7 @@ fetch_idrac_info() { local IDRAC_IP=$(cat $IP_FILE) # DellEMC Server - local set=$(racadm -r $IDRAC_IP -u $IDRAC_USER -p $IDRAC_PASS iDRAC.Users.3.UserName "") + local set=$(racadm -r $IDRAC_IP -u $IDRAC_USER -p $IDRAC_PASS iDRAC.Users.3.UserName "") rm -f $IP_FILE } diff --git a/data/scripts/core/__pycache__/__init__.cpython-312.pyc b/data/scripts/core/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..36d80c7b46ee0ba5e79ec6617e3f9a3eb18d77c4 GIT binary patch literal 228 zcmX@j%ge<81eRJqGM$0+V-N=h7@>^MJV3^Dh7^V>A zRd_vj&zrehUhn96J%7#XWos1P_N;i@wB*h52CgbrLp=jM13yisTkP@iDf!9q@wd3+ zgoIX*KlEg!-!PAu*uC&Da}c>D`E#~2f4FY5J-GrW@Kdi$i&3R@_~(kU#yY4h!rRb02stZ AY5)KL literal 0 HcmV?d00001 diff --git a/data/scripts/core/__pycache__/__init__.cpython-314.pyc b/data/scripts/core/__pycache__/__init__.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..07b5880122134828f9e9ae99f0931ff46a6226c9 GIT binary patch literal 265 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⋘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 tWieqD!E4bfy_RhEN$u{qVmBb%r$m(DOf;pcx