dapp 0.8.0 → 0.9.0

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.
Files changed (299) hide show
  1. checksums.yaml +4 -4
  2. data/bin/dapp +5 -5
  3. data/config/en/common.yml +6 -4
  4. data/config/en/net_status.yml +8 -7
  5. data/lib/dapp.rb +157 -139
  6. data/lib/dapp/cli.rb +6 -16
  7. data/lib/dapp/cli/base.rb +3 -5
  8. data/lib/dapp/config/base.rb +19 -7
  9. data/lib/dapp/config/directive/base.rb +0 -1
  10. data/lib/dapp/config/error/config.rb +7 -0
  11. data/lib/dapp/core_ext/hash.rb +0 -2
  12. data/lib/dapp/core_ext/pathname.rb +1 -3
  13. data/lib/dapp/{project.rb → dapp.rb} +2 -21
  14. data/lib/dapp/{project → dapp}/chef.rb +2 -4
  15. data/lib/dapp/{project → dapp}/dappfile.rb +5 -7
  16. data/lib/dapp/{project → dapp}/deps/base.rb +3 -6
  17. data/lib/dapp/{project → dapp}/deps/gitartifact.rb +2 -5
  18. data/lib/dapp/{project → dapp}/git_artifact.rb +2 -4
  19. data/lib/dapp/{project → dapp}/lock.rb +3 -5
  20. data/lib/dapp/{project → dapp}/logging/base.rb +2 -5
  21. data/lib/dapp/{project → dapp}/logging/i18n.rb +2 -3
  22. data/lib/dapp/{project → dapp}/logging/paint.rb +2 -4
  23. data/lib/dapp/{project → dapp}/logging/process.rb +2 -5
  24. data/lib/dapp/{project → dapp}/shellout/base.rb +2 -4
  25. data/lib/dapp/{project → dapp}/shellout/streaming.rb +3 -8
  26. data/lib/dapp/{project → dapp}/ssh_agent.rb +6 -9
  27. data/lib/dapp/dimg.rb +1 -192
  28. data/lib/dapp/dimg/artifact.rb +24 -0
  29. data/lib/dapp/dimg/build/stage/after_install_artifact.rb +14 -0
  30. data/lib/dapp/dimg/build/stage/after_setup_artifact.rb +18 -0
  31. data/lib/dapp/dimg/build/stage/artifact_base.rb +80 -0
  32. data/lib/dapp/dimg/build/stage/artifact_default.rb +63 -0
  33. data/lib/dapp/dimg/build/stage/base.rb +210 -0
  34. data/lib/dapp/dimg/build/stage/before_install.rb +33 -0
  35. data/lib/dapp/dimg/build/stage/before_install_artifact.rb +14 -0
  36. data/lib/dapp/dimg/build/stage/before_setup.rb +31 -0
  37. data/lib/dapp/dimg/build/stage/before_setup_artifact.rb +14 -0
  38. data/lib/dapp/dimg/build/stage/build_artifact.rb +31 -0
  39. data/lib/dapp/dimg/build/stage/docker_instructions.rb +25 -0
  40. data/lib/dapp/dimg/build/stage/from.rb +50 -0
  41. data/lib/dapp/dimg/build/stage/ga_archive.rb +28 -0
  42. data/lib/dapp/dimg/build/stage/ga_archive_dependencies.rb +27 -0
  43. data/lib/dapp/dimg/build/stage/ga_artifact_patch.rb +22 -0
  44. data/lib/dapp/dimg/build/stage/ga_base.rb +80 -0
  45. data/lib/dapp/dimg/build/stage/ga_dependencies_base.rb +20 -0
  46. data/lib/dapp/dimg/build/stage/ga_latest_patch.rb +54 -0
  47. data/lib/dapp/dimg/build/stage/import_artifact.rb +64 -0
  48. data/lib/dapp/dimg/build/stage/install/ga_post_install_patch.rb +22 -0
  49. data/lib/dapp/dimg/build/stage/install/ga_post_install_patch_dependencies.rb +22 -0
  50. data/lib/dapp/dimg/build/stage/install/ga_pre_install_patch.rb +22 -0
  51. data/lib/dapp/dimg/build/stage/install/ga_pre_install_patch_dependencies.rb +22 -0
  52. data/lib/dapp/dimg/build/stage/install/install.rb +35 -0
  53. data/lib/dapp/dimg/build/stage/mod/group.rb +42 -0
  54. data/lib/dapp/dimg/build/stage/mod/logging.rb +101 -0
  55. data/lib/dapp/dimg/build/stage/setup/ga_post_setup_patch.rb +22 -0
  56. data/lib/dapp/dimg/build/stage/setup/ga_post_setup_patch_dependencies.rb +32 -0
  57. data/lib/dapp/dimg/build/stage/setup/ga_pre_setup_patch.rb +22 -0
  58. data/lib/dapp/dimg/build/stage/setup/ga_pre_setup_patch_dependencies.rb +22 -0
  59. data/lib/dapp/dimg/build/stage/setup/setup.rb +35 -0
  60. data/lib/dapp/dimg/builder.rb +6 -0
  61. data/lib/dapp/{builder → dimg/builder}/base.rb +4 -5
  62. data/lib/dapp/{builder → dimg/builder}/chef.rb +41 -33
  63. data/lib/dapp/dimg/builder/chef/berksfile.rb +121 -0
  64. data/lib/dapp/dimg/builder/chef/cookbook.rb +285 -0
  65. data/lib/dapp/dimg/builder/chef/cookbook_metadata.rb +106 -0
  66. data/lib/dapp/{builder → dimg/builder}/none.rb +4 -5
  67. data/lib/dapp/{builder → dimg/builder}/shell.rb +5 -6
  68. data/lib/dapp/dimg/cli/base.rb +16 -0
  69. data/lib/dapp/dimg/cli/bp.rb +37 -0
  70. data/lib/dapp/dimg/cli/build.rb +64 -0
  71. data/lib/dapp/dimg/cli/build_context.rb +18 -0
  72. data/lib/dapp/dimg/cli/build_context/export.rb +26 -0
  73. data/lib/dapp/dimg/cli/build_context/import.rb +17 -0
  74. data/lib/dapp/dimg/cli/cleanup.rb +22 -0
  75. data/lib/dapp/dimg/cli/cli.rb +1 -0
  76. data/lib/dapp/dimg/cli/dimg.rb +30 -0
  77. data/lib/dapp/dimg/cli/list.rb +17 -0
  78. data/lib/dapp/dimg/cli/mrproper.rb +26 -0
  79. data/lib/dapp/dimg/cli/push.rb +61 -0
  80. data/lib/dapp/dimg/cli/run.rb +59 -0
  81. data/lib/dapp/{cli → dimg/cli}/spush.rb +7 -7
  82. data/lib/dapp/dimg/cli/stage_image.rb +24 -0
  83. data/lib/dapp/dimg/cli/stages.rb +22 -0
  84. data/lib/dapp/dimg/cli/stages/cleanup_local.rb +44 -0
  85. data/lib/dapp/dimg/cli/stages/cleanup_repo.rb +26 -0
  86. data/lib/dapp/dimg/cli/stages/flush_local.rb +23 -0
  87. data/lib/dapp/dimg/cli/stages/flush_repo.rb +24 -0
  88. data/lib/dapp/dimg/cli/stages/pull.rb +28 -0
  89. data/lib/dapp/dimg/cli/stages/push.rb +24 -0
  90. data/lib/dapp/dimg/cli/tag.rb +24 -0
  91. data/lib/dapp/dimg/config/artifact_dimg.rb +17 -0
  92. data/lib/dapp/dimg/config/artifact_group.rb +47 -0
  93. data/lib/dapp/dimg/config/base.rb +7 -0
  94. data/lib/dapp/dimg/config/dimg.rb +24 -0
  95. data/lib/dapp/dimg/config/dimg/instance_methods.rb +177 -0
  96. data/lib/dapp/dimg/config/dimg/validation.rb +126 -0
  97. data/lib/dapp/dimg/config/dimg_group.rb +61 -0
  98. data/lib/dapp/dimg/config/dimg_group_base.rb +54 -0
  99. data/lib/dapp/dimg/config/dimg_group_main.rb +22 -0
  100. data/lib/dapp/dimg/config/directive/artifact.rb +70 -0
  101. data/lib/dapp/dimg/config/directive/artifact_base.rb +97 -0
  102. data/lib/dapp/dimg/config/directive/base.rb +9 -0
  103. data/lib/dapp/dimg/config/directive/chef.rb +68 -0
  104. data/lib/dapp/dimg/config/directive/docker/artifact.rb +15 -0
  105. data/lib/dapp/dimg/config/directive/docker/base.rb +22 -0
  106. data/lib/dapp/dimg/config/directive/docker/dimg.rb +82 -0
  107. data/lib/dapp/dimg/config/directive/git_artifact_local.rb +47 -0
  108. data/lib/dapp/dimg/config/directive/git_artifact_remote.rb +58 -0
  109. data/lib/dapp/dimg/config/directive/mount.rb +27 -0
  110. data/lib/dapp/dimg/config/directive/shell/artifact.rb +18 -0
  111. data/lib/dapp/dimg/config/directive/shell/dimg.rb +65 -0
  112. data/lib/dapp/dimg/dapp/command.rb +21 -0
  113. data/lib/dapp/dimg/dapp/command/bp.rb +20 -0
  114. data/lib/dapp/dimg/dapp/command/build.rb +22 -0
  115. data/lib/dapp/dimg/dapp/command/build_context/common.rb +27 -0
  116. data/lib/dapp/dimg/dapp/command/build_context/export.rb +55 -0
  117. data/lib/dapp/dimg/dapp/command/build_context/import.rb +71 -0
  118. data/lib/dapp/dimg/dapp/command/cleanup.rb +23 -0
  119. data/lib/dapp/dimg/dapp/command/common.rb +96 -0
  120. data/lib/dapp/dimg/dapp/command/list.rb +19 -0
  121. data/lib/dapp/dimg/dapp/command/mrproper.rb +75 -0
  122. data/lib/dapp/dimg/dapp/command/push.rb +27 -0
  123. data/lib/dapp/dimg/dapp/command/run.rb +15 -0
  124. data/lib/dapp/dimg/dapp/command/spush.rb +17 -0
  125. data/lib/dapp/dimg/dapp/command/stage_image.rb +14 -0
  126. data/lib/dapp/dimg/dapp/command/stages/cleanup_local.rb +137 -0
  127. data/lib/dapp/dimg/dapp/command/stages/cleanup_repo.rb +124 -0
  128. data/lib/dapp/dimg/dapp/command/stages/common.rb +85 -0
  129. data/lib/dapp/dimg/dapp/command/stages/flush_local.rb +21 -0
  130. data/lib/dapp/dimg/dapp/command/stages/flush_repo.rb +21 -0
  131. data/lib/dapp/dimg/dapp/command/stages/pull.rb +26 -0
  132. data/lib/dapp/dimg/dapp/command/stages/push.rb +22 -0
  133. data/lib/dapp/dimg/dapp/command/tag.rb +17 -0
  134. data/lib/dapp/dimg/dimg.rb +192 -0
  135. data/lib/dapp/dimg/dimg/git_artifact.rb +26 -0
  136. data/lib/dapp/dimg/dimg/path.rb +37 -0
  137. data/lib/dapp/dimg/dimg/stages.rb +60 -0
  138. data/lib/dapp/dimg/dimg/tags.rb +65 -0
  139. data/lib/dapp/dimg/docker_registry.rb +37 -0
  140. data/lib/dapp/dimg/docker_registry/base.rb +109 -0
  141. data/lib/dapp/dimg/docker_registry/base/authorization.rb +63 -0
  142. data/lib/dapp/dimg/docker_registry/base/request.rb +34 -0
  143. data/lib/dapp/dimg/docker_registry/default.rb +18 -0
  144. data/lib/dapp/dimg/error/base.rb +7 -0
  145. data/lib/dapp/dimg/error/build.rb +7 -0
  146. data/lib/dapp/dimg/error/chef.rb +11 -0
  147. data/lib/dapp/dimg/error/command.rb +7 -0
  148. data/lib/dapp/dimg/error/config.rb +7 -0
  149. data/lib/dapp/dimg/error/dimg.rb +7 -0
  150. data/lib/dapp/dimg/error/lock.rb +7 -0
  151. data/lib/dapp/dimg/error/registry.rb +7 -0
  152. data/lib/dapp/dimg/error/rugged.rb +7 -0
  153. data/lib/dapp/dimg/error/shellout.rb +7 -0
  154. data/lib/dapp/dimg/error/tar_writer.rb +7 -0
  155. data/lib/dapp/dimg/exception/base.rb +7 -0
  156. data/lib/dapp/dimg/exception/introspect_image.rb +7 -0
  157. data/lib/dapp/dimg/exception/registry.rb +7 -0
  158. data/lib/dapp/dimg/filelock.rb +43 -0
  159. data/lib/dapp/dimg/git_artifact.rb +241 -18
  160. data/lib/dapp/dimg/git_repo/base.rb +90 -0
  161. data/lib/dapp/dimg/git_repo/own.rb +39 -0
  162. data/lib/dapp/dimg/git_repo/remote.rb +50 -0
  163. data/lib/dapp/dimg/image/argument.rb +143 -0
  164. data/lib/dapp/dimg/image/docker.rb +127 -0
  165. data/lib/dapp/dimg/image/scratch.rb +32 -0
  166. data/lib/dapp/dimg/image/stage.rb +95 -0
  167. data/lib/dapp/dimg/lock/base.rb +51 -0
  168. data/lib/dapp/dimg/lock/file.rb +48 -0
  169. data/lib/dapp/error/base.rb +0 -1
  170. data/lib/dapp/error/dapp.rb +5 -0
  171. data/lib/dapp/error/dappfile.rb +0 -1
  172. data/lib/dapp/error/shellout.rb +0 -1
  173. data/lib/dapp/exception/base.rb +0 -1
  174. data/lib/dapp/helper/cli.rb +5 -6
  175. data/lib/dapp/helper/net_status.rb +0 -1
  176. data/lib/dapp/helper/sha256.rb +0 -1
  177. data/lib/dapp/helper/trivia.rb +0 -1
  178. data/lib/dapp/prctl.rb +0 -1
  179. data/lib/dapp/version.rb +1 -2
  180. metadata +172 -140
  181. data/lib/dapp/artifact.rb +0 -23
  182. data/lib/dapp/build/stage/after_install_artifact.rb +0 -13
  183. data/lib/dapp/build/stage/after_setup_artifact.rb +0 -17
  184. data/lib/dapp/build/stage/artifact_base.rb +0 -80
  185. data/lib/dapp/build/stage/artifact_default.rb +0 -63
  186. data/lib/dapp/build/stage/base.rb +0 -203
  187. data/lib/dapp/build/stage/before_install.rb +0 -32
  188. data/lib/dapp/build/stage/before_install_artifact.rb +0 -13
  189. data/lib/dapp/build/stage/before_setup.rb +0 -30
  190. data/lib/dapp/build/stage/before_setup_artifact.rb +0 -13
  191. data/lib/dapp/build/stage/build_artifact.rb +0 -36
  192. data/lib/dapp/build/stage/docker_instructions.rb +0 -24
  193. data/lib/dapp/build/stage/from.rb +0 -34
  194. data/lib/dapp/build/stage/ga_archive.rb +0 -27
  195. data/lib/dapp/build/stage/ga_archive_dependencies.rb +0 -26
  196. data/lib/dapp/build/stage/ga_artifact_patch.rb +0 -21
  197. data/lib/dapp/build/stage/ga_base.rb +0 -79
  198. data/lib/dapp/build/stage/ga_dependencies_base.rb +0 -19
  199. data/lib/dapp/build/stage/ga_latest_patch.rb +0 -53
  200. data/lib/dapp/build/stage/import_artifact.rb +0 -65
  201. data/lib/dapp/build/stage/install/ga_post_install_patch.rb +0 -21
  202. data/lib/dapp/build/stage/install/ga_post_install_patch_dependencies.rb +0 -21
  203. data/lib/dapp/build/stage/install/ga_pre_install_patch.rb +0 -21
  204. data/lib/dapp/build/stage/install/ga_pre_install_patch_dependencies.rb +0 -21
  205. data/lib/dapp/build/stage/install/install.rb +0 -40
  206. data/lib/dapp/build/stage/mod/group.rb +0 -42
  207. data/lib/dapp/build/stage/mod/logging.rb +0 -104
  208. data/lib/dapp/build/stage/setup/ga_post_setup_patch.rb +0 -21
  209. data/lib/dapp/build/stage/setup/ga_post_setup_patch_dependencies.rb +0 -31
  210. data/lib/dapp/build/stage/setup/ga_pre_setup_patch.rb +0 -21
  211. data/lib/dapp/build/stage/setup/ga_pre_setup_patch_dependencies.rb +0 -21
  212. data/lib/dapp/build/stage/setup/setup.rb +0 -40
  213. data/lib/dapp/builder/chef/berksfile.rb +0 -78
  214. data/lib/dapp/builder/chef/cookbook.rb +0 -257
  215. data/lib/dapp/builder/chef/cookbook_metadata.rb +0 -54
  216. data/lib/dapp/builder/chef/error.rb +0 -12
  217. data/lib/dapp/cli/bp.rb +0 -37
  218. data/lib/dapp/cli/build.rb +0 -60
  219. data/lib/dapp/cli/cleanup.rb +0 -22
  220. data/lib/dapp/cli/list.rb +0 -17
  221. data/lib/dapp/cli/mrproper.rb +0 -26
  222. data/lib/dapp/cli/push.rb +0 -61
  223. data/lib/dapp/cli/run.rb +0 -53
  224. data/lib/dapp/cli/stage_image.rb +0 -24
  225. data/lib/dapp/cli/stages.rb +0 -23
  226. data/lib/dapp/cli/stages/cleanup_local.rb +0 -44
  227. data/lib/dapp/cli/stages/cleanup_repo.rb +0 -26
  228. data/lib/dapp/cli/stages/flush_local.rb +0 -23
  229. data/lib/dapp/cli/stages/flush_repo.rb +0 -24
  230. data/lib/dapp/cli/stages/pull.rb +0 -28
  231. data/lib/dapp/cli/stages/push.rb +0 -24
  232. data/lib/dapp/cli/tag.rb +0 -24
  233. data/lib/dapp/config/artifact_dimg.rb +0 -20
  234. data/lib/dapp/config/artifact_group.rb +0 -56
  235. data/lib/dapp/config/dimg.rb +0 -23
  236. data/lib/dapp/config/dimg/instance_methods.rb +0 -194
  237. data/lib/dapp/config/dimg/validation.rb +0 -125
  238. data/lib/dapp/config/dimg_group.rb +0 -60
  239. data/lib/dapp/config/dimg_group_base.rb +0 -53
  240. data/lib/dapp/config/dimg_group_main.rb +0 -21
  241. data/lib/dapp/config/directive/artifact.rb +0 -69
  242. data/lib/dapp/config/directive/artifact_base.rb +0 -93
  243. data/lib/dapp/config/directive/chef.rb +0 -57
  244. data/lib/dapp/config/directive/docker/artifact.rb +0 -15
  245. data/lib/dapp/config/directive/docker/base.rb +0 -20
  246. data/lib/dapp/config/directive/docker/dimg.rb +0 -81
  247. data/lib/dapp/config/directive/git_artifact_local.rb +0 -13
  248. data/lib/dapp/config/directive/git_artifact_remote.rb +0 -57
  249. data/lib/dapp/config/directive/mount.rb +0 -26
  250. data/lib/dapp/config/directive/shell/artifact.rb +0 -17
  251. data/lib/dapp/config/directive/shell/dimg.rb +0 -65
  252. data/lib/dapp/dimg/path.rb +0 -37
  253. data/lib/dapp/dimg/stages.rb +0 -59
  254. data/lib/dapp/dimg/tags.rb +0 -65
  255. data/lib/dapp/docker_registry.rb +0 -36
  256. data/lib/dapp/docker_registry/base.rb +0 -109
  257. data/lib/dapp/docker_registry/default.rb +0 -18
  258. data/lib/dapp/docker_registry/mod/authorization.rb +0 -63
  259. data/lib/dapp/docker_registry/mod/request.rb +0 -32
  260. data/lib/dapp/error/build.rb +0 -6
  261. data/lib/dapp/error/config.rb +0 -6
  262. data/lib/dapp/error/dimg.rb +0 -6
  263. data/lib/dapp/error/image.rb +0 -6
  264. data/lib/dapp/error/project.rb +0 -6
  265. data/lib/dapp/error/registry.rb +0 -6
  266. data/lib/dapp/error/rugged.rb +0 -6
  267. data/lib/dapp/error/tar_writer.rb +0 -6
  268. data/lib/dapp/exception/introspect_image.rb +0 -6
  269. data/lib/dapp/exception/registry.rb +0 -6
  270. data/lib/dapp/filelock.rb +0 -43
  271. data/lib/dapp/git_artifact.rb +0 -241
  272. data/lib/dapp/git_repo/base.rb +0 -88
  273. data/lib/dapp/git_repo/own.rb +0 -38
  274. data/lib/dapp/git_repo/remote.rb +0 -49
  275. data/lib/dapp/image/argument.rb +0 -134
  276. data/lib/dapp/image/docker.rb +0 -115
  277. data/lib/dapp/image/scratch.rb +0 -32
  278. data/lib/dapp/image/stage.rb +0 -94
  279. data/lib/dapp/lock/base.rb +0 -51
  280. data/lib/dapp/lock/error.rb +0 -14
  281. data/lib/dapp/lock/file.rb +0 -45
  282. data/lib/dapp/project/command/bp.rb +0 -21
  283. data/lib/dapp/project/command/build.rb +0 -20
  284. data/lib/dapp/project/command/cleanup.rb +0 -24
  285. data/lib/dapp/project/command/common.rb +0 -96
  286. data/lib/dapp/project/command/list.rb +0 -20
  287. data/lib/dapp/project/command/mrproper.rb +0 -69
  288. data/lib/dapp/project/command/push.rb +0 -28
  289. data/lib/dapp/project/command/run.rb +0 -15
  290. data/lib/dapp/project/command/spush.rb +0 -18
  291. data/lib/dapp/project/command/stage_image.rb +0 -15
  292. data/lib/dapp/project/command/stages/cleanup_local.rb +0 -138
  293. data/lib/dapp/project/command/stages/cleanup_repo.rb +0 -125
  294. data/lib/dapp/project/command/stages/common.rb +0 -86
  295. data/lib/dapp/project/command/stages/flush_local.rb +0 -22
  296. data/lib/dapp/project/command/stages/flush_repo.rb +0 -22
  297. data/lib/dapp/project/command/stages/pull.rb +0 -27
  298. data/lib/dapp/project/command/stages/push.rb +0 -23
  299. data/lib/dapp/project/command/tag.rb +0 -18
@@ -1,21 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- module InstallGroup
5
- # GAPostInstallPatchDependencies
6
- class GAPostInstallPatchDependencies < GADependenciesBase
7
- include Mod::Group
8
-
9
- def initialize(dimg, next_stage)
10
- @prev_stage = Install.new(dimg, self)
11
- super
12
- end
13
-
14
- def dependencies
15
- next_stage.next_stage.next_stage.context # BeforeSetup
16
- end
17
- end # GAPostInstallPatchDependencies
18
- end
19
- end # Stage
20
- end # Build
21
- end # Dapp
@@ -1,21 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- module InstallGroup
5
- # GAPostInstallPatch
6
- class GAPreInstallPatch < GABase
7
- include Mod::Group
8
-
9
- def initialize(dimg, next_stage)
10
- @prev_stage = GAPreInstallPatchDependencies.new(dimg, self)
11
- super
12
- end
13
-
14
- def prev_g_a_stage
15
- dependencies_stage.prev_stage # GAArchive
16
- end
17
- end # GAPostInstallPatch
18
- end
19
- end # Stage
20
- end # Build
21
- end # Dapp
@@ -1,21 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- module InstallGroup
5
- # GAPreInstallPatchDependencies
6
- class GAPreInstallPatchDependencies < GADependenciesBase
7
- include Mod::Group
8
-
9
- def initialize(dimg, next_stage)
10
- @prev_stage = GAArchive.new(dimg, self)
11
- super
12
- end
13
-
14
- def dependencies
15
- next_stage.next_stage.context # Install
16
- end
17
- end # GAPreInstallPatchDependencies
18
- end
19
- end # Stage
20
- end # Build
21
- end # Dapp
@@ -1,40 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- module InstallGroup
5
- # Install
6
- class Install < Base
7
- include Mod::Group
8
-
9
- def initialize(dimg, next_stage)
10
- @prev_stage = GAPreInstallPatch.new(dimg, self)
11
- super
12
- end
13
-
14
- def empty?
15
- !dimg.builder.install?
16
- end
17
-
18
- def context
19
- [install_dependencies_files_checksum, builder_checksum]
20
- end
21
-
22
- def builder_checksum
23
- dimg.builder.install_checksum
24
- end
25
-
26
- def prepare_image
27
- super
28
- dimg.builder.install(image)
29
- end
30
-
31
- private
32
-
33
- def install_dependencies_files_checksum
34
- dependencies_files_checksum(dimg.config._install_dependencies)
35
- end
36
- end # Install
37
- end
38
- end # Stage
39
- end # Build
40
- end # Dapp
@@ -1,42 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # Mod
5
- module Mod
6
- # Group
7
- module Group
8
- def log_image_build
9
- return super if should_be_quiet?
10
- log_group_name if group_should_be_opened?
11
- dimg.project.with_log_indent { super }
12
- end
13
-
14
- def log_group_name
15
- dimg.project.log_step(dimg.project.t(code: group_name, context: :group))
16
- end
17
-
18
- def group_name
19
- class_to_lowercase(self.class.name.split('::')[-2])
20
- end
21
-
22
- def group_should_be_opened?
23
- !group_opened? && image_should_be_build?
24
- end
25
-
26
- def group_opened?
27
- return false if prev_group_stage.nil?
28
- prev_group_stage.group_opened? || prev_group_stage.image_should_be_build?
29
- end
30
-
31
- def prev_group_stage
32
- prev_stage if prev_stage.respond_to?(:group_name) && prev_stage.group_name == group_name
33
- end
34
-
35
- def log_name_context
36
- [super, group_name].join('.')
37
- end
38
- end
39
- end # Mod
40
- end # Stage
41
- end # Build
42
- end # Dapp
@@ -1,104 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- # Mod
5
- module Mod
6
- # Logging
7
- module Logging
8
- def log_image_build(&image_build)
9
- if empty? then log_state(:empty)
10
- elsif image.built? then log_state(:using_cache)
11
- elsif should_be_not_present? then log_state(:not_present)
12
- elsif dimg.project.dry_run? then log_state(:build, styles: { status: :success })
13
- else log_image_build_process(&image_build)
14
- end
15
- ensure
16
- log_build
17
- end
18
-
19
- def log_build
20
- dimg.project.with_log_indent do
21
- dimg.project.log_info dimg.project.t(code: 'image.signature', data: { signature: image_name })
22
- log_image_details unless empty?
23
- end if dimg.project.log_verbose? && !should_be_quiet?
24
- end
25
-
26
- def log_image_details
27
- if image.tagged?
28
- log_image_created_at
29
- log_image_size
30
- end
31
- log_image_commands unless ignore_log_commands?
32
- log_image_instructions
33
- end
34
-
35
- def log_image_instructions
36
- return if (instructions = image.prepare_instructions(image.send(:change_options))).empty?
37
- dimg.project.log_info dimg.project.t(code: 'image.instructions')
38
- dimg.project.with_log_indent { dimg.project.log_info instructions.join("\n") }
39
- end
40
-
41
- def log_image_created_at
42
- dimg.project.log_info dimg.project.t(code: 'image.info.created_at',
43
- data: { value: Time.parse(image.created_at).localtime })
44
- end
45
-
46
- def log_image_size
47
- if !prev_stage.nil? && from_image.tagged?
48
- bytes = image.size - from_image.size
49
- code = 'image.info.difference'
50
- else
51
- bytes = image.size
52
- code = 'image.info.mb_size'
53
- end
54
- dimg.project.log_info dimg.project.t(code: code, data: { mb: (bytes / 1000 / 1000).round(3) })
55
- end
56
-
57
- def log_image_commands
58
- return if (bash_commands = image.send(:bash_commands)).empty?
59
- dimg.project.log_info dimg.project.t(code: 'image.commands')
60
- dimg.project.with_log_indent { dimg.project.log_info bash_commands.join("\n") }
61
- end
62
-
63
- def log_name
64
- dimg.project.t(code: name, context: log_name_context)
65
- end
66
-
67
- def log_name_context
68
- :stage
69
- end
70
-
71
- def log_state(state_code, styles: {})
72
- dimg.project.log_state(log_name,
73
- state: dimg.project.t(code: state_code, context: 'state'),
74
- styles: styles) unless should_be_quiet?
75
- end
76
-
77
- def log_image_build_process
78
- return yield if should_be_quiet?
79
- dimg.project.log_process(log_name, process: dimg.project.t(code: 'status.process.building'),
80
- short: should_not_be_detailed?) do
81
- yield
82
- end
83
- end
84
-
85
- def ignore_log_commands?
86
- false
87
- end
88
-
89
- def should_not_be_detailed?
90
- image.send(:bash_commands).empty?
91
- end
92
-
93
- def should_be_introspected?
94
- dimg.stage_should_be_introspected?(name) && !dimg.project.dry_run?
95
- end
96
-
97
- def should_be_quiet?
98
- dimg.artifact? && !dimg.project.log_verbose?
99
- end
100
- end
101
- end # Mod
102
- end # Stage
103
- end # Build
104
- end # Dapp
@@ -1,21 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- module SetupGroup
5
- # GAPostSetupPatch
6
- class GAPostSetupPatch < GABase
7
- include Mod::Group
8
-
9
- def initialize(dimg, next_stage)
10
- @prev_stage = GAPostSetupPatchDependencies.new(dimg, self)
11
- super
12
- end
13
-
14
- def next_g_a_stage
15
- next_stage.next_stage
16
- end
17
- end # GAPostSetupPatch
18
- end
19
- end # Stage
20
- end # Build
21
- end # Dapp
@@ -1,31 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- module SetupGroup
5
- # GAPostSetupPatchDependencies
6
- class GAPostSetupPatchDependencies < GADependenciesBase
7
- include Mod::Group
8
-
9
- MAX_PATCH_SIZE = 1024 * 1024
10
-
11
- def initialize(dimg, next_stage)
12
- @prev_stage = Setup.new(dimg, self)
13
- super
14
- end
15
-
16
- def dependencies
17
- [(changes_size_since_g_a_pre_setup_patch / MAX_PATCH_SIZE).to_i]
18
- end
19
-
20
- private
21
-
22
- def changes_size_since_g_a_pre_setup_patch
23
- dimg.git_artifacts.map do |git_artifact|
24
- git_artifact.patch_size(prev_stage.prev_stage.layer_commit(git_artifact), git_artifact.latest_commit)
25
- end.reduce(0, :+)
26
- end
27
- end # GAPostSetupPatchDependencies
28
- end
29
- end # Stage
30
- end # Build
31
- end # Dapp
@@ -1,21 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- module SetupGroup
5
- # GAPrePatch
6
- class GAPreSetupPatch < GABase
7
- include Mod::Group
8
-
9
- def initialize(dimg, next_stage)
10
- @prev_stage = GAPreSetupPatchDependencies.new(dimg, self)
11
- super
12
- end
13
-
14
- def prev_g_a_stage
15
- super.prev_stage.prev_stage # GAPostInstallPatch
16
- end
17
- end # GAPrePatch
18
- end
19
- end # Stage
20
- end # Build
21
- end # Dapp
@@ -1,21 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- module SetupGroup
5
- # GAPreSetupPatchDependencies
6
- class GAPreSetupPatchDependencies < GADependenciesBase
7
- include Mod::Group
8
-
9
- def initialize(dimg, next_stage)
10
- @prev_stage = BeforeSetupArtifact.new(dimg, self)
11
- super
12
- end
13
-
14
- def dependencies
15
- next_stage.next_stage.context # Setup
16
- end
17
- end # GAPreSetupPatchDependencies
18
- end
19
- end # Stage
20
- end # Build
21
- end # Dapp
@@ -1,40 +0,0 @@
1
- module Dapp
2
- module Build
3
- module Stage
4
- module SetupGroup
5
- # Setup
6
- class Setup < Base
7
- include Mod::Group
8
-
9
- def initialize(dimg, next_stage)
10
- @prev_stage = GAPreSetupPatch.new(dimg, self)
11
- super
12
- end
13
-
14
- def empty?
15
- !dimg.builder.setup?
16
- end
17
-
18
- def context
19
- [setup_dependencies_files_checksum, builder_checksum]
20
- end
21
-
22
- def builder_checksum
23
- dimg.builder.setup_checksum
24
- end
25
-
26
- def prepare_image
27
- super
28
- dimg.builder.setup(image)
29
- end
30
-
31
- private
32
-
33
- def setup_dependencies_files_checksum
34
- dependencies_files_checksum(dimg.config._setup_dependencies)
35
- end
36
- end # Setup
37
- end
38
- end # Stage
39
- end # Build
40
- end # Dapp
@@ -1,78 +0,0 @@
1
- module Dapp::Builder
2
- class Chef::Berksfile
3
- class << self
4
- def from_file(cookbook_path, berksfile_file_path)
5
- berksfile = self.new(cookbook_path)
6
- FileParser.new(berksfile_file_path, berksfile)
7
- berksfile
8
- end
9
-
10
- def from_conf(cookbook_path, conf)
11
- # TODO
12
- end
13
- end # << self
14
-
15
- class FileParser
16
- def initialize(berksfile_file_path, berksfile)
17
- @berksfile_file_path = berksfile_file_path
18
- @berksfile = berksfile
19
-
20
- parse
21
- end
22
-
23
- def cookbook(name, *_args, path: nil, **_kwargs)
24
- @berksfile.add_local_cookbook_path(name, path) if path
25
- end
26
-
27
- # rubocop:disable Style/MethodMissing
28
- def method_missing(*_a, &_blk)
29
- end
30
- # rubocop:enable Style/MethodMissing
31
-
32
- private
33
-
34
- def parse
35
- instance_eval(@berksfile_file_path.read, @berksfile_file_path.to_s)
36
- end
37
- end # FileParser
38
-
39
- attr_reader :cookbook_path
40
- attr_reader :local_cookbooks
41
-
42
- def initialize(cookbook_path)
43
- @cookbook_path = Pathname.new(cookbook_path)
44
- @local_cookbooks = {}
45
- end
46
-
47
- def dump
48
- #FIXME
49
- end
50
-
51
- def add_local_cookbook_path(name, path)
52
- raise(::Dapp::Builder::Chef::Error, code: :berksfile_absolute_path_forbidden,
53
- data: { cookbook: name, path: path }) if path.start_with? '/'
54
-
55
- desc = {
56
- name: name,
57
- path: cookbook_path.join(path),
58
- chefignore: [],
59
- }
60
-
61
- if desc[:path].join('chefignore').exist?
62
- chefignore_patterns = desc[:path].join('chefignore').read.split("\n").map(&:strip)
63
- desc[:chefignore] = Dir[*chefignore_patterns.map {|pattern| desc[:path].join(pattern)}]
64
- .map(&Pathname.method(:new))
65
- end
66
-
67
- @local_cookbooks[name] = desc
68
- end
69
-
70
- def local_cookbook?(name)
71
- local_cookbooks.key? name
72
- end
73
-
74
- def local_cookbook(name)
75
- local_cookbooks[name]
76
- end
77
- end # Chef::Berksfile
78
- end # Dapp::Builder