ominfra 0.0.0.dev93__tar.gz → 0.0.0.dev95__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. {ominfra-0.0.0.dev93/ominfra.egg-info → ominfra-0.0.0.dev95}/PKG-INFO +3 -3
  2. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/.manifests.json +1 -1
  3. ominfra-0.0.0.dev95/ominfra/tailscale/api.py +66 -0
  4. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/tailscale/cli.py +10 -4
  5. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95/ominfra.egg-info}/PKG-INFO +3 -3
  6. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra.egg-info/SOURCES.txt +1 -0
  7. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra.egg-info/requires.txt +2 -2
  8. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/pyproject.toml +3 -3
  9. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/LICENSE +0 -0
  10. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/MANIFEST.in +0 -0
  11. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/README.rst +0 -0
  12. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/__about__.py +0 -0
  13. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/__init__.py +0 -0
  14. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/clouds/__init__.py +0 -0
  15. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/clouds/aws/__init__.py +0 -0
  16. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/clouds/aws/__main__.py +0 -0
  17. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/clouds/aws/auth.py +0 -0
  18. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/clouds/aws/cli.py +0 -0
  19. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/clouds/aws/dataclasses.py +0 -0
  20. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/clouds/aws/journald2aws/__init__.py +0 -0
  21. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/clouds/aws/journald2aws/main.py +0 -0
  22. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/clouds/aws/logs.py +0 -0
  23. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/clouds/aws/metadata.py +0 -0
  24. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/cmds.py +0 -0
  25. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/__init__.py +0 -0
  26. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/_executor.py +0 -0
  27. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/configs.py +0 -0
  28. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/executor/__init__.py +0 -0
  29. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/executor/base.py +0 -0
  30. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/executor/concerns/__init__.py +0 -0
  31. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/executor/concerns/dirs.py +0 -0
  32. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/executor/concerns/nginx.py +0 -0
  33. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/executor/concerns/repo.py +0 -0
  34. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/executor/concerns/supervisor.py +0 -0
  35. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/executor/concerns/systemd.py +0 -0
  36. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/executor/concerns/user.py +0 -0
  37. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/executor/concerns/venv.py +0 -0
  38. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/executor/main.py +0 -0
  39. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/poly/__init__.py +0 -0
  40. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/poly/_main.py +0 -0
  41. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/poly/base.py +0 -0
  42. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/poly/configs.py +0 -0
  43. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/poly/deploy.py +0 -0
  44. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/poly/main.py +0 -0
  45. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/poly/nginx.py +0 -0
  46. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/poly/repo.py +0 -0
  47. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/poly/runtime.py +0 -0
  48. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/poly/site.py +0 -0
  49. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/poly/supervisor.py +0 -0
  50. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/poly/venv.py +0 -0
  51. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/deploy/remote.py +0 -0
  52. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/journald/__init__.py +0 -0
  53. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/journald/genmessages.py +0 -0
  54. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/journald/messages.py +0 -0
  55. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/journald/tailer.py +0 -0
  56. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/manage/__init__.py +0 -0
  57. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/manage/manage.py +0 -0
  58. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/pyremote/__init__.py +0 -0
  59. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/pyremote/_runcommands.py +0 -0
  60. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/pyremote/bootstrap.py +0 -0
  61. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/pyremote/runcommands.py +0 -0
  62. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/scripts/__init__.py +0 -0
  63. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/scripts/journald2aws.py +0 -0
  64. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/scripts/supervisor.py +0 -0
  65. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/ssh.py +0 -0
  66. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/supervisor/__init__.py +0 -0
  67. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/supervisor/__main__.py +0 -0
  68. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/supervisor/compat.py +0 -0
  69. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/supervisor/configs.py +0 -0
  70. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/supervisor/context.py +0 -0
  71. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/supervisor/datatypes.py +0 -0
  72. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/supervisor/dispatchers.py +0 -0
  73. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/supervisor/events.py +0 -0
  74. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/supervisor/exceptions.py +0 -0
  75. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/supervisor/poller.py +0 -0
  76. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/supervisor/process.py +0 -0
  77. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/supervisor/states.py +0 -0
  78. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/supervisor/supervisor.py +0 -0
  79. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/supervisor/types.py +0 -0
  80. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/tailscale/__init__.py +0 -0
  81. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/threadworker.py +0 -0
  82. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/tools/__init__.py +0 -0
  83. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra/tools/listresources.py +0 -0
  84. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra.egg-info/dependency_links.txt +0 -0
  85. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra.egg-info/entry_points.txt +0 -0
  86. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/ominfra.egg-info/top_level.txt +0 -0
  87. {ominfra-0.0.0.dev93 → ominfra-0.0.0.dev95}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ominfra
3
- Version: 0.0.0.dev93
3
+ Version: 0.0.0.dev95
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.dev93
16
- Requires-Dist: omlish==0.0.0.dev93
15
+ Requires-Dist: omdev==0.0.0.dev95
16
+ Requires-Dist: omlish==0.0.0.dev95
17
17
  Provides-Extra: all
18
18
  Requires-Dist: paramiko~=3.5; extra == "all"
19
19
  Requires-Dist: asyncssh~=2.18; extra == "all"
@@ -15,7 +15,7 @@
15
15
  "module": ".tailscale.cli",
16
16
  "attr": "_CLI_MODULE",
17
17
  "file": "ominfra/tailscale/cli.py",
18
- "line": 104,
18
+ "line": 110,
19
19
  "value": {
20
20
  "$omdev.cli.types.CliModule": {
21
21
  "cmd_name": [
@@ -0,0 +1,66 @@
1
+ import datetime
2
+ import typing as ta
3
+
4
+ from omlish import dataclasses as dc
5
+ from omlish import marshal as msh
6
+
7
+
8
+ @dc.dataclass(frozen=True)
9
+ class Device:
10
+ dc.metadata(msh.ObjectMetadata(
11
+ field_naming=msh.Naming.LOW_CAMEL,
12
+ unknown_field='x',
13
+ ))
14
+
15
+ addresses: list[str]
16
+ authorized: bool
17
+ blocks_incoming_connections: bool
18
+ client_version: str
19
+ created: datetime.datetime
20
+ expires: datetime.datetime
21
+ hostname: str
22
+ id: str
23
+ is_external: bool
24
+ key_expiry_disabled: bool
25
+ last_seen: datetime.datetime
26
+ machine_key: str
27
+ name: str
28
+ node_id: str
29
+ node_key: str
30
+ os: str
31
+ tailnet_lock_error: str
32
+ tailnet_lock_key: str
33
+ update_available: bool
34
+ user: bool
35
+
36
+ x: ta.Mapping[str, ta.Any] | None = None
37
+
38
+
39
+ @dc.dataclass(frozen=True)
40
+ class CreatedKey:
41
+ dc.metadata(msh.ObjectMetadata(
42
+ field_naming=msh.Naming.LOW_CAMEL,
43
+ unknown_field='x',
44
+ ))
45
+
46
+ id: str
47
+ key: str
48
+ created: datetime.datetime
49
+ expires: datetime.datetime
50
+ capabilities: ta.Mapping[str, ta.Any]
51
+ description: str
52
+
53
+ x: ta.Mapping[str, ta.Any] | None = None
54
+
55
+
56
+ @dc.dataclass(frozen=True)
57
+ class ListedKey:
58
+ dc.metadata(msh.ObjectMetadata(
59
+ field_naming=msh.Naming.LOW_CAMEL,
60
+ unknown_field='x',
61
+ ))
62
+
63
+ id: str
64
+ description: str
65
+
66
+ x: ta.Mapping[str, ta.Any] | None = None
@@ -93,12 +93,18 @@ class Cli(ap.Cli):
93
93
  print(json.dumps_pretty(msh.marshal(out)))
94
94
 
95
95
  @ap.command(
96
- ap.arg('name'),
96
+ ap.arg('name', nargs='?'),
97
97
  )
98
98
  def ip(self) -> None:
99
- node = self.status().nodes_by_host_name[self.args.name]
100
- ips = [i for i in node.tailscale_ips or () if _IP_V4_PAT.fullmatch(i)]
101
- print(ips[0])
99
+ status = self.status()
100
+ ip_lists_by_hostname = {
101
+ hn: [i for i in node.tailscale_ips or () if _IP_V4_PAT.fullmatch(i)]
102
+ for hn, node in status.nodes_by_host_name.items()
103
+ }
104
+ if self.args.name:
105
+ print(ip_lists_by_hostname[self.args.name][0])
106
+ else:
107
+ print(json.dumps_pretty(ip_lists_by_hostname))
102
108
 
103
109
 
104
110
  # @omlish-manifest
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ominfra
3
- Version: 0.0.0.dev93
3
+ Version: 0.0.0.dev95
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.dev93
16
- Requires-Dist: omlish==0.0.0.dev93
15
+ Requires-Dist: omdev==0.0.0.dev95
16
+ Requires-Dist: omlish==0.0.0.dev95
17
17
  Provides-Extra: all
18
18
  Requires-Dist: paramiko~=3.5; extra == "all"
19
19
  Requires-Dist: asyncssh~=2.18; extra == "all"
@@ -79,6 +79,7 @@ ominfra/supervisor/states.py
79
79
  ominfra/supervisor/supervisor.py
80
80
  ominfra/supervisor/types.py
81
81
  ominfra/tailscale/__init__.py
82
+ ominfra/tailscale/api.py
82
83
  ominfra/tailscale/cli.py
83
84
  ominfra/tools/__init__.py
84
85
  ominfra/tools/listresources.py
@@ -1,5 +1,5 @@
1
- omdev==0.0.0.dev93
2
- omlish==0.0.0.dev93
1
+ omdev==0.0.0.dev95
2
+ omlish==0.0.0.dev95
3
3
 
4
4
  [all]
5
5
  paramiko~=3.5
@@ -12,7 +12,7 @@ authors = [
12
12
  urls = {source = 'https://github.com/wrmsr/omlish'}
13
13
  license = {text = 'BSD-3-Clause'}
14
14
  requires-python = '>=3.12'
15
- version = '0.0.0.dev93'
15
+ version = '0.0.0.dev95'
16
16
  classifiers = [
17
17
  'License :: OSI Approved :: BSD License',
18
18
  'Development Status :: 2 - Pre-Alpha',
@@ -22,8 +22,8 @@ classifiers = [
22
22
  ]
23
23
  description = 'ominfra'
24
24
  dependencies = [
25
- 'omdev == 0.0.0.dev93',
26
- 'omlish == 0.0.0.dev93',
25
+ 'omdev == 0.0.0.dev95',
26
+ 'omlish == 0.0.0.dev95',
27
27
  ]
28
28
 
29
29
  [project.optional-dependencies]
File without changes
File without changes
File without changes
File without changes