arkitekt-next 0.7.54__tar.gz → 0.7.56__tar.gz

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.

Potentially problematic release.


This version of arkitekt-next might be problematic. Click here for more details.

Files changed (142) hide show
  1. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/PKG-INFO +8 -8
  2. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/admin.py +1 -1
  3. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/arkitekt.py +21 -10
  4. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/fluss.py +3 -1
  5. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/gateway.py +3 -1
  6. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/internal_docker.py +4 -1
  7. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/kabinet.py +1 -1
  8. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/livekit.py +1 -1
  9. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/lok.py +1 -1
  10. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/mikro.py +1 -1
  11. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/minio.py +4 -1
  12. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/mount.py +1 -2
  13. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/namegen.py +1 -1
  14. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/orkestrator.py +19 -8
  15. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/postgres.py +52 -9
  16. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/redis.py +4 -1
  17. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/rekuest.py +1 -1
  18. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/secret.py +1 -1
  19. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/socket.py +3 -1
  20. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/tailscale.py +1 -1
  21. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/pyproject.toml +8 -8
  22. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/LICENSE +0 -0
  23. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/README.md +0 -0
  24. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/__blok__.py +0 -0
  25. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/__init__.py +0 -0
  26. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/apps/__init__.py +0 -0
  27. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/apps/easy.py +0 -0
  28. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/apps/next.py +0 -0
  29. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/apps/qt.py +0 -0
  30. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/apps/service/__init__.py +0 -0
  31. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/apps/service/fakts.py +0 -0
  32. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/apps/service/fakts_next.py +0 -0
  33. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/apps/service/fakts_qt.py +0 -0
  34. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/apps/service/grant_registry.py +0 -0
  35. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/apps/service/herre.py +0 -0
  36. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/apps/service/herre_qt.py +0 -0
  37. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/apps/types.py +0 -0
  38. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/__init__.py +0 -0
  39. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/base.py +0 -0
  40. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/config.py +0 -0
  41. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/services/__init__.py +0 -0
  42. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/services/admin.py +0 -0
  43. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/services/config.py +0 -0
  44. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/services/db.py +0 -0
  45. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/services/gateway.py +0 -0
  46. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/services/livekit.py +0 -0
  47. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/services/lok.py +0 -0
  48. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/services/mount.py +0 -0
  49. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/services/name.py +0 -0
  50. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/services/redis.py +0 -0
  51. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/services/s3.py +0 -0
  52. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/services/secret.py +0 -0
  53. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/bloks/services/socket.py +0 -0
  54. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/builders.py +0 -0
  55. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/__init__.py +0 -0
  56. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/call/__init__.py +0 -0
  57. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/call/local.py +0 -0
  58. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/call/main.py +0 -0
  59. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/call/remote.py +0 -0
  60. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/gen/__init__.py +0 -0
  61. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/gen/compile.py +0 -0
  62. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/gen/init.py +0 -0
  63. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/gen/main.py +0 -0
  64. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/gen/watch.py +0 -0
  65. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/init/__init__.py +0 -0
  66. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/init/main.py +0 -0
  67. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/inspect/__init__.py +0 -0
  68. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/inspect/main.py +0 -0
  69. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/inspect/requirements.py +0 -0
  70. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/inspect/templates.py +0 -0
  71. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/inspect/variables.py +0 -0
  72. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/kabinet/__init__.py +0 -0
  73. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/kabinet/build.py +0 -0
  74. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/kabinet/init.py +0 -0
  75. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/kabinet/main.py +0 -0
  76. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/kabinet/publish.py +0 -0
  77. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/kabinet/stage.py +0 -0
  78. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/kabinet/utils.py +0 -0
  79. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/kabinet/validate.py +0 -0
  80. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/kabinet/wizard.py +0 -0
  81. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/manifest/__init__.py +0 -0
  82. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/manifest/inspect.py +0 -0
  83. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/manifest/main.py +0 -0
  84. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/manifest/scopes.py +0 -0
  85. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/manifest/version.py +0 -0
  86. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/manifest/wizard.py +0 -0
  87. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/run/__init__.py +0 -0
  88. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/run/dev.py +0 -0
  89. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/run/main.py +0 -0
  90. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/run/prod.py +0 -0
  91. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/commands/run/utils.py +0 -0
  92. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/configs/base.yaml +0 -0
  93. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/constants.py +0 -0
  94. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/dockerfiles/vanilla.dockerfile +0 -0
  95. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/errors.py +0 -0
  96. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/inspect.py +0 -0
  97. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/io.py +0 -0
  98. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/main.py +0 -0
  99. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/options.py +0 -0
  100. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/schemas/fluss.schema.graphql +0 -0
  101. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/schemas/gucker.schema.graphql +0 -0
  102. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/schemas/kabinet.schema.graphql +0 -0
  103. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/schemas/kluster.schema.graphql +0 -0
  104. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/schemas/konviktion.schema.graphql +0 -0
  105. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/schemas/kuay.schema.graphql +0 -0
  106. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/schemas/mikro.schema.graphql +0 -0
  107. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/schemas/mikro_next.schema.graphql +0 -0
  108. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/schemas/napari.schema.graphql +0 -0
  109. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/schemas/omero_ark.schema.graphql +0 -0
  110. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/schemas/port.schema.graphql +0 -0
  111. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/schemas/rekuest.schema.graphql +0 -0
  112. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/schemas/rekuest_next.schema.graphql +0 -0
  113. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/schemas/unlok.schema.graphql +0 -0
  114. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/templates/filter.py +0 -0
  115. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/templates/simple.py +0 -0
  116. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/texts.py +0 -0
  117. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/types.py +0 -0
  118. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/ui.py +0 -0
  119. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/utils.py +0 -0
  120. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/validators.py +0 -0
  121. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/vars.py +0 -0
  122. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/cli/versions/v1.yaml +0 -0
  123. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/constants.py +0 -0
  124. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/model.py +0 -0
  125. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/__init__.py +0 -0
  126. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/assets/dark/gear.png +0 -0
  127. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/assets/dark/green pulse.gif +0 -0
  128. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/assets/dark/orange pulse.gif +0 -0
  129. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/assets/dark/pink pulse.gif +0 -0
  130. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/assets/dark/red pulse.gif +0 -0
  131. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/assets/light/gear.png +0 -0
  132. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/assets/light/green pulse.gif +0 -0
  133. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/assets/light/orange pulse.gif +0 -0
  134. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/assets/light/pink pulse.gif +0 -0
  135. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/assets/light/red pulse.gif +0 -0
  136. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/builders.py +0 -0
  137. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/magic_bar.py +0 -0
  138. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/types.py +0 -0
  139. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/qt/utils.py +0 -0
  140. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/service_registry.py +0 -0
  141. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/tqdm.py +0 -0
  142. {arkitekt_next-0.7.54 → arkitekt_next-0.7.56}/arkitekt_next/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arkitekt-next
3
- Version: 0.7.54
3
+ Version: 0.7.56
4
4
  Summary: client for the arkitekt_next platform
5
5
  License: MIT
6
6
  Author: jhnnsrs
@@ -16,23 +16,23 @@ Classifier: Programming Language :: Python :: 3.12
16
16
  Provides-Extra: all
17
17
  Provides-Extra: blok
18
18
  Provides-Extra: cli
19
- Requires-Dist: blok (>=0.0.15) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "blok")
19
+ Requires-Dist: blok (>=0.0.19) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "blok")
20
20
  Requires-Dist: cryptography (>=40.0.8) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "blok")
21
21
  Requires-Dist: dokker (>=0.1.21)
22
22
  Requires-Dist: fakts (>=0.5.0)
23
- Requires-Dist: fluss-next (>=0.1.73) ; extra == "all"
23
+ Requires-Dist: fluss-next (>=0.1.76) ; extra == "all"
24
24
  Requires-Dist: herre (>=0.4.3)
25
- Requires-Dist: kabinet (>=0.1.11) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "all")
25
+ Requires-Dist: kabinet (>=0.1.14) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "all")
26
26
  Requires-Dist: koil (>=0.3.6)
27
- Requires-Dist: mikro-next (>=0.1.28) ; (python_version >= "3.10" and python_version < "4.0") and (extra == "all")
27
+ Requires-Dist: mikro-next (>=0.1.31) ; (python_version >= "3.10" and python_version < "4.0") and (extra == "all")
28
28
  Requires-Dist: namegenerator (>=1.0.6) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "blok")
29
29
  Requires-Dist: netifaces (>=0.11.0) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "blok")
30
- Requires-Dist: reaktion-next (>=0.1.63) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all")
31
- Requires-Dist: rekuest-next (>=0.2.18) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "cli" or extra == "all")
30
+ Requires-Dist: reaktion-next (>=0.1.66) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all")
31
+ Requires-Dist: rekuest-next (>=0.2.21) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "cli" or extra == "all")
32
32
  Requires-Dist: rich-click (>=1.6.1) ; extra == "cli" or extra == "all"
33
33
  Requires-Dist: semver (>=3.0.1) ; extra == "cli" or extra == "all"
34
34
  Requires-Dist: turms (>=0.5.0) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "cli" or extra == "all")
35
- Requires-Dist: unlok-next (>=0.1.67) ; python_version >= "3.8" and python_version < "4.0"
35
+ Requires-Dist: unlok-next (>=0.1.70) ; python_version >= "3.8" and python_version < "4.0"
36
36
  Requires-Dist: watchfiles (>=0.18.1) ; extra == "cli" or extra == "all"
37
37
  Description-Content-Type: text/markdown
38
38
 
@@ -4,7 +4,7 @@ from blok import blok, InitContext, Option
4
4
  from arkitekt_next.bloks.services.admin import AdminService, AdminCredentials
5
5
 
6
6
 
7
- @blok(AdminService)
7
+ @blok(AdminService, description="sdmin credentials for the application")
8
8
  class AdminBlok:
9
9
  def __init__(self) -> None:
10
10
  self.password = "admin"
@@ -10,6 +10,7 @@ from .fluss import FlussBlok
10
10
  from .gateway import GatewayBlok
11
11
  from .internal_docker import InternalDockerBlok
12
12
  from .orkestrator import OrkestratorBlok
13
+ from typing import Optional
13
14
 
14
15
 
15
16
  class AdminCredentials(BaseModel):
@@ -23,7 +24,7 @@ class ArkitektBlok:
23
24
  def entry(self, renderer: Renderer):
24
25
  renderer.render(
25
26
  Panel(
26
- f"This is the arkitekt build that allows you to setup a full stack arkitekt application. Make sure to understand how bloks work before proceeding.",
27
+ f"""This is the arkitekt build that allows you to setup a full stack arkitekt application. You can use this to setup a full stack application with the following services""",
27
28
  expand=False,
28
29
  title="Welcome to Arkitekt!",
29
30
  style="bold magenta",
@@ -32,17 +33,27 @@ class ArkitektBlok:
32
33
 
33
34
  def preflight(
34
35
  self,
35
- lok: LocalLiveKitBlok,
36
- mikro: MikroBlok,
37
- kabinet: KabinetBlok,
38
- rekuest: RekuestBlok,
39
- fluss: FlussBlok,
40
36
  gateway: GatewayBlok,
41
- internal_engine: InternalDockerBlok,
42
- scale: TailscaleBlok,
43
- orkestrator: OrkestratorBlok,
37
+ livekit: Optional[LocalLiveKitBlok] = None,
38
+ mikro: Optional[MikroBlok] = None,
39
+ kabinet: Optional[KabinetBlok] = None,
40
+ rekuest: Optional[RekuestBlok] = None,
41
+ fluss: Optional[FlussBlok] = None,
42
+ internal_engine: Optional[InternalDockerBlok] = None,
43
+ scale: Optional[TailscaleBlok] = None,
44
+ orkestrator: Optional[OrkestratorBlok] = None,
44
45
  ):
45
- print(lok, mikro, kabinet, rekuest, fluss, gateway, internal_engine)
46
+ print(
47
+ gateway,
48
+ mikro,
49
+ kabinet,
50
+ rekuest,
51
+ fluss,
52
+ gateway,
53
+ internal_engine,
54
+ scale,
55
+ orkestrator,
56
+ )
46
57
 
47
58
  def build(self, cwd):
48
59
  pass
@@ -9,7 +9,9 @@ from typing import List
9
9
  DEFAULT_ARKITEKT_URL = "http://localhost:8000"
10
10
 
11
11
 
12
- @blok("live.arkitekt.fluss")
12
+ @blok(
13
+ "live.arkitekt.fluss", description="A service for managing workflows and their data"
14
+ )
13
15
  class FlussBlok(BaseArkitektService):
14
16
  def __init__(self) -> None:
15
17
  self.dev = False
@@ -31,7 +31,9 @@ class ExposedPort(BaseModel):
31
31
  to: int
32
32
 
33
33
 
34
- @blok("live.arkitekt.gateway")
34
+ @blok(
35
+ "live.arkitekt.gateway", description="A gateway for exposing services on the host"
36
+ )
35
37
  class GatewayBlok:
36
38
  def __init__(self) -> None:
37
39
  self.exposed_hosts = {}
@@ -9,7 +9,10 @@ from blok.bloks.services.dns import DnsService
9
9
  from blok.tree import YamlFile, Repo
10
10
 
11
11
 
12
- @blok("live.arkitekt.internal_engine")
12
+ @blok(
13
+ "live.arkitekt.internal_engine",
14
+ description="an arktitekt deployer app that uses docker",
15
+ )
13
16
  class InternalDockerBlok:
14
17
  def __init__(self) -> None:
15
18
  self.host = "internal_docker"
@@ -7,7 +7,7 @@ from blok.tree import Repo, YamlFile
7
7
  from arkitekt_next.bloks.base import BaseArkitektService
8
8
 
9
9
 
10
- @blok("live.arkitekt.kabinet")
10
+ @blok("live.arkitekt.kabinet", description="a container and app management service")
11
11
  class KabinetBlok(BaseArkitektService):
12
12
  def __init__(self) -> None:
13
13
  self.dev = False
@@ -7,7 +7,7 @@ from blok import blok, InitContext, ExecutionContext, Option
7
7
  from blok.tree import YamlFile, Repo
8
8
 
9
9
 
10
- @blok(LivekitService)
10
+ @blok(LivekitService, description="a self-hosted livekit server")
11
11
  class LocalLiveKitBlok:
12
12
  def __init__(self) -> None:
13
13
  self.host = "livekit"
@@ -113,7 +113,7 @@ class ScopeParamType(click.ParamType):
113
113
  SCOPE = ScopeParamType()
114
114
 
115
115
 
116
- @blok(LokService)
116
+ @blok(LokService, description="Lok is an authentication and authorization service")
117
117
  class LokBlok:
118
118
  db_name: str
119
119
 
@@ -18,7 +18,7 @@ class AccessCredentials(BaseModel):
18
18
  db_name: str
19
19
 
20
20
 
21
- @blok("live.arkitekt.mikro")
21
+ @blok("live.arkitekt.mikro", description="Mikro is the bio-image database for arkitekt")
22
22
  class MikroBlok(BaseArkitektService):
23
23
  def __init__(self) -> None:
24
24
  self.dev = False
@@ -33,7 +33,10 @@ class BucketMapParamType(click.ParamType):
33
33
  TOKEN = BucketMapParamType()
34
34
 
35
35
 
36
- @blok(S3Service)
36
+ @blok(
37
+ S3Service,
38
+ description="Minio is an easy use self-hosted object storage service",
39
+ )
37
40
  class MinioBlok:
38
41
  db_name: str
39
42
 
@@ -6,9 +6,8 @@ from blok import blok, InitContext, Option, ExecutionContext
6
6
  from blok.tree import YamlFile
7
7
 
8
8
 
9
- @blok(MountService)
9
+ @blok(MountService, description="Mounting files into the file tree for use")
10
10
  class MountBlok:
11
-
12
11
  def __init__(self) -> None:
13
12
  self.mount_path = "mounts"
14
13
  self.registered_configs = {}
@@ -8,7 +8,7 @@ import secrets
8
8
  import namegenerator
9
9
 
10
10
 
11
- @blok(NameService)
11
+ @blok(NameService, description="Preformed names that will not change")
12
12
  class PreformedNamesBlok:
13
13
  def __init__(self) -> None:
14
14
  self.preformed_names = [namegenerator.gen() for _ in range(100)]
@@ -6,7 +6,10 @@ from blok.bloks.services.vscode import VsCodeService
6
6
  from blok.tree import Repo, YamlFile
7
7
 
8
8
 
9
- @blok("live.arkitekt.orkestrator")
9
+ @blok(
10
+ "live.arkitekt.orkestrator",
11
+ description="Orkestrator is the electron-based UI for arkitekt",
12
+ )
10
13
  class OrkestratorBlok:
11
14
  def __init__(self) -> None:
12
15
  self.dev = False
@@ -28,13 +31,21 @@ class OrkestratorBlok:
28
31
  return
29
32
  self.mount = mount.register_mount("orkestrator", Repo(self.repo))
30
33
 
31
- vscode.register_task(
32
- "Run Orkestrator",
33
- "shell",
34
- "yarn",
35
- ["start"],
36
- {"cwd": f"{self.mount}"},
37
- )
34
+ if vscode is not None:
35
+ vscode.register_task(
36
+ "Run Orkestrator",
37
+ "shell",
38
+ "yarn",
39
+ ["start"],
40
+ {"cwd": f"{self.mount}"},
41
+ )
42
+ vscode.register_task(
43
+ "Build Orkestrator",
44
+ "shell",
45
+ "yarn",
46
+ [],
47
+ {"cwd": f"{self.mount}"},
48
+ )
38
49
 
39
50
  self.initialized = True
40
51
 
@@ -1,6 +1,7 @@
1
- from typing import Optional
1
+ from typing import Any, Dict, Optional
2
2
 
3
3
  from arkitekt_next.bloks.services.db import DBService, DBCredentials
4
+ from arkitekt_next.bloks.services.mount import MountService
4
5
  from blok import blok, InitContext, ExecutionContext, Option
5
6
  from blok.tree import YamlFile, Repo
6
7
  from pydantic import BaseModel
@@ -10,7 +11,10 @@ import secrets
10
11
  from blok import blok, InitContext
11
12
 
12
13
 
13
- @blok(DBService)
14
+ @blok(
15
+ DBService,
16
+ description="Postgres with Apache AGE",
17
+ )
14
18
  class PostgresBlok(BaseModel):
15
19
  host: str = "db"
16
20
  port: int = 5432
@@ -18,8 +22,13 @@ class PostgresBlok(BaseModel):
18
22
  password: str = pydantic.Field(default_factory=lambda: secrets.token_hex(16))
19
23
  user: str = pydantic.Field(default_factory=lambda: namegenerator.gen(separator=""))
20
24
  image: str = "jhnnsrs/daten:next"
25
+ mount_repo: bool = False
26
+ build_repo: bool = False
27
+ repo: str = "https://github.com/arkitektio/daten-server"
28
+ dev: bool = False
21
29
 
22
30
  registered_dbs: dict[str, DBCredentials] = {}
31
+ build_image: Optional[Dict[str, Any]] = None
23
32
 
24
33
  def get_dependencies(self):
25
34
  return []
@@ -42,22 +51,34 @@ class PostgresBlok(BaseModel):
42
51
  self.registered_dbs[db_name] = access_credentials
43
52
  return access_credentials
44
53
 
45
- def preflight(self, init: InitContext):
54
+ def preflight(self, init: InitContext, mount: MountService):
46
55
  for key, value in init.kwargs.items():
47
56
  setattr(self, key, value)
48
57
 
49
- def build(self, context: ExecutionContext):
50
- db_service = {
58
+ self.build_image = {
51
59
  "environment": {
52
60
  "POSTGRES_USER": self.user,
53
61
  "POSTGRES_PASSWORD": self.password,
54
- "POSTGRES_MULTIPLE_DATABASES": ",".join(self.registered_dbs.keys()),
62
+ "POSTGRES_MULTIPLE_DATABASES": "",
55
63
  },
56
- "image": self.image,
57
64
  "labels": ["fakts.service=live.arkitekt.postgres"],
58
65
  }
59
66
 
60
- context.docker_compose.set_nested(f"services", self.host, db_service)
67
+
68
+ if self.build_repo or self.dev:
69
+ mount = init.get_service(MountService).register_mount(self.host, Repo(self.repo))
70
+ self.build_image["build"] = mount
71
+ else:
72
+ self.build_image["image"] = self.image
73
+
74
+
75
+ def build(self, context: ExecutionContext):
76
+
77
+ self.build_image["environment"]["POSTGRES_MULTIPLE_DATABASES"] = ",".join(
78
+ self.registered_dbs.keys()
79
+ )
80
+
81
+ context.docker_compose.set_nested(f"services", self.host, self.build_image)
61
82
 
62
83
  def get_options(self):
63
84
  with_postgres_password = Option(
@@ -80,5 +101,27 @@ class PostgresBlok(BaseModel):
80
101
  help="The image to use for the service",
81
102
  default=self.image,
82
103
  )
104
+ with_repo = Option(
105
+ subcommand="repo",
106
+ help="The repo to use for the service",
107
+ default=self.repo,
108
+ )
109
+ build_repo = Option(
110
+ subcommand="build_repo",
111
+ help="Should we build the repo?",
112
+ default=self.build_repo,
113
+ )
114
+
115
+ mount_repo = Option(
116
+ subcommand="mount_repo",
117
+ help="Should we mount the repo?",
118
+ default=self.mount_repo,
119
+ )
120
+
121
+ dev = Option(
122
+ subcommand="dev",
123
+ help="Should we run the service in development mode (includes withrepo, mountrepo)?",
124
+ default=self.dev,
125
+ )
83
126
 
84
- return [with_postgres_password, skip_build, with_user_password, with_image]
127
+ return [with_postgres_password, skip_build, with_user_password, with_image, with_repo, build_repo, mount_repo, dev]
@@ -9,7 +9,10 @@ from typing import Dict, Any, Optional
9
9
  from blok import blok, InitContext
10
10
 
11
11
 
12
- @blok(RedisService)
12
+ @blok(
13
+ RedisService,
14
+ description="Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker",
15
+ )
13
16
  class RedisBlok:
14
17
  def __init__(self) -> None:
15
18
  self.host = "redis"
@@ -6,7 +6,7 @@ from blok.tree import Repo, YamlFile
6
6
  from arkitekt_next.bloks.base import BaseArkitektService
7
7
 
8
8
 
9
- @blok("live.arkitekt.rekuest")
9
+ @blok("live.arkitekt.rekuest", description="Rekuest is the RPC and Functionaliy hub")
10
10
  class RekuestBlok(BaseArkitektService):
11
11
  def __init__(self) -> None:
12
12
  self.dev = False
@@ -6,7 +6,7 @@ from arkitekt_next.bloks.services.secret import SecretService
6
6
  import secrets
7
7
 
8
8
 
9
- @blok(SecretService)
9
+ @blok(SecretService, description="Preformed secrets that will not change")
10
10
  class SecretBlok:
11
11
  def __init__(self) -> None:
12
12
  self.preformed_secrets = [secrets.token_urlsafe(32) for _ in range(100)]
@@ -10,7 +10,9 @@ class AdminCredentials(BaseModel):
10
10
  email: str
11
11
 
12
12
 
13
- @blok("live.arkitekt.docker_socket")
13
+ @blok(
14
+ "live.arkitekt.docker_socket", description="Hosting the docker socket of the host"
15
+ )
14
16
  class DockerSocketBlok:
15
17
  def __init__(self) -> None:
16
18
  self.docker_socket = "/var/run/docker.sock"
@@ -7,7 +7,7 @@ from blok.bloks.services.dns import DnsService
7
7
  from blok.tree import YamlFile
8
8
 
9
9
 
10
- @blok("live.arkitekt.tailscale")
10
+ @blok("live.arkitekt.tailscale", description="Tailscale is a zero config VPN")
11
11
  class TailscaleBlok:
12
12
  def __init__(self, name: str = "arkitekt") -> None:
13
13
  self.name = name
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "arkitekt-next"
3
- version = "0.7.54"
3
+ version = "0.7.56"
4
4
  description = "client for the arkitekt_next platform"
5
5
  authors = ["jhnnsrs <jhnnsrs@gmail.com>"]
6
6
  license = "MIT"
@@ -11,12 +11,12 @@ readme = "README.md"
11
11
  python = "^3.8"
12
12
  herre = ">=0.4.3"
13
13
  fakts = ">=0.5.0"
14
- mikro-next = { version = ">=0.1.28", python = "^3.10", optional = true }
15
- kabinet = { version = ">=0.1.11", optional = true, python = "^3.9" }
16
- fluss-next = { version = ">=0.1.73", optional = true }
17
- reaktion-next= { version = ">=0.1.63", python = "^3.8", optional = true }
18
- rekuest-next= { version = ">=0.2.18", python = "^3.8", optional = true }
19
- unlok-next= { version = ">=0.1.67", python = "^3.8", optional = true }
14
+ mikro-next = { version = ">=0.1.31", python = "^3.10", optional = true }
15
+ kabinet = { version = ">=0.1.14", optional = true, python = "^3.9" }
16
+ fluss-next = { version = ">=0.1.76", optional = true }
17
+ reaktion-next= { version = ">=0.1.66", python = "^3.8", optional = true }
18
+ rekuest-next= { version = ">=0.2.21", python = "^3.8", optional = true }
19
+ unlok-next= { version = ">=0.1.70", python = "^3.8", optional = true }
20
20
  rich-click = { version = ">=1.6.1", optional = true }
21
21
  watchfiles = { version = ">=0.18.1", optional = true }
22
22
  turms = { version = ">=0.5.0", python = "^3.9", optional = true }
@@ -24,7 +24,7 @@ semver = { version = ">=3.0.1", optional = true }
24
24
  dokker = ">=0.1.21"
25
25
  koil = ">=0.3.6"
26
26
  netifaces = { version = ">=0.11.0", python = "^3.8", optional = true }
27
- blok = { version = ">=0.0.15", python = "^3.8", optional = true }
27
+ blok = { version = ">=0.0.19", python = "^3.8", optional = true }
28
28
  cryptography = { version = ">=40.0.8", python = "^3.8", optional = true }
29
29
  namegenerator = { version = ">=1.0.6", python = "^3.8", optional = true }
30
30
 
File without changes
File without changes