First Commit

This commit is contained in:
panjunlan
2026-02-18 11:41:03 +08:00
commit 55719ed953
5 changed files with 114 additions and 0 deletions

33
config/settings.py Normal file
View File

@@ -0,0 +1,33 @@
import os
from datetime import datetime, timedelta
from dotenv import load_dotenv
# 加载.env文件
load_dotenv()
# ========== 基础配置 ==========
# vCenter配置
VCENTER_HOSTS = os.getenv('VCENTER_HOSTS', '').split(',')
VCENTER_USER = os.getenv('VCENTER_USER', '')
VCENTER_PASSWORD = os.getenv('VCENTER_PASSWORD', '')
# 快照策略配置
SNAPSHOT_RETENTION_DAYS = int(os.getenv('SNAPSHOT_RETENTION_DAYS', 15))
MAX_DELETE_CONCURRENT = int(os.getenv('MAX_DELETE_CONCURRENT', 4))
# 输出路径配置
EXCEL_OUTPUT_PATH = os.getenv('EXCEL_OUTPUT_PATH', '/tmp/vm_snapshots_report.xlsx')
LOG_FILE_PATH = os.getenv('LOG_FILE_PATH', '/var/log/vm_snapshot_cleanup.log')
# 计算快照过期时间(全局变量)
EXPIRE_DATE = datetime.now() - timedelta(days=SNAPSHOT_RETENTION_DAYS)
# 验证必要配置
def validate_config():
"""验证配置是否完整"""
required = [
VCENTER_HOSTS, VCENTER_USER, VCENTER_PASSWORD,
SNAPSHOT_RETENTION_DAYS, MAX_DELETE_CONCURRENT
]
if not all(required) or '' in VCENTER_HOSTS:
raise ValueError("配置不完整,请检查.env文件中的vCenter信息和策略配置")