Moved everything to one folder

This commit is contained in:
2026-02-26 17:34:00 +01:00
parent 147dd9a3ed
commit 7a30a31a38
13 changed files with 36 additions and 63 deletions

4
.gitignore vendored
View File

@@ -1,2 +1,2 @@
cont/code/__pycache__ cont/__pycache__
cont/code/venv cont/venv

View File

@@ -8,11 +8,15 @@ FROM alpine:latest
RUN apk update && \ RUN apk update && \
apk add python3 py3-pip su-exec curl && \ apk add python3 py3-pip su-exec curl && \
mkdir -p /app/snmpython/ mkdir -p /app/snmpython/ && \
mkdir -p /app/snmpython/MIBs
WORKDIR /app/snmpython/ 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 # COPY ./entrypoint.sh /entrypoint.sh
# RUN chmod +x /entrypoint.sh # RUN chmod +x /entrypoint.sh
@@ -37,4 +41,4 @@ RUN python3 -m venv venv && \
# HEALTHCHECK --interval=3s --timeout=3s --retries=3 \ # HEALTHCHECK --interval=3s --timeout=3s --retries=3 \
# CMD curl --fail http://127.0.0.1:8181/health || exit 1 # CMD curl --fail http://127.0.0.1:8181/health || exit 1
CMD ["/app/snmpython/someMain.py"] CMD ["/app/snmpython/main.py"]

View File

@@ -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

View File

@@ -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

View File

@@ -12,51 +12,16 @@ SNMPUSER: Final[str] = os.getenv("SNMPUSER", None)
SNMPPRIVKEY: Final[str] = os.getenv("SNMPPRIVKEY", None) SNMPPRIVKEY: Final[str] = os.getenv("SNMPPRIVKEY", None)
SNMPAUTHKEY: Final[str] = os.getenv("SNMPAUTHKEY", None) SNMPAUTHKEY: Final[str] = os.getenv("SNMPAUTHKEY", None)
SNMPAUTHPROTO: Final[str] = os.getenv("SNMPAUTHPROTO", "SHA") # Right now I'll only use SHA
SNMPPRIVPROTO: Final[str] = os.getenv("SNMPPRIVPROTO", "SHA") # SNMPAUTHPROTO: Final[str] = os.getenv("SNMPAUTHPROTO", "SHA")
# SNMPPRIVPROTO: Final[str] = os.getenv("SNMPPRIVPROTO", "SHA")
SNMPORT: Final[int] = os.getenv("SNMPORT", 161) SNMPORT: Final[int] = os.getenv("SNMPORT", 161)
# Flightchecks------------------------------------------- # Flightchecks-------------------------------------------
# Check if SNMP ENV are empty
if SNMPAUTHPROTO and SNMPPRIVPROTO == "SHA": if not SNMPUSER or not SNMPPRIVKEY or not SNMPAUTHKEY:
USMDATA = UsmUserData( raise Exception("No SNMP user or/and PrivAuth passed")
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 some neccesary ENVs are passed # Check if some neccesary ENVs are passed
if not USEINFLUX and not USESQL: if not USEINFLUX and not USESQL:
raise Exception("No database selected to store the data") raise Exception("No database selected to store the data")
@@ -80,6 +45,9 @@ for host in HOST_LIST:
import asyncio import asyncio
from pysnmp.hlapi.v3arch.asyncio import * from pysnmp.hlapi.v3arch.asyncio import *
# Helper functions
def wattageCalc(amperageInp: float, voltageInp: float) -> float:
return amperageInp * voltageInp
async def poolRemote(remoteIP: str): async def poolRemote(remoteIP: str):
snmpEngine = SnmpEngine() snmpEngine = SnmpEngine()