From 7a30a31a38155a64e0595867f9bfc48589987ce7 Mon Sep 17 00:00:00 2001 From: YuruC3 Date: Thu, 26 Feb 2026 17:34:00 +0100 Subject: [PATCH] Moved everything to one folder --- .gitignore | 4 +-- cont/{conf => }/Dockerfile | 10 ++++-- cont/{code => }/MIBs/iDRAC-SMIv1.mib | 0 cont/{code => }/MIBs/iDRAC-SMIv2.mib | 0 cont/{conf => }/build.sh | 0 cont/{code => }/classes.py | 0 cont/conf/docker-compose.dev.yaml | 16 --------- cont/{conf => }/contLogs.sh | 0 cont/docker-compose.dev.yaml | 17 +++++++++ cont/{conf => }/entrypoint.sh | 0 cont/{code => }/funct.py | 0 cont/{code => }/main.py | 52 ++++++---------------------- cont/{conf => }/requirements.txt | 0 13 files changed, 36 insertions(+), 63 deletions(-) rename cont/{conf => }/Dockerfile (77%) rename cont/{code => }/MIBs/iDRAC-SMIv1.mib (100%) rename cont/{code => }/MIBs/iDRAC-SMIv2.mib (100%) rename cont/{conf => }/build.sh (100%) rename cont/{code => }/classes.py (100%) delete mode 100644 cont/conf/docker-compose.dev.yaml rename cont/{conf => }/contLogs.sh (100%) create mode 100644 cont/docker-compose.dev.yaml rename cont/{conf => }/entrypoint.sh (100%) rename cont/{code => }/funct.py (100%) rename cont/{code => }/main.py (67%) rename cont/{conf => }/requirements.txt (100%) diff --git a/.gitignore b/.gitignore index de6fe7d..34bc474 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -cont/code/__pycache__ -cont/code/venv \ No newline at end of file +cont/__pycache__ +cont/venv \ No newline at end of file diff --git a/cont/conf/Dockerfile b/cont/Dockerfile similarity index 77% rename from cont/conf/Dockerfile rename to cont/Dockerfile index 1d135ba..52cdbc2 100644 --- a/cont/conf/Dockerfile +++ b/cont/Dockerfile @@ -8,11 +8,15 @@ FROM alpine:latest RUN apk update && \ apk add python3 py3-pip su-exec curl && \ - mkdir -p /app/snmpython/ + mkdir -p /app/snmpython/ && \ + mkdir -p /app/snmpython/MIBs WORKDIR /app/snmpython/ -COPY ../code/someMain.py /app/snmpython/ +COPY ../code/main.py /app/snmpython/ +COPY ../code/funct.py /app/snmpython/ +COPY ../code/classes.py /app/snmpython/ +# COPY ../code/MIBs/ /app/snmpython/MIBs # COPY ./entrypoint.sh /entrypoint.sh # RUN chmod +x /entrypoint.sh @@ -37,4 +41,4 @@ RUN python3 -m venv venv && \ # HEALTHCHECK --interval=3s --timeout=3s --retries=3 \ # CMD curl --fail http://127.0.0.1:8181/health || exit 1 -CMD ["/app/snmpython/someMain.py"] +CMD ["/app/snmpython/main.py"] diff --git a/cont/code/MIBs/iDRAC-SMIv1.mib b/cont/MIBs/iDRAC-SMIv1.mib similarity index 100% rename from cont/code/MIBs/iDRAC-SMIv1.mib rename to cont/MIBs/iDRAC-SMIv1.mib diff --git a/cont/code/MIBs/iDRAC-SMIv2.mib b/cont/MIBs/iDRAC-SMIv2.mib similarity index 100% rename from cont/code/MIBs/iDRAC-SMIv2.mib rename to cont/MIBs/iDRAC-SMIv2.mib diff --git a/cont/conf/build.sh b/cont/build.sh similarity index 100% rename from cont/conf/build.sh rename to cont/build.sh diff --git a/cont/code/classes.py b/cont/classes.py similarity index 100% rename from cont/code/classes.py rename to cont/classes.py diff --git a/cont/conf/docker-compose.dev.yaml b/cont/conf/docker-compose.dev.yaml deleted file mode 100644 index a3e1192..0000000 --- a/cont/conf/docker-compose.dev.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- - -services: - mdfanchanger: - container_name: snmpython-dev - user: 1600:1600 - image: shupotea/yuruc3/snmpython:dev - build: - dockerfile: ./Dockerfile - environment: - - INFLUXTOKEN: "12345678" - - INFLUXHOST: "" - - - - HOST_LIST: ["192.168.0.1", "192.168.0.1", "192.168.0.1", "192.168.0.1"] - restart: unless-stopped diff --git a/cont/conf/contLogs.sh b/cont/contLogs.sh similarity index 100% rename from cont/conf/contLogs.sh rename to cont/contLogs.sh diff --git a/cont/docker-compose.dev.yaml b/cont/docker-compose.dev.yaml new file mode 100644 index 0000000..0ca5fa4 --- /dev/null +++ b/cont/docker-compose.dev.yaml @@ -0,0 +1,17 @@ +--- + +services: + mdfanchanger: + container_name: snmpython-dev + user: 1600:1600 + image: shupotea/yuruc3/snmpython:dev + build: + dockerfile: ./Dockerfile + environment: + - INFLUXTOKEN=12345678 + - INFLUXHOST=123 + + - HOST_LIST="["192.168.0.1", "192.168.0.1", "192.168.0.1", "192.168.0.1"]" + # restart: unless-stopped + restart: never + diff --git a/cont/conf/entrypoint.sh b/cont/entrypoint.sh similarity index 100% rename from cont/conf/entrypoint.sh rename to cont/entrypoint.sh diff --git a/cont/code/funct.py b/cont/funct.py similarity index 100% rename from cont/code/funct.py rename to cont/funct.py diff --git a/cont/code/main.py b/cont/main.py similarity index 67% rename from cont/code/main.py rename to cont/main.py index 4386077..a776e70 100644 --- a/cont/code/main.py +++ b/cont/main.py @@ -12,51 +12,16 @@ SNMPUSER: Final[str] = os.getenv("SNMPUSER", None) SNMPPRIVKEY: Final[str] = os.getenv("SNMPPRIVKEY", None) SNMPAUTHKEY: Final[str] = os.getenv("SNMPAUTHKEY", None) -SNMPAUTHPROTO: Final[str] = os.getenv("SNMPAUTHPROTO", "SHA") -SNMPPRIVPROTO: Final[str] = os.getenv("SNMPPRIVPROTO", "SHA") +# Right now I'll only use SHA +# SNMPAUTHPROTO: Final[str] = os.getenv("SNMPAUTHPROTO", "SHA") +# SNMPPRIVPROTO: Final[str] = os.getenv("SNMPPRIVPROTO", "SHA") SNMPORT: Final[int] = os.getenv("SNMPORT", 161) # Flightchecks------------------------------------------- - -if SNMPAUTHPROTO and SNMPPRIVPROTO == "SHA": - USMDATA = UsmUserData( - userName=SNMPUSER, - authKey=SNMPPRIVKEY, - privKey=SNMPAUTHKEY, - authProtocol=usmHMACSHAAuthProtocol, - privProtocol=usmHMACSHAAuthProtocol, - ) -elif SNMPAUTHPROTO and SNMPPRIVPROTO == "AES128": - USMDATA = UsmUserData( - userName=SNMPUSER, - authKey=SNMPPRIVKEY, - privKey=SNMPAUTHKEY, - authProtocol=usmAesCfb128Protocol, - privProtocol=usmAesCfb128Protocol, - ) -elif SNMPAUTHPROTO == "SHA" and SNMPPRIVPROTO == "AES128": - USMDATA = UsmUserData( - userName=SNMPUSER, - authKey=SNMPPRIVKEY, - privKey=SNMPAUTHKEY, - authProtocol=usmHMACSHAAuthProtocol, - privProtocol=usmAesCfb128Protocol, - ) -elif SNMPAUTHPROTO == "AES128" and SNMPPRIVPROTO == "SHA": - USMDATA = UsmUserData( - userName=SNMPUSER, - authKey=SNMPPRIVKEY, - privKey=SNMPAUTHKEY, - authProtocol=usmAesCfb128Protocol, - privProtocol=usmHMACSHAAuthProtocol, - ) -else: - raise Exception(f"No PrivAuth option like {SNMPPRIVPROTO}") - -# Helper functions -def wattageCalc(amperageInp: float, voltageInp: float) -> float: - return amperageInp * voltageInp - +# Check if SNMP ENV are empty +if not SNMPUSER or not SNMPPRIVKEY or not SNMPAUTHKEY: + raise Exception("No SNMP user or/and PrivAuth passed") + # Check if some neccesary ENVs are passed if not USEINFLUX and not USESQL: raise Exception("No database selected to store the data") @@ -80,6 +45,9 @@ for host in HOST_LIST: import asyncio from pysnmp.hlapi.v3arch.asyncio import * +# Helper functions +def wattageCalc(amperageInp: float, voltageInp: float) -> float: + return amperageInp * voltageInp async def poolRemote(remoteIP: str): snmpEngine = SnmpEngine() diff --git a/cont/conf/requirements.txt b/cont/requirements.txt similarity index 100% rename from cont/conf/requirements.txt rename to cont/requirements.txt