ominfra 0.0.0.dev191__py3-none-any.whl → 0.0.0.dev192__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.
- ominfra/manage/deploy/apps.py +10 -0
- ominfra/manage/deploy/conf/manager.py +8 -2
- ominfra/manage/deploy/deploy.py +12 -5
- ominfra/manage/deploy/git.py +3 -1
- ominfra/manage/deploy/specs.py +2 -0
- ominfra/manage/deploy/systemd.py +2 -1
- ominfra/scripts/manage.py +36 -9
- ominfra/scripts/supervisor.py +18 -9
- ominfra/supervisor/configs.py +6 -0
- ominfra/supervisor/http.py +1 -1
- ominfra/supervisor/inject.py +11 -8
- {ominfra-0.0.0.dev191.dist-info → ominfra-0.0.0.dev192.dist-info}/METADATA +4 -4
- {ominfra-0.0.0.dev191.dist-info → ominfra-0.0.0.dev192.dist-info}/RECORD +17 -17
- {ominfra-0.0.0.dev191.dist-info → ominfra-0.0.0.dev192.dist-info}/LICENSE +0 -0
- {ominfra-0.0.0.dev191.dist-info → ominfra-0.0.0.dev192.dist-info}/WHEEL +0 -0
- {ominfra-0.0.0.dev191.dist-info → ominfra-0.0.0.dev192.dist-info}/entry_points.txt +0 -0
- {ominfra-0.0.0.dev191.dist-info → ominfra-0.0.0.dev192.dist-info}/top_level.txt +0 -0
ominfra/manage/deploy/apps.py
CHANGED
@@ -84,6 +84,8 @@ class DeployAppManager(DeployPathOwner):
|
|
84
84
|
spec: DeployAppSpec,
|
85
85
|
home: DeployHome,
|
86
86
|
tags: DeployTagMap,
|
87
|
+
*,
|
88
|
+
conf_string_ns: ta.Optional[ta.Mapping[str, ta.Any]] = None,
|
87
89
|
) -> PreparedApp:
|
88
90
|
spec_json = json_dumps_pretty(self._msh.marshal_obj(spec))
|
89
91
|
|
@@ -140,9 +142,17 @@ class DeployAppManager(DeployPathOwner):
|
|
140
142
|
if spec.conf is not None:
|
141
143
|
conf_dir = os.path.join(app_dir, 'conf')
|
142
144
|
rkw.update(conf_dir=conf_dir)
|
145
|
+
|
146
|
+
conf_ns: ta.Dict[str, ta.Any] = dict(
|
147
|
+
**(conf_string_ns or {}),
|
148
|
+
app=spec.app.s,
|
149
|
+
app_dir=app_dir.rstrip('/'),
|
150
|
+
)
|
151
|
+
|
143
152
|
await self._conf.write_app_conf(
|
144
153
|
spec.conf,
|
145
154
|
conf_dir,
|
155
|
+
string_ns=conf_ns,
|
146
156
|
)
|
147
157
|
|
148
158
|
#
|
@@ -133,9 +133,15 @@ class DeployConfManager:
|
|
133
133
|
self,
|
134
134
|
spec: DeployAppConfSpec,
|
135
135
|
app_conf_dir: str,
|
136
|
+
*,
|
137
|
+
string_ns: ta.Optional[ta.Mapping[str, ta.Any]] = None,
|
136
138
|
) -> None:
|
137
|
-
|
138
|
-
|
139
|
+
process_str: ta.Any
|
140
|
+
if string_ns is not None:
|
141
|
+
def process_str(s: str) -> str:
|
142
|
+
return s.format(**string_ns)
|
143
|
+
else:
|
144
|
+
process_str = None
|
139
145
|
|
140
146
|
for acf in spec.files or []:
|
141
147
|
await self._write_app_conf_file(
|
ominfra/manage/deploy/deploy.py
CHANGED
@@ -30,7 +30,7 @@ from .types import DeployHome
|
|
30
30
|
##
|
31
31
|
|
32
32
|
|
33
|
-
DEPLOY_TAG_DATETIME_FMT = '%Y
|
33
|
+
DEPLOY_TAG_DATETIME_FMT = '%Y-%m-%d-T-%H-%M-%S-%f-Z'
|
34
34
|
|
35
35
|
|
36
36
|
DeployManagerUtcClock = ta.NewType('DeployManagerUtcClock', Func0[datetime.datetime])
|
@@ -183,8 +183,9 @@ class DeployDriver:
|
|
183
183
|
|
184
184
|
das: ta.Set[DeployApp] = {a.app for a in self._spec.apps}
|
185
185
|
las: ta.Set[DeployApp] = set(self._spec.app_links.apps)
|
186
|
-
|
187
|
-
|
186
|
+
ras: ta.Set[DeployApp] = set(self._spec.app_links.removed_apps)
|
187
|
+
check.empty(das & (las | ras))
|
188
|
+
check.empty(las & ras)
|
188
189
|
|
189
190
|
#
|
190
191
|
|
@@ -230,10 +231,10 @@ class DeployDriver:
|
|
230
231
|
cad = abs_real_path(os.path.join(current_link, 'apps'))
|
231
232
|
if os.path.exists(cad):
|
232
233
|
for d in os.listdir(cad):
|
233
|
-
if (da := DeployApp(d)) not in das:
|
234
|
+
if (da := DeployApp(d)) not in das and da not in ras:
|
234
235
|
las.add(da)
|
235
236
|
|
236
|
-
for la in
|
237
|
+
for la in las:
|
237
238
|
await self._drive_app_link(
|
238
239
|
la,
|
239
240
|
current_link,
|
@@ -263,10 +264,16 @@ class DeployDriver:
|
|
263
264
|
#
|
264
265
|
|
265
266
|
async def _drive_app_deploy(self, app: DeployAppSpec) -> None:
|
267
|
+
current_deploy_link = os.path.join(self._home, self._deploys.CURRENT_DEPLOY_LINK.render())
|
268
|
+
|
266
269
|
pa = await self._apps.prepare_app(
|
267
270
|
app,
|
268
271
|
self._home,
|
269
272
|
self.tags,
|
273
|
+
conf_string_ns=dict(
|
274
|
+
deploy_home=self._home,
|
275
|
+
current_deploy_link=current_deploy_link,
|
276
|
+
),
|
270
277
|
)
|
271
278
|
|
272
279
|
#
|
ominfra/manage/deploy/git.py
CHANGED
@@ -91,7 +91,9 @@ class DeployGitManager(SingleDirDeployPathOwner):
|
|
91
91
|
|
92
92
|
async def fetch(self, rev: DeployRev) -> None:
|
93
93
|
await self.init()
|
94
|
-
|
94
|
+
|
95
|
+
# This fetch shouldn't be depth=1 - git doesn't reuse local data with shallow fetches.
|
96
|
+
await self._call('git', 'fetch', 'origin', rev)
|
95
97
|
|
96
98
|
#
|
97
99
|
|
ominfra/manage/deploy/specs.py
CHANGED
ominfra/manage/deploy/systemd.py
CHANGED
@@ -8,6 +8,7 @@ TODO:
|
|
8
8
|
- ominfra.systemd / x.sd_orphans
|
9
9
|
"""
|
10
10
|
import os.path
|
11
|
+
import shutil
|
11
12
|
import sys
|
12
13
|
import typing as ta
|
13
14
|
|
@@ -101,7 +102,7 @@ class DeploySystemdManager:
|
|
101
102
|
|
102
103
|
#
|
103
104
|
|
104
|
-
if sys.platform == 'linux':
|
105
|
+
if sys.platform == 'linux' and shutil.which('systemctl') is not None:
|
105
106
|
async def reload() -> None:
|
106
107
|
await asyncio_subprocesses.check_call('systemctl', '--user', 'daemon-reload')
|
107
108
|
|
ominfra/scripts/manage.py
CHANGED
@@ -9353,9 +9353,15 @@ class DeployConfManager:
|
|
9353
9353
|
self,
|
9354
9354
|
spec: DeployAppConfSpec,
|
9355
9355
|
app_conf_dir: str,
|
9356
|
+
*,
|
9357
|
+
string_ns: ta.Optional[ta.Mapping[str, ta.Any]] = None,
|
9356
9358
|
) -> None:
|
9357
|
-
|
9358
|
-
|
9359
|
+
process_str: ta.Any
|
9360
|
+
if string_ns is not None:
|
9361
|
+
def process_str(s: str) -> str:
|
9362
|
+
return s.format(**string_ns)
|
9363
|
+
else:
|
9364
|
+
process_str = None
|
9359
9365
|
|
9360
9366
|
for acf in spec.files or []:
|
9361
9367
|
await self._write_app_conf_file(
|
@@ -9608,6 +9614,8 @@ class DeployAppSpec(DeploySpecKeyed[DeployAppKey]):
|
|
9608
9614
|
class DeployAppLinksSpec:
|
9609
9615
|
apps: ta.Sequence[DeployApp] = ()
|
9610
9616
|
|
9617
|
+
removed_apps: ta.Sequence[DeployApp] = ()
|
9618
|
+
|
9611
9619
|
exclude_unspecified: bool = False
|
9612
9620
|
|
9613
9621
|
|
@@ -10967,7 +10975,9 @@ class DeployGitManager(SingleDirDeployPathOwner):
|
|
10967
10975
|
|
10968
10976
|
async def fetch(self, rev: DeployRev) -> None:
|
10969
10977
|
await self.init()
|
10970
|
-
|
10978
|
+
|
10979
|
+
# This fetch shouldn't be depth=1 - git doesn't reuse local data with shallow fetches.
|
10980
|
+
await self._call('git', 'fetch', 'origin', rev)
|
10971
10981
|
|
10972
10982
|
#
|
10973
10983
|
|
@@ -11125,7 +11135,7 @@ class DeploySystemdManager:
|
|
11125
11135
|
|
11126
11136
|
#
|
11127
11137
|
|
11128
|
-
if sys.platform == 'linux':
|
11138
|
+
if sys.platform == 'linux' and shutil.which('systemctl') is not None:
|
11129
11139
|
async def reload() -> None:
|
11130
11140
|
await asyncio_subprocesses.check_call('systemctl', '--user', 'daemon-reload')
|
11131
11141
|
|
@@ -11614,6 +11624,8 @@ class DeployAppManager(DeployPathOwner):
|
|
11614
11624
|
spec: DeployAppSpec,
|
11615
11625
|
home: DeployHome,
|
11616
11626
|
tags: DeployTagMap,
|
11627
|
+
*,
|
11628
|
+
conf_string_ns: ta.Optional[ta.Mapping[str, ta.Any]] = None,
|
11617
11629
|
) -> PreparedApp:
|
11618
11630
|
spec_json = json_dumps_pretty(self._msh.marshal_obj(spec))
|
11619
11631
|
|
@@ -11670,9 +11682,17 @@ class DeployAppManager(DeployPathOwner):
|
|
11670
11682
|
if spec.conf is not None:
|
11671
11683
|
conf_dir = os.path.join(app_dir, 'conf')
|
11672
11684
|
rkw.update(conf_dir=conf_dir)
|
11685
|
+
|
11686
|
+
conf_ns: ta.Dict[str, ta.Any] = dict(
|
11687
|
+
**(conf_string_ns or {}),
|
11688
|
+
app=spec.app.s,
|
11689
|
+
app_dir=app_dir.rstrip('/'),
|
11690
|
+
)
|
11691
|
+
|
11673
11692
|
await self._conf.write_app_conf(
|
11674
11693
|
spec.conf,
|
11675
11694
|
conf_dir,
|
11695
|
+
string_ns=conf_ns,
|
11676
11696
|
)
|
11677
11697
|
|
11678
11698
|
#
|
@@ -11735,7 +11755,7 @@ class DeployAppManager(DeployPathOwner):
|
|
11735
11755
|
##
|
11736
11756
|
|
11737
11757
|
|
11738
|
-
DEPLOY_TAG_DATETIME_FMT = '%Y
|
11758
|
+
DEPLOY_TAG_DATETIME_FMT = '%Y-%m-%d-T-%H-%M-%S-%f-Z'
|
11739
11759
|
|
11740
11760
|
|
11741
11761
|
DeployManagerUtcClock = ta.NewType('DeployManagerUtcClock', Func0[datetime.datetime])
|
@@ -11888,8 +11908,9 @@ class DeployDriver:
|
|
11888
11908
|
|
11889
11909
|
das: ta.Set[DeployApp] = {a.app for a in self._spec.apps}
|
11890
11910
|
las: ta.Set[DeployApp] = set(self._spec.app_links.apps)
|
11891
|
-
|
11892
|
-
|
11911
|
+
ras: ta.Set[DeployApp] = set(self._spec.app_links.removed_apps)
|
11912
|
+
check.empty(das & (las | ras))
|
11913
|
+
check.empty(las & ras)
|
11893
11914
|
|
11894
11915
|
#
|
11895
11916
|
|
@@ -11935,10 +11956,10 @@ class DeployDriver:
|
|
11935
11956
|
cad = abs_real_path(os.path.join(current_link, 'apps'))
|
11936
11957
|
if os.path.exists(cad):
|
11937
11958
|
for d in os.listdir(cad):
|
11938
|
-
if (da := DeployApp(d)) not in das:
|
11959
|
+
if (da := DeployApp(d)) not in das and da not in ras:
|
11939
11960
|
las.add(da)
|
11940
11961
|
|
11941
|
-
for la in
|
11962
|
+
for la in las:
|
11942
11963
|
await self._drive_app_link(
|
11943
11964
|
la,
|
11944
11965
|
current_link,
|
@@ -11968,10 +11989,16 @@ class DeployDriver:
|
|
11968
11989
|
#
|
11969
11990
|
|
11970
11991
|
async def _drive_app_deploy(self, app: DeployAppSpec) -> None:
|
11992
|
+
current_deploy_link = os.path.join(self._home, self._deploys.CURRENT_DEPLOY_LINK.render())
|
11993
|
+
|
11971
11994
|
pa = await self._apps.prepare_app(
|
11972
11995
|
app,
|
11973
11996
|
self._home,
|
11974
11997
|
self.tags,
|
11998
|
+
conf_string_ns=dict(
|
11999
|
+
deploy_home=self._home,
|
12000
|
+
current_deploy_link=current_deploy_link,
|
12001
|
+
),
|
11975
12002
|
)
|
11976
12003
|
|
11977
12004
|
#
|
ominfra/scripts/supervisor.py
CHANGED
@@ -6481,6 +6481,12 @@ class ServerConfig:
|
|
6481
6481
|
# TODO: implement - make sure to accept broken symlinks
|
6482
6482
|
group_config_dirs: ta.Optional[ta.Sequence[str]] = None
|
6483
6483
|
|
6484
|
+
#
|
6485
|
+
|
6486
|
+
http_port: ta.Optional[int] = None
|
6487
|
+
|
6488
|
+
#
|
6489
|
+
|
6484
6490
|
@classmethod
|
6485
6491
|
def new(
|
6486
6492
|
cls,
|
@@ -8354,7 +8360,7 @@ class HttpServer(HasDispatchers):
|
|
8354
8360
|
def __init__(
|
8355
8361
|
self,
|
8356
8362
|
handler: Handler,
|
8357
|
-
addr: Address = Address(('localhost', 8000)),
|
8363
|
+
addr: Address, # = Address(('localhost', 8000)),
|
8358
8364
|
*,
|
8359
8365
|
exit_stack: contextlib.ExitStack,
|
8360
8366
|
) -> None:
|
@@ -9617,16 +9623,19 @@ def bind_server(
|
|
9617
9623
|
|
9618
9624
|
#
|
9619
9625
|
|
9620
|
-
|
9621
|
-
|
9626
|
+
if config.http_port is not None:
|
9627
|
+
def _provide_http_handler(s: SupervisorHttpHandler) -> HttpServer.Handler:
|
9628
|
+
return HttpServer.Handler(s.handle)
|
9622
9629
|
|
9623
|
-
|
9624
|
-
|
9625
|
-
|
9630
|
+
lst.extend([
|
9631
|
+
inj.bind(HttpServer, singleton=True, eager=True),
|
9632
|
+
inj.bind(HasDispatchers, array=True, to_key=HttpServer),
|
9626
9633
|
|
9627
|
-
|
9628
|
-
|
9629
|
-
|
9634
|
+
inj.bind(HttpServer.Address(('localhost', config.http_port))),
|
9635
|
+
|
9636
|
+
inj.bind(SupervisorHttpHandler, singleton=True),
|
9637
|
+
inj.bind(_provide_http_handler),
|
9638
|
+
])
|
9630
9639
|
|
9631
9640
|
#
|
9632
9641
|
|
ominfra/supervisor/configs.py
CHANGED
@@ -248,6 +248,12 @@ class ServerConfig:
|
|
248
248
|
# TODO: implement - make sure to accept broken symlinks
|
249
249
|
group_config_dirs: ta.Optional[ta.Sequence[str]] = None
|
250
250
|
|
251
|
+
#
|
252
|
+
|
253
|
+
http_port: ta.Optional[int] = None
|
254
|
+
|
255
|
+
#
|
256
|
+
|
251
257
|
@classmethod
|
252
258
|
def new(
|
253
259
|
cls,
|
ominfra/supervisor/http.py
CHANGED
ominfra/supervisor/inject.py
CHANGED
@@ -131,16 +131,19 @@ def bind_server(
|
|
131
131
|
|
132
132
|
#
|
133
133
|
|
134
|
-
|
135
|
-
|
134
|
+
if config.http_port is not None:
|
135
|
+
def _provide_http_handler(s: SupervisorHttpHandler) -> HttpServer.Handler:
|
136
|
+
return HttpServer.Handler(s.handle)
|
136
137
|
|
137
|
-
|
138
|
-
|
139
|
-
|
138
|
+
lst.extend([
|
139
|
+
inj.bind(HttpServer, singleton=True, eager=True),
|
140
|
+
inj.bind(HasDispatchers, array=True, to_key=HttpServer),
|
140
141
|
|
141
|
-
|
142
|
-
|
143
|
-
|
142
|
+
inj.bind(HttpServer.Address(('localhost', config.http_port))),
|
143
|
+
|
144
|
+
inj.bind(SupervisorHttpHandler, singleton=True),
|
145
|
+
inj.bind(_provide_http_handler),
|
146
|
+
])
|
144
147
|
|
145
148
|
#
|
146
149
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ominfra
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev192
|
4
4
|
Summary: ominfra
|
5
5
|
Author: wrmsr
|
6
6
|
License: BSD-3-Clause
|
@@ -12,9 +12,9 @@ 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.
|
16
|
-
Requires-Dist: omlish==0.0.0.
|
17
|
-
Requires-Dist: omserv==0.0.0.
|
15
|
+
Requires-Dist: omdev==0.0.0.dev192
|
16
|
+
Requires-Dist: omlish==0.0.0.dev192
|
17
|
+
Requires-Dist: omserv==0.0.0.dev192
|
18
18
|
Provides-Extra: all
|
19
19
|
Requires-Dist: paramiko~=3.5; extra == "all"
|
20
20
|
Requires-Dist: asyncssh~=2.18; extra == "all"
|
@@ -45,24 +45,24 @@ ominfra/manage/commands/ping.py,sha256=DVZFzL1Z_f-Bq53vxMrL3xOi0iK_nMonJE4KvQf9w
|
|
45
45
|
ominfra/manage/commands/subprocess.py,sha256=yHGMbAI-xKe_9BUs5IZ3Yav8qRE-I9aGnBtTwW15Pnw,2440
|
46
46
|
ominfra/manage/commands/types.py,sha256=XFZPeqeIBAaIIQF3pdPbGxLlb-LCrz6WtlDWO2q_vz0,210
|
47
47
|
ominfra/manage/deploy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
48
|
-
ominfra/manage/deploy/apps.py,sha256=
|
48
|
+
ominfra/manage/deploy/apps.py,sha256=T0eU0Jw-h33_ZPIs0zy9DOx_fgs3YSAAGzu-H0pvt2U,4865
|
49
49
|
ominfra/manage/deploy/commands.py,sha256=OVZzSY4EP_SD7KJRkIIPeqUxcV4mcwrc_WYNvM16ahM,830
|
50
50
|
ominfra/manage/deploy/config.py,sha256=kPpl8TRisz295cM4oj-RHA6oh5jdcJ_N9pVpkl_doO8,114
|
51
|
-
ominfra/manage/deploy/deploy.py,sha256=
|
52
|
-
ominfra/manage/deploy/git.py,sha256=
|
51
|
+
ominfra/manage/deploy/deploy.py,sha256=YRr_0OPIZJ9LnOeMaHYCSSvqh81a5_LB7OZy-bR2GeA,8966
|
52
|
+
ominfra/manage/deploy/git.py,sha256=AnZCUuJt9infrWLAgxwELSEJVkDACNwQCen2Qi81-IA,4047
|
53
53
|
ominfra/manage/deploy/inject.py,sha256=lVNik0CfQMd31fiqzFlM828oQKVUTJY-zTmU1pGOopQ,3467
|
54
54
|
ominfra/manage/deploy/inject_.py,sha256=LR7gEkVx2ldUoQZsGvIcm1Y4QXCVDnLIAdc3LHhQiD4,392
|
55
55
|
ominfra/manage/deploy/interp.py,sha256=_5fuHrY5ZA0eGbnNcOqAhAMSWI1UNvbm0l29eDjE5fI,1037
|
56
56
|
ominfra/manage/deploy/nginx.py,sha256=cU9GjWMSxqeNhbuSBZYRuBXUokiRiY4OWMLAgbj_4m4,89
|
57
|
-
ominfra/manage/deploy/specs.py,sha256=
|
58
|
-
ominfra/manage/deploy/systemd.py,sha256=
|
57
|
+
ominfra/manage/deploy/specs.py,sha256=0mZnMeMYLChcryXQhQ1V72zr8ooCWaw9AMvnPVJBZFE,2866
|
58
|
+
ominfra/manage/deploy/systemd.py,sha256=5hJ6d2zT24zBMUkuJwkhsvm7r4MqNBtm4_ov0kF2Jus,3612
|
59
59
|
ominfra/manage/deploy/tags.py,sha256=h2kJEmizzeKcn7hG-oKnakCquS87xw8EPb2nkB-XkaI,5118
|
60
60
|
ominfra/manage/deploy/tmp.py,sha256=FqXoVpIpVe8-KWNu7kXt37A4jKdK_y7h_YFvtrUoOG8,729
|
61
61
|
ominfra/manage/deploy/types.py,sha256=ZcIoheZ3zW7n0IZiqTRW_Uo3JyWWeWg5nyKGryvGc2I,112
|
62
62
|
ominfra/manage/deploy/venvs.py,sha256=PlvhyhZavgiSwGt8BXrhoSwQFVKpU0zCtq2C2N1_8Ak,1696
|
63
63
|
ominfra/manage/deploy/conf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
64
64
|
ominfra/manage/deploy/conf/inject.py,sha256=xHZQr7oaJCxaKgpJ0H-hgiQNGt4QsskhT3f5v7xrFwE,451
|
65
|
-
ominfra/manage/deploy/conf/manager.py,sha256=
|
65
|
+
ominfra/manage/deploy/conf/manager.py,sha256=ZJPwLuly5Jwd6-42umv_hDNr3J86zNrZkNU-RuM0ees,8302
|
66
66
|
ominfra/manage/deploy/conf/specs.py,sha256=AWeofV1YbcNZS-7WX7EpsX8i_7stJAXndXktB6fDWw8,2187
|
67
67
|
ominfra/manage/deploy/paths/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
68
68
|
ominfra/manage/deploy/paths/inject.py,sha256=X81C-Qhef1LQ7tILWvkomBwFTvgooLVmWRnKL7TeVoI,596
|
@@ -94,20 +94,20 @@ ominfra/manage/targets/inject.py,sha256=P4597xWM-V3I_gCt2O71OLhYQkkXtuJvkYRsIbhh
|
|
94
94
|
ominfra/manage/targets/targets.py,sha256=7GP6UAZyJFEhpkJN6UQdpr_WN3p7C76v-s445y-WB6U,1885
|
95
95
|
ominfra/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
96
96
|
ominfra/scripts/journald2aws.py,sha256=jxBI2ETft-GMJn0hFwV_lZgT55tj2kqKl0PszxUkOg8,158938
|
97
|
-
ominfra/scripts/manage.py,sha256=
|
98
|
-
ominfra/scripts/supervisor.py,sha256=
|
97
|
+
ominfra/scripts/manage.py,sha256=_C2fwegFHqx7OK0dfPZ631HwZHYfCYubi24sDHwSk4U,346082
|
98
|
+
ominfra/scripts/supervisor.py,sha256=5Nskq1fVdgwXvRXojDmkMO3JlcfQkxOwJ5vgexFi9EE,283429
|
99
99
|
ominfra/supervisor/LICENSE.txt,sha256=yvqaMNsDhWxziHa9ien6qCW1SkZv-DQlAg96XjfSee8,1746
|
100
100
|
ominfra/supervisor/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
|
101
101
|
ominfra/supervisor/__main__.py,sha256=I0yFw-C08OOiZ3BF6lF1Oiv789EQXu-_j6whDhQUTEA,66
|
102
|
-
ominfra/supervisor/configs.py,sha256=
|
102
|
+
ominfra/supervisor/configs.py,sha256=rA32edDnkfcUYSUPVRG4QIoGwCvnhstaNN2jTXvoqt4,13825
|
103
103
|
ominfra/supervisor/dispatchers.py,sha256=zXLwQS4Vc6dWw5o9QOL04UMDt7w6CKu9wf19CjUiS2Q,1005
|
104
104
|
ominfra/supervisor/dispatchersimpl.py,sha256=q3dEyOHWTPKm28nmAGisjgIW1BX6O3-SzbYa7nWuTEs,11349
|
105
105
|
ominfra/supervisor/events.py,sha256=XGrtzHr1xm0dwjz329fn9eR0_Ap-LQL6Sk8LJ8eVDEo,6692
|
106
106
|
ominfra/supervisor/exceptions.py,sha256=Qbu211H3CLlSmi9LsSikOwrcL5HgJP9ugvcKWlGTAoI,750
|
107
107
|
ominfra/supervisor/groups.py,sha256=MBbsbt8Zh_WEYkGOr1KXa82gnPVw9wPB2lAnqhugXSc,2457
|
108
108
|
ominfra/supervisor/groupsimpl.py,sha256=PCDyc_Wc-pnvIj56_aEyiA5exCpK6n9iErqnJzO2rZk,2281
|
109
|
-
ominfra/supervisor/http.py,sha256=
|
110
|
-
ominfra/supervisor/inject.py,sha256=
|
109
|
+
ominfra/supervisor/http.py,sha256=Tl5eT6dyf4KuQXKbhGo1B6CFEzUDtPl_DZAuUFVD9zI,3453
|
110
|
+
ominfra/supervisor/inject.py,sha256=IeR-WKvK1sGNxMe6G2OBT5kSP7EUP5ipkDgcUFmDPCA,4838
|
111
111
|
ominfra/supervisor/io.py,sha256=moaGNaPuYXEAUzLg8Qjo05DEIcOUNYUj8SSr8eT0d24,3198
|
112
112
|
ominfra/supervisor/main.py,sha256=7YrreFNntdRCp6MplCclfnRcgrRIb_UCeohJkDC9Few,4251
|
113
113
|
ominfra/supervisor/pipes.py,sha256=2ZihNTnRNjnIPOtPbm3_pyqO15f7BNs7WnNtO5V8ahM,2231
|
@@ -137,9 +137,9 @@ ominfra/tailscale/api.py,sha256=C5-t_b6jZXUWcy5k8bXm7CFnk73pSdrlMOgGDeGVrpw,1370
|
|
137
137
|
ominfra/tailscale/cli.py,sha256=3FnJbgpLw6gInTfhERd1mDy9ijjMUGxkdYVo43Tnxx4,3555
|
138
138
|
ominfra/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
139
139
|
ominfra/tools/listresources.py,sha256=4qVg5txsb10EHhvqXXeM6gJ2jx9LbroEnPydDv1uXs0,6176
|
140
|
-
ominfra-0.0.0.
|
141
|
-
ominfra-0.0.0.
|
142
|
-
ominfra-0.0.0.
|
143
|
-
ominfra-0.0.0.
|
144
|
-
ominfra-0.0.0.
|
145
|
-
ominfra-0.0.0.
|
140
|
+
ominfra-0.0.0.dev192.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
141
|
+
ominfra-0.0.0.dev192.dist-info/METADATA,sha256=R7AOfKOeQacurgpdYE4zsQs9JRq0tCFHDEVItCCS5Lg,767
|
142
|
+
ominfra-0.0.0.dev192.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
143
|
+
ominfra-0.0.0.dev192.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
|
144
|
+
ominfra-0.0.0.dev192.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
|
145
|
+
ominfra-0.0.0.dev192.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|