ominfra 0.0.0.dev161__py3-none-any.whl → 0.0.0.dev163__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 +3 -2
- ominfra/manage/deploy/specs.py +18 -0
- ominfra/manage/deploy/venvs.py +9 -4
- ominfra/scripts/manage.py +45 -35
- ominfra/scripts/supervisor.py +16 -29
- {ominfra-0.0.0.dev161.dist-info → ominfra-0.0.0.dev163.dist-info}/METADATA +3 -3
- {ominfra-0.0.0.dev161.dist-info → ominfra-0.0.0.dev163.dist-info}/RECORD +11 -11
- {ominfra-0.0.0.dev161.dist-info → ominfra-0.0.0.dev163.dist-info}/LICENSE +0 -0
- {ominfra-0.0.0.dev161.dist-info → ominfra-0.0.0.dev163.dist-info}/WHEEL +0 -0
- {ominfra-0.0.0.dev161.dist-info → ominfra-0.0.0.dev163.dist-info}/entry_points.txt +0 -0
- {ominfra-0.0.0.dev161.dist-info → ominfra-0.0.0.dev163.dist-info}/top_level.txt +0 -0
ominfra/manage/deploy/apps.py
CHANGED
@@ -51,7 +51,7 @@ class DeployAppManager(DeployPathOwner):
|
|
51
51
|
|
52
52
|
def get_owned_deploy_paths(self) -> ta.AbstractSet[DeployPath]:
|
53
53
|
return {
|
54
|
-
DeployPath.parse('apps/@app/@tag'),
|
54
|
+
DeployPath.parse('apps/@app/@tag/'),
|
55
55
|
}
|
56
56
|
|
57
57
|
async def prepare_app(
|
@@ -70,4 +70,5 @@ class DeployAppManager(DeployPathOwner):
|
|
70
70
|
|
71
71
|
#
|
72
72
|
|
73
|
-
|
73
|
+
if spec.venv is not None:
|
74
|
+
await self._venvs.setup_app_venv(app_tag, spec.venv)
|
ominfra/manage/deploy/specs.py
CHANGED
@@ -43,11 +43,29 @@ class DeployGitCheckout:
|
|
43
43
|
##
|
44
44
|
|
45
45
|
|
46
|
+
@dc.dataclass(frozen=True)
|
47
|
+
class DeployVenvSpec:
|
48
|
+
interp: ta.Optional[str] = None
|
49
|
+
|
50
|
+
requirements_files: ta.Optional[ta.Sequence[str]] = None
|
51
|
+
extra_dependencies: ta.Optional[ta.Sequence[str]] = None
|
52
|
+
|
53
|
+
use_uv: bool = False
|
54
|
+
|
55
|
+
def __post_init__(self) -> None:
|
56
|
+
hash(self)
|
57
|
+
|
58
|
+
|
59
|
+
##
|
60
|
+
|
61
|
+
|
46
62
|
@dc.dataclass(frozen=True)
|
47
63
|
class DeploySpec:
|
48
64
|
app: DeployApp
|
49
65
|
checkout: DeployGitCheckout
|
50
66
|
|
67
|
+
venv: ta.Optional[DeployVenvSpec] = None
|
68
|
+
|
51
69
|
def __post_init__(self) -> None:
|
52
70
|
hash(self)
|
53
71
|
|
ominfra/manage/deploy/venvs.py
CHANGED
@@ -14,6 +14,7 @@ from omlish.os.atomics import AtomicPathSwapping
|
|
14
14
|
|
15
15
|
from .paths import DeployPath
|
16
16
|
from .paths import DeployPathOwner
|
17
|
+
from .specs import DeployVenvSpec
|
17
18
|
from .types import DeployAppTag
|
18
19
|
from .types import DeployHome
|
19
20
|
|
@@ -43,8 +44,7 @@ class DeployVenvManager(DeployPathOwner):
|
|
43
44
|
self,
|
44
45
|
app_dir: str,
|
45
46
|
venv_dir: str,
|
46
|
-
|
47
|
-
use_uv: bool = True,
|
47
|
+
spec: DeployVenvSpec,
|
48
48
|
) -> None:
|
49
49
|
sys_exe = 'python3'
|
50
50
|
|
@@ -61,7 +61,7 @@ class DeployVenvManager(DeployPathOwner):
|
|
61
61
|
reqs_txt = os.path.join(app_dir, 'requirements.txt')
|
62
62
|
|
63
63
|
if os.path.isfile(reqs_txt):
|
64
|
-
if use_uv:
|
64
|
+
if spec.use_uv:
|
65
65
|
await asyncio_subprocesses.check_call(venv_exe, '-m', 'pip', 'install', 'uv')
|
66
66
|
pip_cmd = ['-m', 'uv', 'pip']
|
67
67
|
else:
|
@@ -69,8 +69,13 @@ class DeployVenvManager(DeployPathOwner):
|
|
69
69
|
|
70
70
|
await asyncio_subprocesses.check_call(venv_exe, *pip_cmd,'install', '-r', reqs_txt)
|
71
71
|
|
72
|
-
async def setup_app_venv(
|
72
|
+
async def setup_app_venv(
|
73
|
+
self,
|
74
|
+
app_tag: DeployAppTag,
|
75
|
+
spec: DeployVenvSpec,
|
76
|
+
) -> None:
|
73
77
|
await self.setup_venv(
|
74
78
|
os.path.join(check.non_empty_str(self._deploy_home), 'apps', app_tag.app, app_tag.tag),
|
75
79
|
os.path.join(self._dir(), app_tag.app, app_tag.tag),
|
80
|
+
spec,
|
76
81
|
)
|
ominfra/scripts/manage.py
CHANGED
@@ -4329,11 +4329,29 @@ class DeployGitCheckout:
|
|
4329
4329
|
##
|
4330
4330
|
|
4331
4331
|
|
4332
|
+
@dc.dataclass(frozen=True)
|
4333
|
+
class DeployVenvSpec:
|
4334
|
+
interp: ta.Optional[str] = None
|
4335
|
+
|
4336
|
+
requirements_files: ta.Optional[ta.Sequence[str]] = None
|
4337
|
+
extra_dependencies: ta.Optional[ta.Sequence[str]] = None
|
4338
|
+
|
4339
|
+
use_uv: bool = False
|
4340
|
+
|
4341
|
+
def __post_init__(self) -> None:
|
4342
|
+
hash(self)
|
4343
|
+
|
4344
|
+
|
4345
|
+
##
|
4346
|
+
|
4347
|
+
|
4332
4348
|
@dc.dataclass(frozen=True)
|
4333
4349
|
class DeploySpec:
|
4334
4350
|
app: DeployApp
|
4335
4351
|
checkout: DeployGitCheckout
|
4336
4352
|
|
4353
|
+
venv: ta.Optional[DeployVenvSpec] = None
|
4354
|
+
|
4337
4355
|
def __post_init__(self) -> None:
|
4338
4356
|
hash(self)
|
4339
4357
|
|
@@ -5489,7 +5507,7 @@ class InjectorBinder:
|
|
5489
5507
|
def __new__(cls, *args, **kwargs): # noqa
|
5490
5508
|
raise TypeError
|
5491
5509
|
|
5492
|
-
_FN_TYPES: ta.Tuple[type, ...] = (
|
5510
|
+
_FN_TYPES: ta.ClassVar[ta.Tuple[type, ...]] = (
|
5493
5511
|
types.FunctionType,
|
5494
5512
|
types.MethodType,
|
5495
5513
|
|
@@ -5511,7 +5529,7 @@ class InjectorBinder:
|
|
5511
5529
|
cls._FN_TYPES = (*cls._FN_TYPES, icls)
|
5512
5530
|
return icls
|
5513
5531
|
|
5514
|
-
_BANNED_BIND_TYPES: ta.Tuple[type, ...] = (
|
5532
|
+
_BANNED_BIND_TYPES: ta.ClassVar[ta.Tuple[type, ...]] = (
|
5515
5533
|
InjectorProvider,
|
5516
5534
|
)
|
5517
5535
|
|
@@ -5690,45 +5708,35 @@ def bind_injector_eager_key(key: ta.Any) -> InjectorBinding:
|
|
5690
5708
|
##
|
5691
5709
|
|
5692
5710
|
|
5693
|
-
class
|
5694
|
-
def __new__(cls, *args, **kwargs): # noqa
|
5695
|
-
raise TypeError
|
5696
|
-
|
5711
|
+
class InjectionApi:
|
5697
5712
|
# keys
|
5698
5713
|
|
5699
|
-
|
5700
|
-
def as_key(cls, o: ta.Any) -> InjectorKey:
|
5714
|
+
def as_key(self, o: ta.Any) -> InjectorKey:
|
5701
5715
|
return as_injector_key(o)
|
5702
5716
|
|
5703
|
-
|
5704
|
-
def array(cls, o: ta.Any) -> InjectorKey:
|
5717
|
+
def array(self, o: ta.Any) -> InjectorKey:
|
5705
5718
|
return dc.replace(as_injector_key(o), array=True)
|
5706
5719
|
|
5707
|
-
|
5708
|
-
def tag(cls, o: ta.Any, t: ta.Any) -> InjectorKey:
|
5720
|
+
def tag(self, o: ta.Any, t: ta.Any) -> InjectorKey:
|
5709
5721
|
return dc.replace(as_injector_key(o), tag=t)
|
5710
5722
|
|
5711
5723
|
# bindings
|
5712
5724
|
|
5713
|
-
|
5714
|
-
def as_bindings(cls, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
5725
|
+
def as_bindings(self, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
5715
5726
|
return as_injector_bindings(*args)
|
5716
5727
|
|
5717
|
-
|
5718
|
-
def override(cls, p: InjectorBindings, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
5728
|
+
def override(self, p: InjectorBindings, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
5719
5729
|
return injector_override(p, *args)
|
5720
5730
|
|
5721
5731
|
# injector
|
5722
5732
|
|
5723
|
-
|
5724
|
-
def create_injector(cls, *args: InjectorBindingOrBindings, parent: ta.Optional[Injector] = None) -> Injector:
|
5733
|
+
def create_injector(self, *args: InjectorBindingOrBindings, parent: ta.Optional[Injector] = None) -> Injector:
|
5725
5734
|
return _Injector(as_injector_bindings(*args), parent)
|
5726
5735
|
|
5727
5736
|
# binder
|
5728
5737
|
|
5729
|
-
@classmethod
|
5730
5738
|
def bind(
|
5731
|
-
|
5739
|
+
self,
|
5732
5740
|
obj: ta.Any,
|
5733
5741
|
*,
|
5734
5742
|
key: ta.Any = None,
|
@@ -5763,35 +5771,32 @@ class Injection:
|
|
5763
5771
|
|
5764
5772
|
# helpers
|
5765
5773
|
|
5766
|
-
@classmethod
|
5767
5774
|
def bind_factory(
|
5768
|
-
|
5775
|
+
self,
|
5769
5776
|
fn: ta.Callable[..., T],
|
5770
5777
|
cls_: U,
|
5771
5778
|
ann: ta.Any = None,
|
5772
5779
|
) -> InjectorBindingOrBindings:
|
5773
|
-
return
|
5780
|
+
return self.bind(make_injector_factory(fn, cls_, ann))
|
5774
5781
|
|
5775
|
-
@classmethod
|
5776
5782
|
def bind_array(
|
5777
|
-
|
5783
|
+
self,
|
5778
5784
|
obj: ta.Any = None,
|
5779
5785
|
*,
|
5780
5786
|
tag: ta.Any = None,
|
5781
5787
|
) -> InjectorBindingOrBindings:
|
5782
5788
|
return bind_injector_array(obj, tag=tag)
|
5783
5789
|
|
5784
|
-
@classmethod
|
5785
5790
|
def bind_array_type(
|
5786
|
-
|
5791
|
+
self,
|
5787
5792
|
ele: ta.Union[InjectorKey, InjectorKeyCls],
|
5788
5793
|
cls_: U,
|
5789
5794
|
ann: ta.Any = None,
|
5790
5795
|
) -> InjectorBindingOrBindings:
|
5791
|
-
return
|
5796
|
+
return self.bind(make_injector_array_type(ele, cls_, ann))
|
5792
5797
|
|
5793
5798
|
|
5794
|
-
inj =
|
5799
|
+
inj = InjectionApi()
|
5795
5800
|
|
5796
5801
|
|
5797
5802
|
########################################
|
@@ -8297,8 +8302,7 @@ class DeployVenvManager(DeployPathOwner):
|
|
8297
8302
|
self,
|
8298
8303
|
app_dir: str,
|
8299
8304
|
venv_dir: str,
|
8300
|
-
|
8301
|
-
use_uv: bool = True,
|
8305
|
+
spec: DeployVenvSpec,
|
8302
8306
|
) -> None:
|
8303
8307
|
sys_exe = 'python3'
|
8304
8308
|
|
@@ -8315,7 +8319,7 @@ class DeployVenvManager(DeployPathOwner):
|
|
8315
8319
|
reqs_txt = os.path.join(app_dir, 'requirements.txt')
|
8316
8320
|
|
8317
8321
|
if os.path.isfile(reqs_txt):
|
8318
|
-
if use_uv:
|
8322
|
+
if spec.use_uv:
|
8319
8323
|
await asyncio_subprocesses.check_call(venv_exe, '-m', 'pip', 'install', 'uv')
|
8320
8324
|
pip_cmd = ['-m', 'uv', 'pip']
|
8321
8325
|
else:
|
@@ -8323,10 +8327,15 @@ class DeployVenvManager(DeployPathOwner):
|
|
8323
8327
|
|
8324
8328
|
await asyncio_subprocesses.check_call(venv_exe, *pip_cmd,'install', '-r', reqs_txt)
|
8325
8329
|
|
8326
|
-
async def setup_app_venv(
|
8330
|
+
async def setup_app_venv(
|
8331
|
+
self,
|
8332
|
+
app_tag: DeployAppTag,
|
8333
|
+
spec: DeployVenvSpec,
|
8334
|
+
) -> None:
|
8327
8335
|
await self.setup_venv(
|
8328
8336
|
os.path.join(check.non_empty_str(self._deploy_home), 'apps', app_tag.app, app_tag.tag),
|
8329
8337
|
os.path.join(self._dir(), app_tag.app, app_tag.tag),
|
8338
|
+
spec,
|
8330
8339
|
)
|
8331
8340
|
|
8332
8341
|
|
@@ -8892,7 +8901,7 @@ class DeployAppManager(DeployPathOwner):
|
|
8892
8901
|
|
8893
8902
|
def get_owned_deploy_paths(self) -> ta.AbstractSet[DeployPath]:
|
8894
8903
|
return {
|
8895
|
-
DeployPath.parse('apps/@app/@tag'),
|
8904
|
+
DeployPath.parse('apps/@app/@tag/'),
|
8896
8905
|
}
|
8897
8906
|
|
8898
8907
|
async def prepare_app(
|
@@ -8911,7 +8920,8 @@ class DeployAppManager(DeployPathOwner):
|
|
8911
8920
|
|
8912
8921
|
#
|
8913
8922
|
|
8914
|
-
|
8923
|
+
if spec.venv is not None:
|
8924
|
+
await self._venvs.setup_app_venv(app_tag, spec.venv)
|
8915
8925
|
|
8916
8926
|
|
8917
8927
|
########################################
|
ominfra/scripts/supervisor.py
CHANGED
@@ -4548,7 +4548,7 @@ class InjectorBinder:
|
|
4548
4548
|
def __new__(cls, *args, **kwargs): # noqa
|
4549
4549
|
raise TypeError
|
4550
4550
|
|
4551
|
-
_FN_TYPES: ta.Tuple[type, ...] = (
|
4551
|
+
_FN_TYPES: ta.ClassVar[ta.Tuple[type, ...]] = (
|
4552
4552
|
types.FunctionType,
|
4553
4553
|
types.MethodType,
|
4554
4554
|
|
@@ -4570,7 +4570,7 @@ class InjectorBinder:
|
|
4570
4570
|
cls._FN_TYPES = (*cls._FN_TYPES, icls)
|
4571
4571
|
return icls
|
4572
4572
|
|
4573
|
-
_BANNED_BIND_TYPES: ta.Tuple[type, ...] = (
|
4573
|
+
_BANNED_BIND_TYPES: ta.ClassVar[ta.Tuple[type, ...]] = (
|
4574
4574
|
InjectorProvider,
|
4575
4575
|
)
|
4576
4576
|
|
@@ -4749,45 +4749,35 @@ def bind_injector_eager_key(key: ta.Any) -> InjectorBinding:
|
|
4749
4749
|
##
|
4750
4750
|
|
4751
4751
|
|
4752
|
-
class
|
4753
|
-
def __new__(cls, *args, **kwargs): # noqa
|
4754
|
-
raise TypeError
|
4755
|
-
|
4752
|
+
class InjectionApi:
|
4756
4753
|
# keys
|
4757
4754
|
|
4758
|
-
|
4759
|
-
def as_key(cls, o: ta.Any) -> InjectorKey:
|
4755
|
+
def as_key(self, o: ta.Any) -> InjectorKey:
|
4760
4756
|
return as_injector_key(o)
|
4761
4757
|
|
4762
|
-
|
4763
|
-
def array(cls, o: ta.Any) -> InjectorKey:
|
4758
|
+
def array(self, o: ta.Any) -> InjectorKey:
|
4764
4759
|
return dc.replace(as_injector_key(o), array=True)
|
4765
4760
|
|
4766
|
-
|
4767
|
-
def tag(cls, o: ta.Any, t: ta.Any) -> InjectorKey:
|
4761
|
+
def tag(self, o: ta.Any, t: ta.Any) -> InjectorKey:
|
4768
4762
|
return dc.replace(as_injector_key(o), tag=t)
|
4769
4763
|
|
4770
4764
|
# bindings
|
4771
4765
|
|
4772
|
-
|
4773
|
-
def as_bindings(cls, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
4766
|
+
def as_bindings(self, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
4774
4767
|
return as_injector_bindings(*args)
|
4775
4768
|
|
4776
|
-
|
4777
|
-
def override(cls, p: InjectorBindings, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
4769
|
+
def override(self, p: InjectorBindings, *args: InjectorBindingOrBindings) -> InjectorBindings:
|
4778
4770
|
return injector_override(p, *args)
|
4779
4771
|
|
4780
4772
|
# injector
|
4781
4773
|
|
4782
|
-
|
4783
|
-
def create_injector(cls, *args: InjectorBindingOrBindings, parent: ta.Optional[Injector] = None) -> Injector:
|
4774
|
+
def create_injector(self, *args: InjectorBindingOrBindings, parent: ta.Optional[Injector] = None) -> Injector:
|
4784
4775
|
return _Injector(as_injector_bindings(*args), parent)
|
4785
4776
|
|
4786
4777
|
# binder
|
4787
4778
|
|
4788
|
-
@classmethod
|
4789
4779
|
def bind(
|
4790
|
-
|
4780
|
+
self,
|
4791
4781
|
obj: ta.Any,
|
4792
4782
|
*,
|
4793
4783
|
key: ta.Any = None,
|
@@ -4822,35 +4812,32 @@ class Injection:
|
|
4822
4812
|
|
4823
4813
|
# helpers
|
4824
4814
|
|
4825
|
-
@classmethod
|
4826
4815
|
def bind_factory(
|
4827
|
-
|
4816
|
+
self,
|
4828
4817
|
fn: ta.Callable[..., T],
|
4829
4818
|
cls_: U,
|
4830
4819
|
ann: ta.Any = None,
|
4831
4820
|
) -> InjectorBindingOrBindings:
|
4832
|
-
return
|
4821
|
+
return self.bind(make_injector_factory(fn, cls_, ann))
|
4833
4822
|
|
4834
|
-
@classmethod
|
4835
4823
|
def bind_array(
|
4836
|
-
|
4824
|
+
self,
|
4837
4825
|
obj: ta.Any = None,
|
4838
4826
|
*,
|
4839
4827
|
tag: ta.Any = None,
|
4840
4828
|
) -> InjectorBindingOrBindings:
|
4841
4829
|
return bind_injector_array(obj, tag=tag)
|
4842
4830
|
|
4843
|
-
@classmethod
|
4844
4831
|
def bind_array_type(
|
4845
|
-
|
4832
|
+
self,
|
4846
4833
|
ele: ta.Union[InjectorKey, InjectorKeyCls],
|
4847
4834
|
cls_: U,
|
4848
4835
|
ann: ta.Any = None,
|
4849
4836
|
) -> InjectorBindingOrBindings:
|
4850
|
-
return
|
4837
|
+
return self.bind(make_injector_array_type(ele, cls_, ann))
|
4851
4838
|
|
4852
4839
|
|
4853
|
-
inj =
|
4840
|
+
inj = InjectionApi()
|
4854
4841
|
|
4855
4842
|
|
4856
4843
|
########################################
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ominfra
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev163
|
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.
|
16
|
-
Requires-Dist: omlish==0.0.0.
|
15
|
+
Requires-Dist: omdev==0.0.0.dev163
|
16
|
+
Requires-Dist: omlish==0.0.0.dev163
|
17
17
|
Provides-Extra: all
|
18
18
|
Requires-Dist: paramiko~=3.5; extra == "all"
|
19
19
|
Requires-Dist: asyncssh~=2.18; extra == "all"
|
@@ -44,17 +44,17 @@ ominfra/manage/commands/ping.py,sha256=DVZFzL1Z_f-Bq53vxMrL3xOi0iK_nMonJE4KvQf9w
|
|
44
44
|
ominfra/manage/commands/subprocess.py,sha256=yHGMbAI-xKe_9BUs5IZ3Yav8qRE-I9aGnBtTwW15Pnw,2440
|
45
45
|
ominfra/manage/commands/types.py,sha256=XFZPeqeIBAaIIQF3pdPbGxLlb-LCrz6WtlDWO2q_vz0,210
|
46
46
|
ominfra/manage/deploy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
47
|
-
ominfra/manage/deploy/apps.py,sha256=
|
47
|
+
ominfra/manage/deploy/apps.py,sha256=Nv3eXVPxEbSz4wyTI8chJ-C-EEC721vFssvvg0YDRXo,1937
|
48
48
|
ominfra/manage/deploy/commands.py,sha256=N9qVntnRgJ_IneI7rEQB2Za0oU7gouPfm-sl2MCwW1E,764
|
49
49
|
ominfra/manage/deploy/config.py,sha256=aR6ubMEWqkTI55XtcG1Cczn6YhCVN6eSL8DT5EHQJN0,166
|
50
50
|
ominfra/manage/deploy/git.py,sha256=6CGLvGH8uYkuT8gyZHybJb7sgUPTtFgy7grj1YHkI9g,3747
|
51
51
|
ominfra/manage/deploy/inject.py,sha256=8wuIgdzkDCHbc69nD1meLjwfCOMdWOIfDT5yijL-du8,1441
|
52
52
|
ominfra/manage/deploy/interp.py,sha256=OKkenH8YKEW_mEDR6X7_ZLxK9a1Ox6KHSwFPTHT6OzA,1029
|
53
53
|
ominfra/manage/deploy/paths.py,sha256=tK8zZFWOHDRdTN5AlTe-3MpgZqovhWrljGosQmeEYvo,6839
|
54
|
-
ominfra/manage/deploy/specs.py,sha256=
|
54
|
+
ominfra/manage/deploy/specs.py,sha256=qQSMA2ns0dalbizYwOp14i154mCOkjyvvh4_cN0gT3k,1574
|
55
55
|
ominfra/manage/deploy/tmp.py,sha256=L0pIfQuxQ7_6gC_AAv7eubI37_IPzCVR29hkn1MHL2Q,1230
|
56
56
|
ominfra/manage/deploy/types.py,sha256=o95wqvTGNRq8Cxx7VpqeX-9x1tI8k8BpqPFvJZkJYBA,305
|
57
|
-
ominfra/manage/deploy/venvs.py,sha256=
|
57
|
+
ominfra/manage/deploy/venvs.py,sha256=u8ds1TVyipFVSfm7sgEHGPw4JPG_hXY2j1LnTCLjxqw,2337
|
58
58
|
ominfra/manage/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
59
59
|
ominfra/manage/remote/_main.py,sha256=p5KoiS2WMw6QAqlDl_Zun-JybmCsy8awIfpBMLBjGMY,4356
|
60
60
|
ominfra/manage/remote/channel.py,sha256=36xR9Ti9ZA8TUBtxmY0u7_3Lv7E6wzQTxlZl7gLR5GE,2224
|
@@ -76,8 +76,8 @@ ominfra/manage/targets/inject.py,sha256=P4597xWM-V3I_gCt2O71OLhYQkkXtuJvkYRsIbhh
|
|
76
76
|
ominfra/manage/targets/targets.py,sha256=CFl8Uirgn3gfowO1Fn-LBK-6qYqEMFJ9snPUl0gCRuM,1753
|
77
77
|
ominfra/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
78
78
|
ominfra/scripts/journald2aws.py,sha256=EC8tSKW3hztBV_Kr_ykK72AmcvnWivUxcz6Sfg3M_hI,155085
|
79
|
-
ominfra/scripts/manage.py,sha256=
|
80
|
-
ominfra/scripts/supervisor.py,sha256=
|
79
|
+
ominfra/scripts/manage.py,sha256=M8k4XmOrq2R3rjUNU3SAHeqdjvWZptpXvFAl4A0RmGM,294060
|
80
|
+
ominfra/scripts/supervisor.py,sha256=uPcw4o8gt8xvQ97jXK-WBAaZj3D81Lq9tqDoKxGvLCU,273791
|
81
81
|
ominfra/supervisor/LICENSE.txt,sha256=yvqaMNsDhWxziHa9ien6qCW1SkZv-DQlAg96XjfSee8,1746
|
82
82
|
ominfra/supervisor/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
|
83
83
|
ominfra/supervisor/__main__.py,sha256=I0yFw-C08OOiZ3BF6lF1Oiv789EQXu-_j6whDhQUTEA,66
|
@@ -119,9 +119,9 @@ ominfra/tailscale/api.py,sha256=C5-t_b6jZXUWcy5k8bXm7CFnk73pSdrlMOgGDeGVrpw,1370
|
|
119
119
|
ominfra/tailscale/cli.py,sha256=h6akQJMl0KuWLHS7Ur6WcBZ2JwF0DJQhsPTnFBdGyNk,3571
|
120
120
|
ominfra/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
121
121
|
ominfra/tools/listresources.py,sha256=4qVg5txsb10EHhvqXXeM6gJ2jx9LbroEnPydDv1uXs0,6176
|
122
|
-
ominfra-0.0.0.
|
123
|
-
ominfra-0.0.0.
|
124
|
-
ominfra-0.0.0.
|
125
|
-
ominfra-0.0.0.
|
126
|
-
ominfra-0.0.0.
|
127
|
-
ominfra-0.0.0.
|
122
|
+
ominfra-0.0.0.dev163.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
123
|
+
ominfra-0.0.0.dev163.dist-info/METADATA,sha256=q9fLsfIpIUNBG4_udrnURTTYe68b6VtNtktfvCBVlIs,731
|
124
|
+
ominfra-0.0.0.dev163.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
125
|
+
ominfra-0.0.0.dev163.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
|
126
|
+
ominfra-0.0.0.dev163.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
|
127
|
+
ominfra-0.0.0.dev163.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|