golem-vm-provider 0.1.48__py3-none-any.whl → 0.1.49__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {golem_vm_provider-0.1.48.dist-info → golem_vm_provider-0.1.49.dist-info}/METADATA +4 -4
- {golem_vm_provider-0.1.48.dist-info → golem_vm_provider-0.1.49.dist-info}/RECORD +6 -6
- provider/config.py +3 -3
- provider/payments/monitor.py +4 -0
- {golem_vm_provider-0.1.48.dist-info → golem_vm_provider-0.1.49.dist-info}/WHEEL +0 -0
- {golem_vm_provider-0.1.48.dist-info → golem_vm_provider-0.1.49.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: golem-vm-provider
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.49
|
4
4
|
Summary: VM on Golem Provider Node - Run your own provider node to offer VMs on the Golem Network
|
5
5
|
Keywords: golem,vm,provider,cloud,decentralized
|
6
6
|
Author: Phillip Jensen
|
@@ -247,9 +247,9 @@ Enable on‑chain stream‑gated rentals funded in native ETH. By default, the p
|
|
247
247
|
|
248
248
|
Optional background automation (all disabled by default):
|
249
249
|
|
250
|
-
- `STREAM_MIN_REMAINING_SECONDS` — minimum remaining runway to keep a VM running (default
|
251
|
-
- `STREAM_MONITOR_ENABLED` — stop VMs when remaining runway < threshold (default
|
252
|
-
- `STREAM_MONITOR_INTERVAL_SECONDS` — how frequently to check runway (default
|
250
|
+
- `STREAM_MIN_REMAINING_SECONDS` — minimum remaining runway to keep a VM running (default 0)
|
251
|
+
- `STREAM_MONITOR_ENABLED` — stop VMs when remaining runway < threshold (default true)
|
252
|
+
- `STREAM_MONITOR_INTERVAL_SECONDS` — how frequently to check runway (default 30)
|
253
253
|
- `STREAM_WITHDRAW_ENABLED` — periodically withdraw vested funds (default false)
|
254
254
|
- `STREAM_WITHDRAW_INTERVAL_SECONDS` — how often to attempt withdrawals (default 1800)
|
255
255
|
- `STREAM_MIN_WITHDRAW_WEI` — only withdraw when >= this amount (gas‑aware)
|
@@ -2,7 +2,7 @@ provider/__init__.py,sha256=HO1fkPpZqPO3z8O8-eVIyx8xXSMIVuTR_b1YF0RtXOg,45
|
|
2
2
|
provider/api/__init__.py,sha256=ssX1ugDqEPt8Fn04IymgmG-Ev8PiXLsCSaiZVvHQnec,344
|
3
3
|
provider/api/models.py,sha256=CmfgXqSH3m0HLqY6JvUFI-2IrdGf3EhNKtZ5kbIAX-U,4304
|
4
4
|
provider/api/routes.py,sha256=RaOhdUZLJVmCHFWHyhYF9kdBmsFSe5rThIYsW6meMrQ,13194
|
5
|
-
provider/config.py,sha256=
|
5
|
+
provider/config.py,sha256=GsrhbZYvMla1WWSHUg6q4wn0_SK3zgSPtlWGve_H2e8,24932
|
6
6
|
provider/container.py,sha256=81x5LiA-qjYN1Uh_JdOxqvuIXiNDr9X3OXNN0VqYFCI,3681
|
7
7
|
provider/data/deployments/l2.json,sha256=XTNN2C5LkBfp4YbDKdUKfWMdp1fKnfv8D3TgcwVWxtQ,249
|
8
8
|
provider/discovery/__init__.py,sha256=Y6o8RxGevBpuQS3k32y-zSVbP6HBXG3veBl9ElVPKaU,349
|
@@ -16,7 +16,7 @@ provider/discovery/service.py,sha256=vX_mVSxvn3arnb2cKDM_SeJp1ZgPdImP2aUubeXgdRg
|
|
16
16
|
provider/main.py,sha256=RSq2_dbBjQYkNwohxuwgzKbnzcqzEgJH1wcPMMf00t0,18925
|
17
17
|
provider/network/port_verifier.py,sha256=3l6WNwBHydggJRFYkAsuBp1eCxaU619kjWuM-zSVj2o,13267
|
18
18
|
provider/payments/blockchain_service.py,sha256=4GrzDKwCSUVoENqjD4RLyJ0qwBOJKMyVk5Li-XNsyTc,3567
|
19
|
-
provider/payments/monitor.py,sha256=
|
19
|
+
provider/payments/monitor.py,sha256=76ab-86UzFzWOkf9UtKE4B3Rz9-LRVjRrUJOHEKnwFA,4055
|
20
20
|
provider/payments/stream_map.py,sha256=qk6Y8hS72DplAifZ0ZMWPHBAyc_3IWIQyWUBuCU3_To,1191
|
21
21
|
provider/security/ethereum.py,sha256=EwPZj4JR8OEpto6LhKjuuT3Z9pBX6P7-UQaqJtqFkYQ,1242
|
22
22
|
provider/security/faucet.py,sha256=8T4lW1fVQgUk8EQILgbrr9UUosw9e7eA40tlZ2_KCPQ,4368
|
@@ -38,7 +38,7 @@ provider/vm/port_manager.py,sha256=iYSwjTjD_ziOhG8aI7juKHw1OwwRUTJQyQoRUNQvz9w,1
|
|
38
38
|
provider/vm/provider.py,sha256=A7QN89EJjcSS40_SmKeinG1Jp_NGffJaLse-XdKciAs,1164
|
39
39
|
provider/vm/proxy_manager.py,sha256=n4NTsyz2rtrvjtf_ceKBk-g2q_mzqPwruB1q7UlQVBc,14928
|
40
40
|
provider/vm/service.py,sha256=Ki4SGNIZUq3XmaPMwAOoNzdZzKQsmFXid374wgjFPes,4636
|
41
|
-
golem_vm_provider-0.1.
|
42
|
-
golem_vm_provider-0.1.
|
43
|
-
golem_vm_provider-0.1.
|
44
|
-
golem_vm_provider-0.1.
|
41
|
+
golem_vm_provider-0.1.49.dist-info/METADATA,sha256=4-pM4zumZUj7ZfXOiWO2s-lC4BsquHGFdETQfFkyPTQ,16585
|
42
|
+
golem_vm_provider-0.1.49.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
43
|
+
golem_vm_provider-0.1.49.dist-info/entry_points.txt,sha256=5Jiie1dIXygmxmDW66bKKxQpmBLJ7leSKRrb8bkQALw,52
|
44
|
+
golem_vm_provider-0.1.49.dist-info/RECORD,,
|
provider/config.py
CHANGED
@@ -150,11 +150,11 @@ class Settings(BaseSettings):
|
|
150
150
|
description="Token address (0x0 means native ETH). Defaults from l2.json"
|
151
151
|
)
|
152
152
|
STREAM_MIN_REMAINING_SECONDS: int = Field(
|
153
|
-
default=
|
153
|
+
default=0,
|
154
154
|
description="Minimum remaining seconds required to keep a VM running"
|
155
155
|
)
|
156
156
|
STREAM_MONITOR_ENABLED: bool = Field(
|
157
|
-
default=
|
157
|
+
default=True,
|
158
158
|
description="Enable background monitor to stop VMs when runway < threshold"
|
159
159
|
)
|
160
160
|
STREAM_WITHDRAW_ENABLED: bool = Field(
|
@@ -162,7 +162,7 @@ class Settings(BaseSettings):
|
|
162
162
|
description="Enable background withdrawals for active streams"
|
163
163
|
)
|
164
164
|
STREAM_MONITOR_INTERVAL_SECONDS: int = Field(
|
165
|
-
default=
|
165
|
+
default=30,
|
166
166
|
description="How frequently to check stream runway"
|
167
167
|
)
|
168
168
|
STREAM_WITHDRAW_INTERVAL_SECONDS: int = Field(
|
provider/payments/monitor.py
CHANGED
@@ -57,6 +57,10 @@ class StreamMonitor:
|
|
57
57
|
await self.vm_service.stop_vm(vm_id)
|
58
58
|
except Exception as e:
|
59
59
|
logger.warning(f"stop_vm failed for {vm_id}: {e}")
|
60
|
+
else:
|
61
|
+
logger.debug(
|
62
|
+
f"VM {vm_id} stream {stream_id} healthy (remaining={remaining}s, threshold={self.settings.STREAM_MIN_REMAINING_SECONDS}s)"
|
63
|
+
)
|
60
64
|
# Withdraw if enough vested and configured
|
61
65
|
if self.settings.STREAM_WITHDRAW_ENABLED and self.client:
|
62
66
|
vested = max(min(now, s["stopTime"]) - s["startTime"], 0) * s["ratePerSecond"]
|
File without changes
|
File without changes
|