Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/fabriziosalmi/proxmox-lxc-autoscale
/ types & classes
Types & classes
139 in github.com/fabriziosalmi/proxmox-lxc-autoscale
⨍
Functions
603
◇
Types & classes
139
↳
Endpoints
109
↓ 21 callers
Class
RESTBackend
Proxmox backend using the REST API via ``proxmoxer``.
lxc_autoscale/backends/api.py:21
↓ 20 callers
Class
AsyncSSHPool
Async-compatible SSH connection pool wrapping paramiko in threads. All I/O is delegated to ``asyncio.to_thread`` so the event loop never bloc
lxc_autoscale/ssh.py:53
↓ 17 callers
Class
DefaultsConfig
Top-level DEFAULT section of the YAML config.
lxc_autoscale/config.py:49
↓ 13 callers
Class
BoostManager
Manages temporary resource boosts with automatic revert. Args: state_file: path to JSON persistence file for active boosts.
lxc_autoscale/boost.py:40
↓ 6 callers
Class
HorizontalScalingGroup
Horizontal scaling group configuration.
lxc_autoscale/config.py:201
↓ 6 callers
Class
SSHConfig
SSH connection settings.
lxc_autoscale/config.py:29
↓ 4 callers
Class
TierConfig
Per-tier container scaling configuration.
lxc_autoscale/config.py:163
↓ 3 callers
Class
BoostRecord
Tracks an active boost for a single resource of a single container.
lxc_autoscale/boost.py:31
↓ 3 callers
Class
CLIBackend
Proxmox backend using ``pct`` CLI commands (async).
lxc_autoscale/backends/cli.py:25
↓ 2 callers
Class
CommandError
A subprocess or remote command failed.
lxc_autoscale/errors.py:13
↓ 2 callers
Class
ContainerStateCache
Thread-safe, evictable cache for per-container runtime state. Replaces the module-level dictionaries: _cgroup_path_cache, _prev_cpu_readings,
lxc_autoscale/state.py:16
↓ 2 callers
Class
SecretMaskingFilter
Logging filter that masks secret-looking strings in log messages.
lxc_autoscale/logging_setup.py:35
↓ 1 callers
Class
AppConfig
Top-level application configuration container.
lxc_autoscale/config.py:352
↓ 1 callers
Class
AutoScaleError
Base exception for all LXC AutoScale errors.
lxc_autoscale/errors.py:9
↓ 1 callers
Class
CgroupReadError
Failed to read cgroup metrics for a container.
lxc_autoscale/errors.py:38
↓ 1 callers
Class
CommandTimeout
A command exceeded its timeout.
lxc_autoscale/errors.py:22
↓ 1 callers
Class
ContainerNotFound
A container ID was not found or is invalid.
lxc_autoscale/errors.py:30
↓ 1 callers
Class
EmailNotification
lxc_autoscale/notification.py:86
↓ 1 callers
Class
FailingNotifier
tests/test_hardening.py:195
↓ 1 callers
Class
FakeNotifier
tests/test_hardening.py:181
↓ 1 callers
Class
GotifyNotification
lxc_autoscale/notification.py:69
↓ 1 callers
Class
ProxmoxAPIConfig
Proxmox REST API settings (optional backend).
lxc_autoscale/config.py:39
↓ 1 callers
Class
ProxmoxBackend
Abstract base for all Proxmox backend implementations.
lxc_autoscale/backends/base.py:7
↓ 1 callers
Class
RetryNotifier
tests/test_hardening.py:237
↓ 1 callers
Class
TrackedNotifier
tests/test_coverage_final.py:404
↓ 1 callers
Class
TrackingNotifier
tests/test_hardening.py:211
↓ 1 callers
Class
UptimeKumaNotification
lxc_autoscale/notification.py:111
Class
BackendError
An error in the Proxmox backend (CLI or API).
lxc_autoscale/errors.py:46
Class
ConfigurationError
Invalid or missing configuration.
lxc_autoscale/errors.py:50
Class
NotificationProxy
lxc_autoscale/notification.py:63
Class
TestAcquireLock
tests/test_lock_manager.py:13
Class
TestAdjustBoostMode
tests/test_boost.py:258
Class
TestAdjustResources
Test the main adjust_resources orchestration.
tests/test_scaling_full.py:16
Class
TestAsyncNotification
Test async dispatch.
tests/test_notification.py:70
Class
TestAsyncSSHPool
tests/test_ssh_pool.py:49
Class
TestBackupAndRollback
tests/test_lxc_utils.py:124
Class
TestBackupDedup
Test that backup_container_settings skips writes for unchanged data.
tests/test_hardening.py:256
Class
TestBackupSymlinkProtection
Backup operations must refuse to follow symlinks outside BACKUP_DIR.
tests/test_red_team.py:129
Class
TestBehaviourMultiplier
tests/test_scaling_manager.py:28
Class
TestBoostLifecycle
tests/test_boost.py:109
Class
TestBoostRecord
tests/test_boost.py:27
Class
TestBuildHostKeyPolicy
tests/test_ssh_pool.py:25
Class
TestCLIBackend
Test CLI backend with mocked async subprocess.
tests/test_backends.py:35
Class
TestCLIBackendEdgeCases
tests/test_backend_factory.py:35
Class
TestCalculateDecrement
tests/test_scaling.py:43
Class
TestCalculateIncrement
tests/test_scaling.py:19
Class
TestCgroupCPU
tests/test_lxc_utils.py:269
Class
TestCgroupMemory
Test host-side cgroup memory reading.
tests/test_hardening.py:502
Class
TestCgroupV1Fallback
tests/test_coverage_final.py:231
Class
TestCollectContainerData
tests/test_resource_manager.py:62
Class
TestCollectDataForContainer
tests/test_resource_manager.py:17
Class
TestComputeBoost
tests/test_boost.py:71
Class
TestConfigPermissionWarning
Config file with world-readable permissions should warn.
tests/test_security.py:113
Class
TestContainerIdValidation
Container IDs that contain shell metacharacters must be rejected.
tests/test_security.py:17
Class
TestContainerStateCache
tests/test_state_and_errors.py:71
Class
TestCoreCountCache
Test that core counts are cached and reused.
tests/test_hardening.py:473
Class
TestCpuDeltaComputation
tests/test_coverage_boost.py:242
Class
TestCpuPinningLocalUpdate
tests/test_coverage_final.py:195
Class
TestCpuPinningNativeIO
Test CPU pinning uses native file I/O in local mode (no sh -c).
tests/test_hardening.py:385
Class
TestCpuPinningRemote
tests/test_coverage_boost.py:174
Class
TestCpuTopology
tests/test_lxc_utils.py:212
Class
TestCreateBackend
tests/test_backend_factory.py:15
Class
TestDefaultsConfig
Test DefaultsConfig Pydantic model.
tests/test_config.py:16
Class
TestDynamicThresholds
tests/test_scaling_manager.py:50
Class
TestEmailNotifier
tests/test_coverage_final.py:369
Class
TestEntryPoint
tests/test_coverage_boost.py:276
Class
TestEnvVarExpansion
Test ${ENV_VAR} and ${ENV_VAR:-default} expansion in YAML values.
tests/test_hardening.py:29
Class
TestEvictStaleCaches
tests/test_coverage_boost.py:18
Class
TestEviction
tests/test_boost.py:242
Class
TestExceptionHierarchy
tests/test_state_and_errors.py:22
Class
TestFilePermissions
Backup and log files must be created with restrictive permissions.
tests/test_red_team.py:179
Class
TestFireAndForget
tests/test_coverage_boost.py:459
Class
TestFullBackoffCycle
tests/test_coverage_final.py:397
Class
TestGetContainerData
tests/test_coverage_boost.py:117
Class
TestGetContainers
tests/test_lxc_utils.py:69
Class
TestGetCpuUsage
tests/test_lxc_utils.py:288
Class
TestGetStateCacheSingleton
tests/test_state_and_errors.py:145
Class
TestGotifyNotifier
tests/test_notification.py:79
Class
TestGroupMetrics
tests/test_scaling_manager.py:63
Class
TestHorizontalGroupCtidValidation
Container IDs in horizontal scaling groups must be numeric.
tests/test_red_team.py:53
Class
TestHorizontalScalingNetwork
tests/test_coverage_final.py:280
Class
TestHostResources
tests/test_lxc_utils.py:182
Class
TestHostnameSanitisation
Cloned hostnames must be RFC-1123 safe.
tests/test_security.py:32
Class
TestIsContainerRunning
tests/test_lxc_utils.py:99
Class
TestIsOffPeak
Test timezone-aware off-peak detection.
tests/test_scaling.py:57
Class
TestJsonLogRotation
Test JSON log file rotation when size limit is exceeded.
tests/test_hardening.py:302
Class
TestJsonLogRotationEdgeCases
tests/test_coverage_boost.py:50
Class
TestLoadConfig
Test full YAML config loading.
tests/test_config.py:131
Class
TestLogJsonEvent
tests/test_lxc_utils.py:161
Class
TestLogScalingEvent
tests/test_scaling_manager.py:172
Class
TestMainBlock
tests/test_coverage_final.py:29
Class
TestMainLoop
tests/test_coverage_final.py:318
Class
TestManageHorizontalScaling
tests/test_scaling_full.py:161
Class
TestMemoryFallback
tests/test_coverage_boost.py:153
Class
TestNameGeneration
tests/test_lxc_utils.py:300
Class
TestNegativeCgroupCache
tests/test_coverage_boost.py:89
Class
TestNotificationBackoff
Test that failing notifiers get suppressed after consecutive failures.
tests/test_hardening.py:168
Class
TestNotificationSessionSecurity
tests/test_coverage_boost.py:428
Class
TestNotifierInit
Test notifier initialization from DEFAULTS.
tests/test_notification.py:31
Class
TestNowTz
tests/test_scaling_manager.py:196
next →
1–100 of 139, ranked by callers