ominfra 0.0.0.dev188__py3-none-any.whl → 0.0.0.dev190__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/__about__.py +1 -0
- ominfra/manage/deploy/apps.py +42 -90
- ominfra/manage/deploy/commands.py +1 -1
- ominfra/manage/deploy/conf/manager.py +20 -12
- ominfra/manage/deploy/conf/specs.py +9 -0
- ominfra/manage/deploy/deploy.py +207 -2
- ominfra/manage/deploy/inject.py +4 -6
- ominfra/manage/deploy/nginx.py +8 -0
- ominfra/manage/deploy/paths/paths.py +5 -1
- ominfra/manage/deploy/specs.py +12 -1
- ominfra/manage/deploy/systemd.py +110 -0
- ominfra/manage/deploy/venvs.py +0 -2
- ominfra/scripts/journald2aws.py +11 -0
- ominfra/scripts/manage.py +489 -152
- ominfra/scripts/supervisor.py +11 -0
- {ominfra-0.0.0.dev188.dist-info → ominfra-0.0.0.dev190.dist-info}/METADATA +4 -3
- {ominfra-0.0.0.dev188.dist-info → ominfra-0.0.0.dev190.dist-info}/RECORD +21 -20
- ominfra/manage/deploy/driver.py +0 -62
- {ominfra-0.0.0.dev188.dist-info → ominfra-0.0.0.dev190.dist-info}/LICENSE +0 -0
- {ominfra-0.0.0.dev188.dist-info → ominfra-0.0.0.dev190.dist-info}/WHEEL +0 -0
- {ominfra-0.0.0.dev188.dist-info → ominfra-0.0.0.dev190.dist-info}/entry_points.txt +0 -0
- {ominfra-0.0.0.dev188.dist-info → ominfra-0.0.0.dev190.dist-info}/top_level.txt +0 -0
    
        ominfra/scripts/supervisor.py
    CHANGED
    
    | @@ -3652,10 +3652,15 @@ class DelimitingBuffer: | |
| 3652 3652 |  | 
| 3653 3653 |  | 
| 3654 3654 | 
             
            class ReadableListBuffer:
         | 
| 3655 | 
            +
                # FIXME: merge with PrependableGeneratorReader
         | 
| 3656 | 
            +
             | 
| 3655 3657 | 
             
                def __init__(self) -> None:
         | 
| 3656 3658 | 
             
                    super().__init__()
         | 
| 3657 3659 | 
             
                    self._lst: list[bytes] = []
         | 
| 3658 3660 |  | 
| 3661 | 
            +
                def __len__(self) -> int:
         | 
| 3662 | 
            +
                    return sum(map(len, self._lst))
         | 
| 3663 | 
            +
             | 
| 3659 3664 | 
             
                def feed(self, d: bytes) -> None:
         | 
| 3660 3665 | 
             
                    if d:
         | 
| 3661 3666 | 
             
                        self._lst.append(d)
         | 
| @@ -3694,6 +3699,12 @@ class ReadableListBuffer: | |
| 3694 3699 |  | 
| 3695 3700 | 
             
                    return None
         | 
| 3696 3701 |  | 
| 3702 | 
            +
                def read_exact(self, sz: int) -> bytes:
         | 
| 3703 | 
            +
                    d = self.read(sz)
         | 
| 3704 | 
            +
                    if d is None or len(d) != sz:
         | 
| 3705 | 
            +
                        raise EOFError(f'ReadableListBuffer got {"no" if d is None else len(d)}, expected {sz}')
         | 
| 3706 | 
            +
                    return d
         | 
| 3707 | 
            +
             | 
| 3697 3708 | 
             
                def read_until(self, delim: bytes = b'\n') -> ta.Optional[bytes]:
         | 
| 3698 3709 | 
             
                    if not (lst := self._lst):
         | 
| 3699 3710 | 
             
                        return None
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            Metadata-Version: 2.1
         | 
| 2 2 | 
             
            Name: ominfra
         | 
| 3 | 
            -
            Version: 0.0.0. | 
| 3 | 
            +
            Version: 0.0.0.dev190
         | 
| 4 4 | 
             
            Summary: ominfra
         | 
| 5 5 | 
             
            Author: wrmsr
         | 
| 6 6 | 
             
            License: BSD-3-Clause
         | 
| @@ -12,8 +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. | 
| 15 | 
            +
            Requires-Dist: omdev==0.0.0.dev190
         | 
| 16 | 
            +
            Requires-Dist: omlish==0.0.0.dev190
         | 
| 17 | 
            +
            Requires-Dist: omserv==0.0.0.dev190
         | 
| 17 18 | 
             
            Provides-Extra: all
         | 
| 18 19 | 
             
            Requires-Dist: paramiko~=3.5; extra == "all"
         | 
| 19 20 | 
             
            Requires-Dist: asyncssh~=2.18; extra == "all"
         | 
| @@ -1,5 +1,5 @@ | |
| 1 1 | 
             
            ominfra/.manifests.json,sha256=8KREXxMAlsilZOktXPYru1ND3V5hFI22vnrp6hT3bio,589
         | 
| 2 | 
            -
            ominfra/__about__.py,sha256= | 
| 2 | 
            +
            ominfra/__about__.py,sha256=_gUs3H7uunGy5IfGw3mq4dFJWaF1mecSPruJPyjbs7Y,741
         | 
| 3 3 | 
             
            ominfra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         | 
| 4 4 | 
             
            ominfra/cmds.py,sha256=E0AfnvEmnKntXWvmLW5L05_NeDpBET1VBXn7vV6EwBQ,2083
         | 
| 5 5 | 
             
            ominfra/configs.py,sha256=UrwZrzsnU4E305OoFH_eAcyI8e82LQZ2yhy8WnuAUGM,3055
         | 
| @@ -44,29 +44,30 @@ 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= | 
| 48 | 
            -
            ominfra/manage/deploy/commands.py,sha256= | 
| 47 | 
            +
            ominfra/manage/deploy/apps.py,sha256=cZmM3VgWlojKoGFAQN2Zzu5UkT_o7SXaoXg1iKdmFE8,3010
         | 
| 48 | 
            +
            ominfra/manage/deploy/commands.py,sha256=OVZzSY4EP_SD7KJRkIIPeqUxcV4mcwrc_WYNvM16ahM,830
         | 
| 49 49 | 
             
            ominfra/manage/deploy/config.py,sha256=kPpl8TRisz295cM4oj-RHA6oh5jdcJ_N9pVpkl_doO8,114
         | 
| 50 | 
            -
            ominfra/manage/deploy/deploy.py,sha256= | 
| 51 | 
            -
            ominfra/manage/deploy/driver.py,sha256=kSriXFC8L_EpOcHFGxNZDBGyxV_fZAAF95y-czisnwE,1352
         | 
| 50 | 
            +
            ominfra/manage/deploy/deploy.py,sha256=qAae-MIsaebt1WuyT6vdYFDX6aLkuhDOesaCzMvpY1w,6041
         | 
| 52 51 | 
             
            ominfra/manage/deploy/git.py,sha256=g4wzUuSu9HwWSDhdVX-7BvA2htMwtWbRcHaoDy-xOJ4,3960
         | 
| 53 | 
            -
            ominfra/manage/deploy/inject.py,sha256= | 
| 52 | 
            +
            ominfra/manage/deploy/inject.py,sha256=lVNik0CfQMd31fiqzFlM828oQKVUTJY-zTmU1pGOopQ,3467
         | 
| 54 53 | 
             
            ominfra/manage/deploy/inject_.py,sha256=LR7gEkVx2ldUoQZsGvIcm1Y4QXCVDnLIAdc3LHhQiD4,392
         | 
| 55 54 | 
             
            ominfra/manage/deploy/interp.py,sha256=_5fuHrY5ZA0eGbnNcOqAhAMSWI1UNvbm0l29eDjE5fI,1037
         | 
| 56 | 
            -
            ominfra/manage/deploy/ | 
| 55 | 
            +
            ominfra/manage/deploy/nginx.py,sha256=cU9GjWMSxqeNhbuSBZYRuBXUokiRiY4OWMLAgbj_4m4,89
         | 
| 56 | 
            +
            ominfra/manage/deploy/specs.py,sha256=Bl0Fp1_loWZ3Y6gFGE9j_neTslaN4jMwFKHmoFcQixs,2629
         | 
| 57 | 
            +
            ominfra/manage/deploy/systemd.py,sha256=aDwm3Ly0I4qSZehInIGn_70RQvgdzUCSTfOTlhRmVrM,2765
         | 
| 57 58 | 
             
            ominfra/manage/deploy/tags.py,sha256=3BU0OtHQJ1Vk9B_U7Q3Cq1rbVgxcXrFki24WU0nPX1M,5106
         | 
| 58 59 | 
             
            ominfra/manage/deploy/tmp.py,sha256=FqXoVpIpVe8-KWNu7kXt37A4jKdK_y7h_YFvtrUoOG8,729
         | 
| 59 60 | 
             
            ominfra/manage/deploy/types.py,sha256=ZcIoheZ3zW7n0IZiqTRW_Uo3JyWWeWg5nyKGryvGc2I,112
         | 
| 60 | 
            -
            ominfra/manage/deploy/venvs.py,sha256= | 
| 61 | 
            +
            ominfra/manage/deploy/venvs.py,sha256=cwHapRRMioWvsYJL2-8SijTDOmiVoXIsOlunEIaIuVU,1532
         | 
| 61 62 | 
             
            ominfra/manage/deploy/conf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         | 
| 62 63 | 
             
            ominfra/manage/deploy/conf/inject.py,sha256=xHZQr7oaJCxaKgpJ0H-hgiQNGt4QsskhT3f5v7xrFwE,451
         | 
| 63 | 
            -
            ominfra/manage/deploy/conf/manager.py,sha256= | 
| 64 | 
            -
            ominfra/manage/deploy/conf/specs.py,sha256= | 
| 64 | 
            +
            ominfra/manage/deploy/conf/manager.py,sha256=h8tJJv-ZfK5Jiw4xM-mbEoWolVUlq_ETsNqNhSzN9ag,6653
         | 
| 65 | 
            +
            ominfra/manage/deploy/conf/specs.py,sha256=AWeofV1YbcNZS-7WX7EpsX8i_7stJAXndXktB6fDWw8,2187
         | 
| 65 66 | 
             
            ominfra/manage/deploy/paths/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         | 
| 66 67 | 
             
            ominfra/manage/deploy/paths/inject.py,sha256=X81C-Qhef1LQ7tILWvkomBwFTvgooLVmWRnKL7TeVoI,596
         | 
| 67 68 | 
             
            ominfra/manage/deploy/paths/manager.py,sha256=Dnl8euyZQYDGwDzkMvgPAwOssseducr5kP6T0qzVXQk,929
         | 
| 68 69 | 
             
            ominfra/manage/deploy/paths/owners.py,sha256=sgCdKOFve8XZOtoTjrFrOrJd_MhZOGXo4yFJAFGRQ_s,1229
         | 
| 69 | 
            -
            ominfra/manage/deploy/paths/paths.py,sha256= | 
| 70 | 
            +
            ominfra/manage/deploy/paths/paths.py,sha256=Slh6_ts77c4VVgyOt8GmIBMRz-rKsTnuKaaIYUGNwFY,5637
         | 
| 70 71 | 
             
            ominfra/manage/deploy/paths/specs.py,sha256=0cXJI7xjevv4qco3qn4jAs9i5pGyupJ3CFAyJh8y1z0,244
         | 
| 71 72 | 
             
            ominfra/manage/deploy/paths/types.py,sha256=TGgtSASmdyuZ2maZnvahfA0QxPLWlHBtpDeIEoEDGxk,112
         | 
| 72 73 | 
             
            ominfra/manage/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         | 
| @@ -91,9 +92,9 @@ ominfra/manage/targets/connection.py,sha256=rVI1YJxFClcF-sdttqWyIz9_XjPI01GUdwxY | |
| 91 92 | 
             
            ominfra/manage/targets/inject.py,sha256=P4597xWM-V3I_gCt2O71OLhYQkkXtuJvkYRsIbhhMcE,1561
         | 
| 92 93 | 
             
            ominfra/manage/targets/targets.py,sha256=7GP6UAZyJFEhpkJN6UQdpr_WN3p7C76v-s445y-WB6U,1885
         | 
| 93 94 | 
             
            ominfra/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         | 
| 94 | 
            -
            ominfra/scripts/journald2aws.py,sha256 | 
| 95 | 
            -
            ominfra/scripts/manage.py,sha256= | 
| 96 | 
            -
            ominfra/scripts/supervisor.py,sha256= | 
| 95 | 
            +
            ominfra/scripts/journald2aws.py,sha256=jxBI2ETft-GMJn0hFwV_lZgT55tj2kqKl0PszxUkOg8,158938
         | 
| 96 | 
            +
            ominfra/scripts/manage.py,sha256=caUPUY6Re52MTbNCdsKLo_z2OAmZo81Dw_tVOpnQ1Ko,338592
         | 
| 97 | 
            +
            ominfra/scripts/supervisor.py,sha256=nFPSB-NGQeoHwAA5UCAvcgy6sUWh4UtuQbhVZShk7wI,283226
         | 
| 97 98 | 
             
            ominfra/supervisor/LICENSE.txt,sha256=yvqaMNsDhWxziHa9ien6qCW1SkZv-DQlAg96XjfSee8,1746
         | 
| 98 99 | 
             
            ominfra/supervisor/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
         | 
| 99 100 | 
             
            ominfra/supervisor/__main__.py,sha256=I0yFw-C08OOiZ3BF6lF1Oiv789EQXu-_j6whDhQUTEA,66
         | 
| @@ -135,9 +136,9 @@ ominfra/tailscale/api.py,sha256=C5-t_b6jZXUWcy5k8bXm7CFnk73pSdrlMOgGDeGVrpw,1370 | |
| 135 136 | 
             
            ominfra/tailscale/cli.py,sha256=3FnJbgpLw6gInTfhERd1mDy9ijjMUGxkdYVo43Tnxx4,3555
         | 
| 136 137 | 
             
            ominfra/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         | 
| 137 138 | 
             
            ominfra/tools/listresources.py,sha256=4qVg5txsb10EHhvqXXeM6gJ2jx9LbroEnPydDv1uXs0,6176
         | 
| 138 | 
            -
            ominfra-0.0.0. | 
| 139 | 
            -
            ominfra-0.0.0. | 
| 140 | 
            -
            ominfra-0.0.0. | 
| 141 | 
            -
            ominfra-0.0.0. | 
| 142 | 
            -
            ominfra-0.0.0. | 
| 143 | 
            -
            ominfra-0.0.0. | 
| 139 | 
            +
            ominfra-0.0.0.dev190.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
         | 
| 140 | 
            +
            ominfra-0.0.0.dev190.dist-info/METADATA,sha256=ZVC-MD5Jy8fZaChCJgEhJBQZ5JRqs_DVijPKgaJtwxs,767
         | 
| 141 | 
            +
            ominfra-0.0.0.dev190.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
         | 
| 142 | 
            +
            ominfra-0.0.0.dev190.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
         | 
| 143 | 
            +
            ominfra-0.0.0.dev190.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
         | 
| 144 | 
            +
            ominfra-0.0.0.dev190.dist-info/RECORD,,
         | 
    
        ominfra/manage/deploy/driver.py
    DELETED
    
    | @@ -1,62 +0,0 @@ | |
| 1 | 
            -
            # ruff: noqa: UP006 UP007
         | 
| 2 | 
            -
            import typing as ta
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            from omlish.lite.typing import Func1
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            from .apps import DeployAppManager
         | 
| 7 | 
            -
            from .paths.manager import DeployPathsManager
         | 
| 8 | 
            -
            from .specs import DeploySpec
         | 
| 9 | 
            -
            from .tags import DeployAppRev
         | 
| 10 | 
            -
            from .tags import DeployTagMap
         | 
| 11 | 
            -
            from .tags import DeployTime
         | 
| 12 | 
            -
            from .types import DeployHome
         | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
            class DeployDriverFactory(Func1[DeploySpec, ta.ContextManager['DeployDriver']]):
         | 
| 16 | 
            -
                pass
         | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
            class DeployDriver:
         | 
| 20 | 
            -
                def __init__(
         | 
| 21 | 
            -
                        self,
         | 
| 22 | 
            -
                        *,
         | 
| 23 | 
            -
                        spec: DeploySpec,
         | 
| 24 | 
            -
                        home: DeployHome,
         | 
| 25 | 
            -
                        time: DeployTime,
         | 
| 26 | 
            -
             | 
| 27 | 
            -
                        paths: DeployPathsManager,
         | 
| 28 | 
            -
                        apps: DeployAppManager,
         | 
| 29 | 
            -
                ) -> None:
         | 
| 30 | 
            -
                    super().__init__()
         | 
| 31 | 
            -
             | 
| 32 | 
            -
                    self._spec = spec
         | 
| 33 | 
            -
                    self._home = home
         | 
| 34 | 
            -
                    self._time = time
         | 
| 35 | 
            -
             | 
| 36 | 
            -
                    self._paths = paths
         | 
| 37 | 
            -
                    self._apps = apps
         | 
| 38 | 
            -
             | 
| 39 | 
            -
                async def drive_deploy(self) -> None:
         | 
| 40 | 
            -
                    self._paths.validate_deploy_paths()
         | 
| 41 | 
            -
             | 
| 42 | 
            -
                    #
         | 
| 43 | 
            -
             | 
| 44 | 
            -
                    deploy_tags = DeployTagMap(
         | 
| 45 | 
            -
                        self._time,
         | 
| 46 | 
            -
                        self._spec.key(),
         | 
| 47 | 
            -
                    )
         | 
| 48 | 
            -
             | 
| 49 | 
            -
                    #
         | 
| 50 | 
            -
             | 
| 51 | 
            -
                    for app in self._spec.apps:
         | 
| 52 | 
            -
                        app_tags = deploy_tags.add(
         | 
| 53 | 
            -
                            app.app,
         | 
| 54 | 
            -
                            app.key(),
         | 
| 55 | 
            -
                            DeployAppRev(app.git.rev),
         | 
| 56 | 
            -
                        )
         | 
| 57 | 
            -
             | 
| 58 | 
            -
                        await self._apps.prepare_app(
         | 
| 59 | 
            -
                            app,
         | 
| 60 | 
            -
                            self._home,
         | 
| 61 | 
            -
                            app_tags,
         | 
| 62 | 
            -
                        )
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         |