ominfra 0.0.0.dev127__tar.gz → 0.0.0.dev129__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. {ominfra-0.0.0.dev127/ominfra.egg-info → ominfra-0.0.0.dev129}/PKG-INFO +3 -3
  2. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/_executor.py +24 -0
  3. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/pyremote/_runcommands.py +24 -0
  4. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/scripts/journald2aws.py +24 -0
  5. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/scripts/supervisor.py +1320 -1225
  6. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/configs.py +34 -11
  7. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/dispatchers.py +7 -6
  8. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/dispatchersimpl.py +29 -22
  9. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/groups.py +1 -1
  10. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/groupsimpl.py +2 -2
  11. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/inject.py +22 -17
  12. ominfra-0.0.0.dev129/ominfra/supervisor/io.py +82 -0
  13. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/main.py +6 -7
  14. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/pipes.py +15 -13
  15. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/poller.py +36 -35
  16. ominfra-0.0.0.dev127/ominfra/supervisor/processes.py → ominfra-0.0.0.dev129/ominfra/supervisor/process.py +2 -1
  17. ominfra-0.0.0.dev127/ominfra/supervisor/processesimpl.py → ominfra-0.0.0.dev129/ominfra/supervisor/processimpl.py +42 -54
  18. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/setup.py +1 -1
  19. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/setupimpl.py +4 -3
  20. ominfra-0.0.0.dev129/ominfra/supervisor/signals.py +66 -0
  21. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/spawning.py +2 -1
  22. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/spawningimpl.py +24 -21
  23. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/supervisor.py +72 -134
  24. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/types.py +45 -34
  25. ominfra-0.0.0.dev129/ominfra/supervisor/utils/diag.py +31 -0
  26. ominfra-0.0.0.dev129/ominfra/supervisor/utils/fds.py +46 -0
  27. ominfra-0.0.0.dev129/ominfra/supervisor/utils/fs.py +47 -0
  28. ominfra-0.0.0.dev129/ominfra/supervisor/utils/os.py +45 -0
  29. ominfra-0.0.0.dev129/ominfra/supervisor/utils/ostypes.py +9 -0
  30. ominfra-0.0.0.dev129/ominfra/supervisor/utils/strings.py +105 -0
  31. {ominfra-0.0.0.dev127/ominfra/supervisor → ominfra-0.0.0.dev129/ominfra/supervisor/utils}/users.py +11 -8
  32. ominfra-0.0.0.dev129/ominfra/tools/__init__.py +0 -0
  33. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129/ominfra.egg-info}/PKG-INFO +3 -3
  34. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra.egg-info/SOURCES.txt +13 -7
  35. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra.egg-info/requires.txt +2 -2
  36. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/pyproject.toml +3 -3
  37. ominfra-0.0.0.dev127/ominfra/supervisor/context.py +0 -84
  38. ominfra-0.0.0.dev127/ominfra/supervisor/datatypes.py +0 -113
  39. ominfra-0.0.0.dev127/ominfra/supervisor/utils.py +0 -206
  40. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/LICENSE +0 -0
  41. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/MANIFEST.in +0 -0
  42. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/README.rst +0 -0
  43. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/.manifests.json +0 -0
  44. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/__about__.py +0 -0
  45. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/__init__.py +0 -0
  46. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/__init__.py +0 -0
  47. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/aws/__init__.py +0 -0
  48. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/aws/__main__.py +0 -0
  49. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/aws/auth.py +0 -0
  50. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/aws/cli.py +0 -0
  51. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/aws/dataclasses.py +0 -0
  52. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/aws/journald2aws/__init__.py +0 -0
  53. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/aws/journald2aws/__main__.py +0 -0
  54. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/aws/journald2aws/cursor.py +0 -0
  55. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/aws/journald2aws/driver.py +0 -0
  56. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/aws/journald2aws/main.py +0 -0
  57. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/aws/journald2aws/poster.py +0 -0
  58. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/aws/logs.py +0 -0
  59. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/aws/metadata.py +0 -0
  60. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/gcp/__init__.py +0 -0
  61. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/clouds/gcp/auth.py +0 -0
  62. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/cmds.py +0 -0
  63. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/configs.py +0 -0
  64. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/__init__.py +0 -0
  65. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/configs.py +0 -0
  66. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/executor/__init__.py +0 -0
  67. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/executor/base.py +0 -0
  68. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/executor/concerns/__init__.py +0 -0
  69. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/executor/concerns/dirs.py +0 -0
  70. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/executor/concerns/nginx.py +0 -0
  71. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/executor/concerns/repo.py +0 -0
  72. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/executor/concerns/supervisor.py +0 -0
  73. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/executor/concerns/systemd.py +0 -0
  74. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/executor/concerns/user.py +0 -0
  75. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/executor/concerns/venv.py +0 -0
  76. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/executor/main.py +0 -0
  77. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/poly/__init__.py +0 -0
  78. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/poly/_main.py +0 -0
  79. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/poly/base.py +0 -0
  80. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/poly/configs.py +0 -0
  81. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/poly/deploy.py +0 -0
  82. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/poly/main.py +0 -0
  83. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/poly/nginx.py +0 -0
  84. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/poly/repo.py +0 -0
  85. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/poly/runtime.py +0 -0
  86. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/poly/site.py +0 -0
  87. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/poly/supervisor.py +0 -0
  88. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/poly/venv.py +0 -0
  89. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/deploy/remote.py +0 -0
  90. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/journald/__init__.py +0 -0
  91. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/journald/fields.py +0 -0
  92. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/journald/genmessages.py +0 -0
  93. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/journald/messages.py +0 -0
  94. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/journald/tailer.py +0 -0
  95. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/manage/__init__.py +0 -0
  96. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/manage/manage.py +0 -0
  97. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/pyremote/__init__.py +0 -0
  98. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/pyremote/bootstrap.py +0 -0
  99. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/pyremote/runcommands.py +0 -0
  100. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/scripts/__init__.py +0 -0
  101. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/ssh.py +0 -0
  102. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/LICENSE.txt +0 -0
  103. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/__init__.py +0 -0
  104. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/__main__.py +0 -0
  105. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/events.py +0 -0
  106. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/exceptions.py +0 -0
  107. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/privileges.py +0 -0
  108. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/supervisor/states.py +0 -0
  109. {ominfra-0.0.0.dev127/ominfra/tailscale → ominfra-0.0.0.dev129/ominfra/supervisor/utils}/__init__.py +0 -0
  110. {ominfra-0.0.0.dev127/ominfra/supervisor → ominfra-0.0.0.dev129/ominfra/supervisor/utils}/collections.py +0 -0
  111. {ominfra-0.0.0.dev127/ominfra/supervisor → ominfra-0.0.0.dev129/ominfra/supervisor/utils}/signals.py +0 -0
  112. {ominfra-0.0.0.dev127/ominfra/tools → ominfra-0.0.0.dev129/ominfra/tailscale}/__init__.py +0 -0
  113. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/tailscale/api.py +0 -0
  114. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/tailscale/cli.py +0 -0
  115. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/threadworkers.py +0 -0
  116. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra/tools/listresources.py +0 -0
  117. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra.egg-info/dependency_links.txt +0 -0
  118. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra.egg-info/entry_points.txt +0 -0
  119. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/ominfra.egg-info/top_level.txt +0 -0
  120. {ominfra-0.0.0.dev127 → ominfra-0.0.0.dev129}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ominfra
3
- Version: 0.0.0.dev127
3
+ Version: 0.0.0.dev129
4
4
  Summary: ominfra
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,8 +12,8 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omdev==0.0.0.dev127
16
- Requires-Dist: omlish==0.0.0.dev127
15
+ Requires-Dist: omdev==0.0.0.dev129
16
+ Requires-Dist: omlish==0.0.0.dev129
17
17
  Provides-Extra: all
18
18
  Requires-Dist: paramiko~=3.5; extra == "all"
19
19
  Requires-Dist: asyncssh~=2.18; extra == "all"
@@ -189,6 +189,30 @@ def check_not_equal(l: T, r: T) -> T:
189
189
  return l
190
190
 
191
191
 
192
+ def check_is(l: T, r: T) -> T:
193
+ if l is not r:
194
+ raise ValueError(l, r)
195
+ return l
196
+
197
+
198
+ def check_is_not(l: T, r: ta.Any) -> T:
199
+ if l is r:
200
+ raise ValueError(l, r)
201
+ return l
202
+
203
+
204
+ def check_in(v: T, c: ta.Container[T]) -> T:
205
+ if v not in c:
206
+ raise ValueError(v, c)
207
+ return v
208
+
209
+
210
+ def check_not_in(v: T, c: ta.Container[T]) -> T:
211
+ if v in c:
212
+ raise ValueError(v, c)
213
+ return v
214
+
215
+
192
216
  def check_single(vs: ta.Iterable[T]) -> T:
193
217
  [v] = vs
194
218
  return v
@@ -272,6 +272,30 @@ def check_not_equal(l: T, r: T) -> T:
272
272
  return l
273
273
 
274
274
 
275
+ def check_is(l: T, r: T) -> T:
276
+ if l is not r:
277
+ raise ValueError(l, r)
278
+ return l
279
+
280
+
281
+ def check_is_not(l: T, r: ta.Any) -> T:
282
+ if l is r:
283
+ raise ValueError(l, r)
284
+ return l
285
+
286
+
287
+ def check_in(v: T, c: ta.Container[T]) -> T:
288
+ if v not in c:
289
+ raise ValueError(v, c)
290
+ return v
291
+
292
+
293
+ def check_not_in(v: T, c: ta.Container[T]) -> T:
294
+ if v in c:
295
+ raise ValueError(v, c)
296
+ return v
297
+
298
+
275
299
  def check_single(vs: ta.Iterable[T]) -> T:
276
300
  [v] = vs
277
301
  return v
@@ -968,6 +968,30 @@ def check_not_equal(l: T, r: T) -> T:
968
968
  return l
969
969
 
970
970
 
971
+ def check_is(l: T, r: T) -> T:
972
+ if l is not r:
973
+ raise ValueError(l, r)
974
+ return l
975
+
976
+
977
+ def check_is_not(l: T, r: ta.Any) -> T:
978
+ if l is r:
979
+ raise ValueError(l, r)
980
+ return l
981
+
982
+
983
+ def check_in(v: T, c: ta.Container[T]) -> T:
984
+ if v not in c:
985
+ raise ValueError(v, c)
986
+ return v
987
+
988
+
989
+ def check_not_in(v: T, c: ta.Container[T]) -> T:
990
+ if v in c:
991
+ raise ValueError(v, c)
992
+ return v
993
+
994
+
971
995
  def check_single(vs: ta.Iterable[T]) -> T:
972
996
  [v] = vs
973
997
  return v