ufo 5.0.7 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (457) hide show
  1. checksums.yaml +4 -4
  2. data/.cody/README.md +19 -0
  3. data/.cody/acceptance/bin/build.sh +90 -0
  4. data/.cody/acceptance/buildspec.yml +10 -0
  5. data/.cody/acceptance/project.rb +11 -0
  6. data/.cody/acceptance/role.rb +28 -0
  7. data/.cody/shared/script/install/ufo.sh +40 -0
  8. data/.cody/shared/script/install.sh +5 -0
  9. data/.github/workflows/main.yml +28 -0
  10. data/CHANGELOG.md +4 -1
  11. data/Gemfile +0 -2
  12. data/README.md +1 -32
  13. data/lib/templates/docker/Dockerfile +4 -0
  14. data/lib/templates/helper/%underscore_name%_helper.rb.tt +6 -0
  15. data/lib/templates/init/.ufo/config/web/base.rb +6 -0
  16. data/lib/templates/init/.ufo/config/web/dev.rb +6 -0
  17. data/lib/templates/init/.ufo/config/web/prod.rb +6 -0
  18. data/lib/templates/init/.ufo/config.rb.tt +39 -0
  19. data/lib/templates/init/.ufo/resources/iam_roles/execution_role.rb +23 -0
  20. data/lib/templates/init/.ufo/resources/iam_roles/task_role.rb +20 -0
  21. data/lib/templates/init/.ufo/resources/task_definitions/web.yml +29 -0
  22. data/lib/templates/init/.ufo/vars/base.rb +20 -0
  23. data/lib/templates/init/.ufo/vars/dev.rb +4 -0
  24. data/lib/templates/init/.ufo/vars/prod.rb +4 -0
  25. data/lib/ufo/aws_services.rb +118 -0
  26. data/lib/ufo/booter.rb +27 -0
  27. data/lib/ufo/cfn/base.rb +7 -0
  28. data/lib/ufo/cfn/deploy.rb +54 -0
  29. data/lib/ufo/{stack → cfn/stack}/builder/base.rb +12 -23
  30. data/lib/ufo/cfn/stack/builder/conditions.rb +25 -0
  31. data/lib/ufo/{stack → cfn/stack}/builder/outputs.rb +2 -2
  32. data/lib/ufo/cfn/stack/builder/parameters.rb +34 -0
  33. data/lib/ufo/cfn/stack/builder/resources/base.rb +4 -0
  34. data/lib/ufo/cfn/stack/builder/resources/dns.rb +47 -0
  35. data/lib/ufo/{stack/builder/resources/ecs.rb → cfn/stack/builder/resources/ecs_service.rb} +11 -10
  36. data/lib/ufo/cfn/stack/builder/resources/elb.rb +35 -0
  37. data/lib/ufo/cfn/stack/builder/resources/iam_roles/base.rb +32 -0
  38. data/lib/ufo/cfn/stack/builder/resources/iam_roles/execution_role.rb +4 -0
  39. data/lib/ufo/cfn/stack/builder/resources/iam_roles/task_role.rb +4 -0
  40. data/lib/ufo/cfn/stack/builder/resources/listener.rb +65 -0
  41. data/lib/ufo/cfn/stack/builder/resources/listener_ssl.rb +44 -0
  42. data/lib/ufo/cfn/stack/builder/resources/scaling/base.rb +5 -0
  43. data/lib/ufo/cfn/stack/builder/resources/scaling/policy.rb +27 -0
  44. data/lib/ufo/cfn/stack/builder/resources/scaling/role.rb +33 -0
  45. data/lib/ufo/cfn/stack/builder/resources/scaling/target.rb +22 -0
  46. data/lib/ufo/cfn/stack/builder/resources/security_group/base.rb +4 -0
  47. data/lib/ufo/{stack → cfn/stack}/builder/resources/security_group/ecs.rb +4 -4
  48. data/lib/ufo/{stack → cfn/stack}/builder/resources/security_group/ecs_rule.rb +2 -2
  49. data/lib/ufo/{stack → cfn/stack}/builder/resources/security_group/elb.rb +5 -6
  50. data/lib/ufo/{stack → cfn/stack}/builder/resources/target_group.rb +4 -4
  51. data/lib/ufo/{stack → cfn/stack}/builder/resources/task_definition/reconstructor.rb +4 -4
  52. data/lib/ufo/{stack → cfn/stack}/builder/resources/task_definition.rb +4 -4
  53. data/lib/ufo/cfn/stack/builder/resources.rb +24 -0
  54. data/lib/ufo/cfn/stack/builder.rb +30 -0
  55. data/lib/ufo/{stack → cfn/stack}/custom_properties.rb +21 -5
  56. data/lib/ufo/cfn/stack/params.rb +51 -0
  57. data/lib/ufo/{stack → cfn/stack}/status.rb +2 -2
  58. data/lib/ufo/cfn/stack/template.rb +8 -0
  59. data/lib/ufo/cfn/stack/vars.rb +110 -0
  60. data/lib/ufo/cfn/stack/vpc.rb +31 -0
  61. data/lib/ufo/cfn/stack.rb +175 -0
  62. data/lib/ufo/cli/base.rb +18 -0
  63. data/lib/ufo/cli/build.rb +30 -0
  64. data/lib/ufo/cli/cancel.rb +18 -0
  65. data/lib/ufo/cli/central/update.rb +80 -0
  66. data/lib/ufo/cli/central.rb +12 -0
  67. data/lib/ufo/cli/clean.rb +17 -0
  68. data/lib/ufo/cli/destroy.rb +31 -0
  69. data/lib/ufo/{docker.rb → cli/docker.rb} +18 -18
  70. data/lib/ufo/cli/exec.rb +82 -0
  71. data/lib/ufo/cli/help/central/update.md +20 -0
  72. data/lib/ufo/{help → cli/help}/completion.md +0 -0
  73. data/lib/ufo/{help → cli/help}/completion_script.md +0 -0
  74. data/lib/ufo/cli/help/destroy.md +9 -0
  75. data/lib/ufo/cli/help/docker/base.md +39 -0
  76. data/lib/ufo/{help → cli/help}/docker/build.md +9 -9
  77. data/lib/ufo/{help → cli/help}/docker/clean.md +8 -8
  78. data/lib/ufo/{help → cli/help}/docker/compile.md +0 -0
  79. data/lib/ufo/cli/help/docker/name.md +16 -0
  80. data/lib/ufo/{help → cli/help}/docker/push.md +0 -0
  81. data/lib/ufo/cli/help/docker.md +6 -0
  82. data/lib/ufo/{help → cli/help}/help.md +1 -1
  83. data/lib/ufo/cli/help/init.md +27 -0
  84. data/lib/ufo/{help → cli/help}/logs.md +5 -4
  85. data/lib/ufo/cli/help/ps.md +12 -0
  86. data/lib/ufo/cli/help/releases.md +15 -0
  87. data/lib/ufo/cli/help/rollback.md +40 -0
  88. data/lib/ufo/cli/help/scale.md +7 -0
  89. data/lib/ufo/cli/help/ship.md +41 -0
  90. data/lib/ufo/cli/help/stop.md +3 -0
  91. data/lib/ufo/cli/help.rb +62 -0
  92. data/lib/ufo/{logs.rb → cli/logs.rb} +13 -6
  93. data/lib/ufo/cli/new/concerns.rb +16 -0
  94. data/lib/ufo/cli/new/helper.rb +24 -0
  95. data/lib/ufo/cli/new/init.rb +68 -0
  96. data/lib/ufo/{sequence.rb → cli/new/sequence.rb} +26 -4
  97. data/lib/ufo/cli/new.rb +10 -0
  98. data/lib/ufo/cli/opts.rb +35 -0
  99. data/lib/ufo/{ps → cli/ps}/task.rb +22 -29
  100. data/lib/ufo/cli/ps.rb +190 -0
  101. data/lib/ufo/{releases.rb → cli/releases.rb} +4 -4
  102. data/lib/ufo/{rollback.rb → cli/rollback.rb} +24 -12
  103. data/lib/ufo/cli/scale.rb +76 -0
  104. data/lib/ufo/cli/ship.rb +28 -0
  105. data/lib/ufo/cli/status.rb +8 -0
  106. data/lib/ufo/cli/stop.rb +49 -0
  107. data/lib/ufo/{tasks.rb → cli/tasks.rb} +2 -2
  108. data/lib/ufo/{upgrade.rb → cli/upgrade.rb} +2 -2
  109. data/lib/ufo/cli.rb +82 -172
  110. data/lib/ufo/command.rb +56 -1
  111. data/lib/ufo/concerns/autoscaling.rb +11 -0
  112. data/lib/ufo/concerns/names.rb +9 -0
  113. data/lib/ufo/concerns.rb +26 -0
  114. data/lib/ufo/config/inits.rb +13 -0
  115. data/lib/ufo/config.rb +187 -0
  116. data/lib/ufo/core.rb +32 -44
  117. data/lib/ufo/docker/builder.rb +44 -40
  118. data/lib/ufo/docker/cleaner.rb +9 -12
  119. data/lib/ufo/docker/compiler.rb +10 -4
  120. data/lib/ufo/docker/concerns.rb +7 -0
  121. data/lib/ufo/docker/dockerfile.rb +13 -9
  122. data/lib/ufo/docker/pusher.rb +13 -25
  123. data/lib/ufo/docker/state.rb +63 -0
  124. data/lib/ufo/ecr/auth.rb +8 -7
  125. data/lib/ufo/ecr/cleaner.rb +10 -14
  126. data/lib/ufo/ext/core/module.rb +31 -0
  127. data/lib/ufo/ext/core/nil_class.rb +11 -0
  128. data/lib/ufo/ext.rb +2 -0
  129. data/lib/ufo/{role → iam_role}/builder.rb +1 -1
  130. data/lib/ufo/{role → iam_role}/dsl.rb +8 -2
  131. data/lib/ufo/{role → iam_role}/registry.rb +1 -1
  132. data/lib/ufo/info.rb +22 -4
  133. data/lib/ufo/layering/layer.rb +95 -0
  134. data/lib/ufo/layering.rb +23 -0
  135. data/lib/ufo/log_group.rb +18 -10
  136. data/lib/ufo/logger/formatter.rb +13 -0
  137. data/lib/ufo/logger.rb +32 -0
  138. data/lib/ufo/names.rb +69 -0
  139. data/lib/ufo/param.rb +2 -1
  140. data/lib/ufo/task_definition/builder.rb +7 -0
  141. data/lib/ufo/task_definition/context.rb +45 -0
  142. data/lib/ufo/task_definition/erb/base.rb +18 -0
  143. data/lib/ufo/task_definition/erb/json.rb +28 -0
  144. data/lib/ufo/task_definition/erb/yaml.rb +18 -0
  145. data/lib/ufo/task_definition/erb.rb +78 -0
  146. data/lib/ufo/task_definition/helpers/aws_data_helper.rb +18 -0
  147. data/lib/ufo/task_definition/helpers/core.rb +50 -0
  148. data/lib/ufo/task_definition/helpers/ssm/fetcher.rb +39 -0
  149. data/lib/ufo/task_definition/helpers/ssm.rb +8 -0
  150. data/lib/ufo/task_definition/helpers/stack_output.rb +23 -0
  151. data/lib/ufo/{dsl/helper → task_definition/helpers}/vars.rb +40 -19
  152. data/lib/ufo/task_definition/helpers/vpc.rb +48 -0
  153. data/lib/ufo/task_definition/helpers.rb +5 -0
  154. data/lib/ufo/task_definition.rb +19 -0
  155. data/lib/ufo/upgrade/upgrade3.rb +1 -1
  156. data/lib/ufo/upgrade/upgrade4.rb +3 -3
  157. data/lib/ufo/utils/execute.rb +30 -0
  158. data/lib/ufo/utils/logging.rb +7 -0
  159. data/lib/ufo/utils/pretty.rb +18 -0
  160. data/lib/ufo/utils/squeezer.rb +1 -1
  161. data/lib/ufo/utils/sure.rb +23 -0
  162. data/lib/ufo/version.rb +1 -1
  163. data/lib/ufo/yaml/loader.rb +48 -0
  164. data/lib/ufo/yaml/validator.rb +51 -0
  165. data/lib/ufo/yaml.rb +13 -0
  166. data/lib/ufo.rb +12 -2
  167. data/spec/spec_helper.rb +4 -26
  168. data/spec/{lib → ufo}/ecr_auth_spec.rb +0 -0
  169. data/spec/{lib → ufo}/ecr_cleaner_spec.rb +0 -2
  170. data/spec/{lib/role → ufo/iam_role}/builder_spec.rb +5 -5
  171. data/spec/{lib/role → ufo/iam_role}/dsl_spec.rb +3 -3
  172. data/spec/{lib → ufo}/logs_spec.rb +2 -2
  173. data/ufo.gemspec +9 -3
  174. metadata +244 -341
  175. data/.circleci/bin/commit_docs.sh +0 -26
  176. data/.circleci/config.yml +0 -78
  177. data/.gitmodules +0 -0
  178. data/docs/.gitignore +0 -5
  179. data/docs/CNAME +0 -1
  180. data/docs/Gemfile +0 -4
  181. data/docs/LICENSE +0 -21
  182. data/docs/README.md +0 -20
  183. data/docs/_config.yml +0 -75
  184. data/docs/_docs/aws-ecs-task-execution-role.md +0 -28
  185. data/docs/_docs/conventions.md +0 -47
  186. data/docs/_docs/extras/codebuild-iam-role.md +0 -46
  187. data/docs/_docs/extras/dockerfile-erb.md +0 -60
  188. data/docs/_docs/extras/ecs-network-mode.md +0 -37
  189. data/docs/_docs/extras/load-balancer.md +0 -83
  190. data/docs/_docs/extras/minimal-deploy-iam.md +0 -79
  191. data/docs/_docs/extras/notification-arns.md +0 -21
  192. data/docs/_docs/extras/redirection-support.md +0 -27
  193. data/docs/_docs/extras/route53-support.md +0 -27
  194. data/docs/_docs/extras/security-groups.md +0 -36
  195. data/docs/_docs/extras/ssl-support.md +0 -20
  196. data/docs/_docs/faq.md +0 -100
  197. data/docs/_docs/fargate.md +0 -5
  198. data/docs/_docs/helpers.md +0 -24
  199. data/docs/_docs/iam-roles.md +0 -112
  200. data/docs/_docs/install.md +0 -25
  201. data/docs/_docs/more/auto-completion.md +0 -24
  202. data/docs/_docs/more/automated-cleanup.md +0 -14
  203. data/docs/_docs/more/customize-cloudformation.md +0 -35
  204. data/docs/_docs/more/migrations.md +0 -25
  205. data/docs/_docs/more/run-in-pieces.md +0 -30
  206. data/docs/_docs/more/single-task.md +0 -25
  207. data/docs/_docs/more/stuck-cloudformation.md +0 -29
  208. data/docs/_docs/more/why-cloudformation.md +0 -21
  209. data/docs/_docs/next-steps.md +0 -16
  210. data/docs/_docs/quick-start-ec2.md +0 -86
  211. data/docs/_docs/secrets.md +0 -135
  212. data/docs/_docs/settings/aws_profile.md +0 -36
  213. data/docs/_docs/settings/cfn.md +0 -12
  214. data/docs/_docs/settings/cluster.md +0 -66
  215. data/docs/_docs/settings/manage-security-groups.md +0 -24
  216. data/docs/_docs/settings/network.md +0 -45
  217. data/docs/_docs/settings.md +0 -55
  218. data/docs/_docs/ssl_errors.md +0 -40
  219. data/docs/_docs/structure.md +0 -41
  220. data/docs/_docs/tutorial-ufo-docker-build.md +0 -61
  221. data/docs/_docs/tutorial-ufo-init.md +0 -86
  222. data/docs/_docs/tutorial-ufo-ship.md +0 -95
  223. data/docs/_docs/tutorial-ufo-ships.md +0 -38
  224. data/docs/_docs/tutorial-ufo-tasks-build.md +0 -177
  225. data/docs/_docs/tutorial.md +0 -14
  226. data/docs/_docs/ufo-current.md +0 -49
  227. data/docs/_docs/ufo-env-extra.md +0 -22
  228. data/docs/_docs/ufo-env.md +0 -46
  229. data/docs/_docs/ufo-logs.md +0 -49
  230. data/docs/_docs/ufo-task-params.md +0 -43
  231. data/docs/_docs/ufo-tasks-register.md +0 -21
  232. data/docs/_docs/upgrading/upgrade4.5.md +0 -52
  233. data/docs/_docs/upgrading/upgrade4.md +0 -48
  234. data/docs/_docs/upgrading/upgrade5.md +0 -19
  235. data/docs/_docs/upgrading.md +0 -13
  236. data/docs/_docs/variables.md +0 -55
  237. data/docs/_includes/about.html +0 -19
  238. data/docs/_includes/banner/foot.html +0 -2
  239. data/docs/_includes/banner/head.html +0 -5
  240. data/docs/_includes/cfn-customize.md +0 -53
  241. data/docs/_includes/commands.html +0 -80
  242. data/docs/_includes/contact.html +0 -17
  243. data/docs/_includes/contact_disqus.html +0 -16
  244. data/docs/_includes/contact_static.html +0 -17
  245. data/docs/_includes/content.html +0 -26
  246. data/docs/_includes/css/bootstrap.min.css +0 -7
  247. data/docs/_includes/css/main.css +0 -501
  248. data/docs/_includes/css/quotes.css +0 -102
  249. data/docs/_includes/css/syntax.css +0 -65
  250. data/docs/_includes/css/table.css +0 -53
  251. data/docs/_includes/css/timeline.css +0 -201
  252. data/docs/_includes/css/ufo.css +0 -218
  253. data/docs/_includes/edit-on-github.html +0 -11
  254. data/docs/_includes/example.html +0 -63
  255. data/docs/_includes/footer.html +0 -44
  256. data/docs/_includes/google_analytics.html +0 -10
  257. data/docs/_includes/head.html +0 -32
  258. data/docs/_includes/header.html +0 -15
  259. data/docs/_includes/js.html +0 -32
  260. data/docs/_includes/js_disqus.html +0 -21
  261. data/docs/_includes/modals.html +0 -40
  262. data/docs/_includes/nav.html +0 -27
  263. data/docs/_includes/prev_next.md +0 -19
  264. data/docs/_includes/quotes.html +0 -19
  265. data/docs/_includes/reference.md +0 -5
  266. data/docs/_includes/repo_push_access.md +0 -11
  267. data/docs/_includes/subnav.html +0 -78
  268. data/docs/_includes/summary.html +0 -22
  269. data/docs/_includes/ufo-ship-options.md +0 -12
  270. data/docs/_includes/uses.html +0 -19
  271. data/docs/_layouts/default.html +0 -13
  272. data/docs/_layouts/style.css +0 -6
  273. data/docs/_reference/ufo-apps.md +0 -37
  274. data/docs/_reference/ufo-cancel.md +0 -24
  275. data/docs/_reference/ufo-completion.md +0 -46
  276. data/docs/_reference/ufo-completion_script.md +0 -27
  277. data/docs/_reference/ufo-current.md +0 -93
  278. data/docs/_reference/ufo-deploy.md +0 -76
  279. data/docs/_reference/ufo-destroy.md +0 -36
  280. data/docs/_reference/ufo-docker-base.md +0 -71
  281. data/docs/_reference/ufo-docker-build.md +0 -91
  282. data/docs/_reference/ufo-docker-clean.md +0 -44
  283. data/docs/_reference/ufo-docker-compile.md +0 -19
  284. data/docs/_reference/ufo-docker-help.md +0 -15
  285. data/docs/_reference/ufo-docker-name.md +0 -37
  286. data/docs/_reference/ufo-docker-push.md +0 -49
  287. data/docs/_reference/ufo-docker.md +0 -38
  288. data/docs/_reference/ufo-init.md +0 -125
  289. data/docs/_reference/ufo-logs.md +0 -40
  290. data/docs/_reference/ufo-network-help.md +0 -15
  291. data/docs/_reference/ufo-network-init.md +0 -39
  292. data/docs/_reference/ufo-network.md +0 -26
  293. data/docs/_reference/ufo-ps.md +0 -56
  294. data/docs/_reference/ufo-releases.md +0 -40
  295. data/docs/_reference/ufo-resources.md +0 -44
  296. data/docs/_reference/ufo-rollback.md +0 -61
  297. data/docs/_reference/ufo-scale.md +0 -50
  298. data/docs/_reference/ufo-ship.md +0 -129
  299. data/docs/_reference/ufo-ships.md +0 -68
  300. data/docs/_reference/ufo-status.md +0 -23
  301. data/docs/_reference/ufo-stop.md +0 -31
  302. data/docs/_reference/ufo-task.md +0 -56
  303. data/docs/_reference/ufo-tasks-build.md +0 -178
  304. data/docs/_reference/ufo-tasks-help.md +0 -15
  305. data/docs/_reference/ufo-tasks-register.md +0 -29
  306. data/docs/_reference/ufo-tasks.md +0 -35
  307. data/docs/_reference/ufo-upgrade-help.md +0 -15
  308. data/docs/_reference/ufo-upgrade-v2to3.md +0 -15
  309. data/docs/_reference/ufo-upgrade-v33to34.md +0 -15
  310. data/docs/_reference/ufo-upgrade-v3to4.md +0 -27
  311. data/docs/_reference/ufo-upgrade-v43to45.md +0 -15
  312. data/docs/_reference/ufo-upgrade.md +0 -29
  313. data/docs/_reference/ufo-version.md +0 -23
  314. data/docs/articles.md +0 -14
  315. data/docs/bin/web +0 -4
  316. data/docs/css/font-awesome/css/font-awesome.css +0 -1566
  317. data/docs/css/font-awesome/css/font-awesome.min.css +0 -4
  318. data/docs/css/font-awesome/fonts/FontAwesome.otf +0 -0
  319. data/docs/css/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  320. data/docs/css/font-awesome/fonts/fontawesome-webfont.svg +0 -504
  321. data/docs/css/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  322. data/docs/css/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  323. data/docs/docs.md +0 -29
  324. data/docs/img/docs/cloudformation-resources.png +0 -0
  325. data/docs/img/logos/boltops-logo-full.png +0 -0
  326. data/docs/img/logos/boltops-logo.png +0 -0
  327. data/docs/img/logos/ufo-logo-2.png +0 -0
  328. data/docs/img/logos/ufo-logo.png +0 -0
  329. data/docs/img/logos/ufo-site-header.png +0 -0
  330. data/docs/img/logos/ufo.jpg +0 -0
  331. data/docs/img/tutorials/ecs-console-task-definitions.png +0 -0
  332. data/docs/img/tutorials/ecs-console-ufo-ship.png +0 -0
  333. data/docs/img/tutorials/ecs-console-ufo-ships.png +0 -0
  334. data/docs/index.html +0 -10
  335. data/docs/js/bootstrap.js +0 -2114
  336. data/docs/js/bootstrap.min.js +0 -6
  337. data/docs/js/cbpAnimatedHeader.js +0 -44
  338. data/docs/js/cbpAnimatedHeader.min.js +0 -11
  339. data/docs/js/classie.js +0 -80
  340. data/docs/js/contact_me.js +0 -70
  341. data/docs/js/contact_me_static.js +0 -23
  342. data/docs/js/freelancer.js +0 -37
  343. data/docs/js/jqBootstrapValidation.js +0 -912
  344. data/docs/js/jquery-1.11.0.js +0 -4
  345. data/docs/js/jquery.easing.min.js +0 -44
  346. data/docs/js/nav.js +0 -53
  347. data/docs/quick-start.md +0 -133
  348. data/docs/reference.md +0 -29
  349. data/docs/style.css +0 -3
  350. data/docs/utils/ssl-doctor.rb +0 -89
  351. data/docs/utils/test-aws-api-access.rb +0 -11
  352. data/docs/utils/update-cert-chains.sh +0 -11
  353. data/lib/template/.env +0 -3
  354. data/lib/template/.secrets +0 -5
  355. data/lib/template/.ufo/iam_roles/execution_role.rb +0 -7
  356. data/lib/template/.ufo/iam_roles/task_role.rb +0 -21
  357. data/lib/template/.ufo/params.yml.tt +0 -27
  358. data/lib/template/.ufo/settings/cfn/default.yml.tt +0 -72
  359. data/lib/template/.ufo/settings/network/default.yml.tt +0 -26
  360. data/lib/template/.ufo/settings.yml.tt +0 -26
  361. data/lib/template/.ufo/task_definitions.rb.tt +0 -61
  362. data/lib/template/.ufo/templates/fargate.json.erb +0 -39
  363. data/lib/template/.ufo/templates/main.json.erb +0 -43
  364. data/lib/template/.ufo/variables/base.rb.tt +0 -19
  365. data/lib/template/.ufo/variables/development.rb +0 -8
  366. data/lib/template/.ufo/variables/production.rb +0 -7
  367. data/lib/template/Dockerfile +0 -15
  368. data/lib/template/bin/deploy.tt +0 -7
  369. data/lib/ufo/apps/cfn_map.rb +0 -70
  370. data/lib/ufo/apps/cluster.rb +0 -24
  371. data/lib/ufo/apps/service.rb +0 -56
  372. data/lib/ufo/apps.rb +0 -56
  373. data/lib/ufo/aws_service.rb +0 -36
  374. data/lib/ufo/base.rb +0 -35
  375. data/lib/ufo/cancel.rb +0 -23
  376. data/lib/ufo/current.rb +0 -104
  377. data/lib/ufo/default/settings.yml +0 -24
  378. data/lib/ufo/default/templates/main.json.erb +0 -39
  379. data/lib/ufo/destroy.rb +0 -41
  380. data/lib/ufo/docker/variables.rb +0 -26
  381. data/lib/ufo/dsl/helper.rb +0 -79
  382. data/lib/ufo/dsl/outputter.rb +0 -43
  383. data/lib/ufo/dsl/task_definition.rb +0 -108
  384. data/lib/ufo/dsl.rb +0 -96
  385. data/lib/ufo/help/apps.md +0 -12
  386. data/lib/ufo/help/balancer.md +0 -3
  387. data/lib/ufo/help/completions.md +0 -16
  388. data/lib/ufo/help/completions_script.md +0 -1
  389. data/lib/ufo/help/current.md +0 -65
  390. data/lib/ufo/help/deploy.md +0 -38
  391. data/lib/ufo/help/destroy.md +0 -9
  392. data/lib/ufo/help/docker/base.md +0 -49
  393. data/lib/ufo/help/docker/name.md +0 -16
  394. data/lib/ufo/help/docker.md +0 -6
  395. data/lib/ufo/help/init.md +0 -91
  396. data/lib/ufo/help/network/init.md +0 -13
  397. data/lib/ufo/help/ps.md +0 -27
  398. data/lib/ufo/help/releases.md +0 -16
  399. data/lib/ufo/help/resources.md +0 -20
  400. data/lib/ufo/help/rollback.md +0 -35
  401. data/lib/ufo/help/scale.md +0 -26
  402. data/lib/ufo/help/ship.md +0 -95
  403. data/lib/ufo/help/ships.md +0 -35
  404. data/lib/ufo/help/stop.md +0 -7
  405. data/lib/ufo/help/task.md +0 -27
  406. data/lib/ufo/help/tasks/build.md +0 -158
  407. data/lib/ufo/help/tasks/register.md +0 -14
  408. data/lib/ufo/help/tasks.md +0 -7
  409. data/lib/ufo/help/upgrade/v3to4.md +0 -3
  410. data/lib/ufo/help.rb +0 -9
  411. data/lib/ufo/init.rb +0 -119
  412. data/lib/ufo/network/fetch.rb +0 -48
  413. data/lib/ufo/network/helper.rb +0 -23
  414. data/lib/ufo/network/init.rb +0 -26
  415. data/lib/ufo/network.rb +0 -21
  416. data/lib/ufo/ps.rb +0 -129
  417. data/lib/ufo/scale.rb +0 -28
  418. data/lib/ufo/setting/profile.rb +0 -44
  419. data/lib/ufo/setting/security_groups.rb +0 -22
  420. data/lib/ufo/setting.rb +0 -75
  421. data/lib/ufo/settings.rb +0 -20
  422. data/lib/ufo/ship.rb +0 -103
  423. data/lib/ufo/stack/builder/conditions.rb +0 -23
  424. data/lib/ufo/stack/builder/parameters.rb +0 -45
  425. data/lib/ufo/stack/builder/resources/base.rb +0 -4
  426. data/lib/ufo/stack/builder/resources/dns.rb +0 -17
  427. data/lib/ufo/stack/builder/resources/elb.rb +0 -45
  428. data/lib/ufo/stack/builder/resources/listener.rb +0 -42
  429. data/lib/ufo/stack/builder/resources/listener_ssl.rb +0 -16
  430. data/lib/ufo/stack/builder/resources/roles/base.rb +0 -22
  431. data/lib/ufo/stack/builder/resources/roles/execution_role.rb +0 -4
  432. data/lib/ufo/stack/builder/resources/roles/task_role.rb +0 -4
  433. data/lib/ufo/stack/builder/resources/security_group/base.rb +0 -4
  434. data/lib/ufo/stack/builder/resources.rb +0 -20
  435. data/lib/ufo/stack/builder.rb +0 -26
  436. data/lib/ufo/stack/context.rb +0 -253
  437. data/lib/ufo/stack/helper.rb +0 -55
  438. data/lib/ufo/stack/template_body.rb +0 -13
  439. data/lib/ufo/stack.rb +0 -213
  440. data/lib/ufo/status.rb +0 -56
  441. data/lib/ufo/stop.rb +0 -49
  442. data/lib/ufo/task.rb +0 -225
  443. data/lib/ufo/tasks/builder.rb +0 -40
  444. data/lib/ufo/tasks/register.rb +0 -90
  445. data/lib/ufo/template_scope.rb +0 -57
  446. data/lib/ufo/util.rb +0 -69
  447. data/spec/lib/apps_spec.rb +0 -20
  448. data/spec/lib/builder_spec.rb +0 -23
  449. data/spec/lib/cli_spec.rb +0 -73
  450. data/spec/lib/completion_spec.rb +0 -18
  451. data/spec/lib/ps_spec.rb +0 -14
  452. data/spec/lib/register_spec.rb +0 -49
  453. data/spec/lib/setting_spec.rb +0 -18
  454. data/spec/lib/ship_spec.rb +0 -46
  455. data/spec/lib/stack/status_spec.rb +0 -76
  456. data/spec/lib/stop_spec.rb +0 -13
  457. data/spec/lib/task_spec.rb +0 -54
@@ -1,71 +0,0 @@
1
- ---
2
- title: ufo docker base
3
- reference: true
4
- ---
5
-
6
- ## Usage
7
-
8
- ufo docker base
9
-
10
- ## Description
11
-
12
- Build docker image from `Dockerfile.base` and update current `Dockerfile`.
13
-
14
- The docker cache task builds a docker image using the `Dockerfile.base` file and
15
- updates the FROM `Dockerfile` image with the generated image from `Dockerfile.base`.
16
-
17
- ## Summarized Example
18
-
19
- ufo docker base
20
- ufo docker base --no-push # do not push the image to the registry
21
-
22
- Docker image `tongueroo/demo-ufo:base-2016-10-21T15-50-57-88071f5` built.
23
-
24
- ## Concept
25
-
26
- Docker is fantastic and has given developers more power and control over the OS their application runs on. Sometimes building Docker images can be slow though. Docker layer caching technology helps immensely to speed up the process as Docker will only rebuild layers that require rebuilding. But sometimes one little dependency changes it results in having to rebuild many layers.
27
-
28
- The `ufo docker base` commands allows you to build an Docker image from `Dockerfile.base` to be used as a cache and in the FROM instruction in the main `Dockerfile`. This base Docker cache image technique speeds up development substantially if you have dependencies like gems in your project. Let's say you have 20 gems in your project and are actively developing your project. You are experimenting with 3 different gems, adding and removing them while you are investigating the best gem to use. Without the Docker image cache that already has all of your other gems installed each time you adjust `Gemfile` it would have to wait until all the gems from scratch again installed again.
29
-
30
- There are pros and cons of using this approach. Remember there are 2 hard problems in computer science: 1. Naming and 2. Caching. The main con about this approach is if you forget to update the base Docker image you will have cached artifacts that will not disappear unless you rebuild the base Docker image. While some folks are completely against introducing this cache layer, some have found it being a huge win in speeding up their Docker development workflow. If you are using this technique it is recommended that you set up some automation that rebuilds the base Docker image at least nightly.
31
-
32
- ## Demo
33
-
34
- To demonstrate this command, there's a `docker-cache` branch in the [tongueroo/demo-ufo](https://github.com/tongueroo/demo-ufo/tree/docker-cache) repo.
35
-
36
- Let's see the command in action:
37
-
38
- ufo docker base
39
- Building docker image with:
40
- docker build -t tongueroo/demo-ufo:base-2017-06-12T14-36-44-2af505e -f Dockerfile.base .
41
- ...
42
- Pushed tongueroo/demo-ufo:base-2017-06-12T14-36-44-2af505e docker image. Took 28s.
43
- The Dockerfile FROM statement has been updated with the latest base image:
44
- tongueroo/demo-ufo:base-2017-06-12T14-36-44-2af505e
45
-
46
- Some of the output has been excluded so we can focus on the important parts to point out. First notice that the commmand simply shells out to the docker command and calls:
47
-
48
- docker build -t tongueroo/demo-ufo:base-2017-06-12T14-36-44-2af505e -f Dockerfile.base .
49
-
50
- It is using the docker `-f Dockerfile.base` option to build the base image. It names the image with `tongueroo/demo-ufo:base-2017-06-12T14-36-44-2af505e`. The image tag contains useful information: the timestamp when the image was built and the exact git sha of the code. The image gets push to a registry immediately.
51
-
52
- ## Dockerfile FROM updated
53
-
54
- Notice at the very end, the *current* `Dockerfile`'s FROM statement has been updated with the newly built base Docker image automatically. This saves you from forgetting to copying and pasting it the `Dockerfile` yourself.
55
-
56
- If you're using a [Dockerfile.erb](https://ufoships.com/docs/extras/dockerfile-erb/), then ufo will update the `.ufo/settings/dockerfile_variables.yml` file instead. It assumes you're using a Dockerfile.erb that looks something like this:
57
-
58
- ```Dockerfile
59
- FROM <%= @base_image %>
60
- # ...
61
- CMD ["bin/web"]
62
- ```
63
-
64
-
65
- ## Options
66
-
67
- ```
68
- [--push], [--no-push]
69
- # Default: true
70
- ```
71
-
@@ -1,91 +0,0 @@
1
- ---
2
- title: ufo docker build
3
- reference: true
4
- ---
5
-
6
- ## Usage
7
-
8
- ufo docker build
9
-
10
- ## Description
11
-
12
- Build docker image.
13
-
14
- The `ufo docker build` builds a Docker image using the Dockerfile in the current project folder. This simply is a wrapper command that shells out and calls the `docker` command. We're use the [tongueroo/demo-ufo](https://github.com/tongueroo/demo-ufo) project and it's Dockerfile for demonstration. Example:
15
-
16
- ufo docker build
17
-
18
- You'll see that it calls:
19
-
20
- docker build -t tongueroo/demo-ufo:ufo-2017-06-11T22-18-03-a18aa30 -f Dockerfile .
21
-
22
- You should see similar output (some of the output has been truncated for conciseness):
23
-
24
- $ ufo docker build
25
- Building docker image with:
26
- docker build -t tongueroo/demo-ufo:ufo-2017-06-11T22-18-03-a18aa30 -f Dockerfile .
27
- Sending build context to Docker daemon 734.2 kB
28
- Step 1 : FROM ruby:2.3.3
29
- ---> 0e1db669d557
30
- Step 2 : RUN apt-get update && apt-get install -y build-essential nodejs && rm -rf /var/lib/apt/lists/* && apt-get clean && apt-get purge
31
- ---> Using cache
32
- ---> 931ace833716
33
- ...
34
- Step 7 : ADD . /app
35
- ---> fae2452e6c35
36
- Removing intermediate container 4c93f92a7fd8
37
- Step 8 : RUN bundle install --system
38
- ---> Running in f851b9cb7d27
39
- Using rake 12.0.0
40
- Using i18n 0.8.1
41
- ...
42
- Using web-console 2.3.0
43
- Bundle complete! 12 Gemfile dependencies, 56 gems now installed.
44
- Bundled gems are installed into /usr/local/bundle.
45
- ---> 194830c5c1a8
46
- ...
47
- Removing intermediate container 67545cd4cd09
48
- Step 11 : CMD bin/web
49
- ---> Running in b1b26e68d957
50
- ---> 8547bb48b21f
51
- Removing intermediate container b1b26e68d957
52
- Successfully built 8547bb48b21f
53
- Docker image tongueroo/demo-ufo:ufo-2017-06-11T22-18-03-a18aa30 built. Took 33s.
54
- $
55
-
56
- The docker image tag that is generated contains a useful timestamp and the current HEAD git sha of the project that you are on.
57
-
58
- By default when you are running `ufo docker build` directly it does not push the docker image to the registry. If you would like it to automaticaly push the built image to a registry at the end of the build use the `--push` flag.
59
-
60
- ufo docker build --push
61
-
62
- You should see it being pushed at the end:
63
-
64
- Docker image tongueroo/demo-ufo:ufo-2017-06-11T22-22-32-a18aa30 built. Took 34s.
65
- The push refers to a repository [docker.io/tongueroo/demo-ufo]
66
- ef375857f165: Pushed
67
- 4d791d7cde66: Pushed
68
- 277ff31e79b4: Layer already exists
69
- a361a4de05df: Layer already exists
70
- ufo-2017-06-11T22-22-32-a18aa30: digest: sha256:c5385a5084e87643bd943eb120e110321c59e8acd30736ba7b5223eb1143baa8 size: 3464
71
- Pushed tongueroo/demo-ufo:ufo-2017-06-11T22-22-32-a18aa30 docker image. Took 9s.
72
-
73
- Note in order to push the image to a registry you will need to login into the registry. If you are using DockerHub use the `docker login` command. If you are using AWS ECR then you can use the `aws ecr get-login` command.
74
-
75
- ## Docker Build Options
76
-
77
- You can specify docker build options with the `UFO_DOCKER_BUILD_OPTIONS` environment variable. Example:
78
-
79
- $ UFO_DOCKER_BUILD_OPTIONS="--build-arg RAILS_ENV=production" ufo docker build
80
- Building docker image with:
81
- docker build --build-arg RAILS_ENV=production -t tongueroo/demo-ufo:ufo-2018-05-19T11-52-16-6714713 -f Dockerfile .
82
- ...
83
- Docker image tongueroo/demo-ufo:ufo-2018-05-19T11-52-16-6714713 built. Took 2s.
84
-
85
-
86
- ## Options
87
-
88
- ```
89
- [--push], [--no-push]
90
- ```
91
-
@@ -1,44 +0,0 @@
1
- ---
2
- title: ufo docker clean
3
- reference: true
4
- ---
5
-
6
- ## Usage
7
-
8
- ufo docker clean IMAGE_NAME
9
-
10
- ## Description
11
-
12
- Clean up old images. Keeps a specified amount.
13
-
14
- Ufo comes with a handy command to clean up old images that ufo generates. Ufo only deletes images from the docker daemon and does not remove any images from any registry. To use it you pass the base portion of the image name to the command.
15
-
16
- Say you currently have these images:
17
-
18
- tongueroo/demo-ufo:ufo-2016-10-15T19-29-06-88071f5
19
- tongueroo/demo-ufo:ufo-2016-10-16T19-29-06-88071f5
20
- tongueroo/demo-ufo:ufo-2016-10-17T19-29-06-88071f5
21
- tongueroo/demo-ufo:ufo-2016-10-18T19-29-06-88071f5
22
-
23
- To clean them up and keep the 3 more recent:
24
-
25
- $ ufo docker clean tongueroo/demo-ufo
26
- Cleaning up docker images...
27
- Running: docker rmi tongueroo/demo-ufo:ufo-2016-10-15T19-29-06-88071f5
28
-
29
- This will remove tongueroo/demo-ufo:ufo-2016-10-15T19-29-06-88071f5.
30
-
31
- By default the clean command keeps the most 3 recent docker images. If you would like to override this setting you can use the `--keep` option. Example:
32
-
33
- ufo docker clean tongueroo/demo-ufo --keep 5
34
-
35
-
36
- ## Options
37
-
38
- ```
39
- [--keep=N]
40
- # Default: 3
41
- [--tag-prefix=TAG_PREFIX]
42
- # Default: ufo
43
- ```
44
-
@@ -1,19 +0,0 @@
1
- ---
2
- title: ufo docker compile
3
- reference: true
4
- ---
5
-
6
- ## Usage
7
-
8
- ufo docker compile
9
-
10
- ## Description
11
-
12
- Compile Dockerfile.erb
13
-
14
- The `ufo docker compile` compiles the Dockerfile using the Dockerfile.erb in the current project folder. Example:
15
-
16
- ufo docker compile
17
-
18
-
19
-
@@ -1,15 +0,0 @@
1
- ---
2
- title: ufo docker help
3
- reference: true
4
- ---
5
-
6
- ## Usage
7
-
8
- ufo docker help [COMMAND]
9
-
10
- ## Description
11
-
12
- Describe subcommands or one specific subcommand
13
-
14
-
15
-
@@ -1,37 +0,0 @@
1
- ---
2
- title: ufo docker name
3
- reference: true
4
- ---
5
-
6
- ## Usage
7
-
8
- ufo docker name
9
-
10
- ## Description
11
-
12
- Display the full docker image with tag that was last generated.
13
-
14
- It is sometimes handy to grab the name of the Docker image that was just generated. Let's say ou needed the image name so you can feed it into another script that you have. The command `ufo docker name` returns the image of the most recently built Docker image.
15
-
16
- ## Examples
17
-
18
- ufo docker build # stores the docker image name in the .ufo/data folder
19
- ufo docker name # fetches image name from .ufo/data folder
20
-
21
- An example image name would look something like this: `tongueroo/demo-ufo:ufo-2018-02-15T19-29-06-88071f5`
22
-
23
- Note, the `.ufo/data` folder is an internal data folder and it's structure can change in future releases.
24
-
25
- If you want to generate a brand new name for whatever purpose, you can use the `--generate` flag. The generate does not write to the `.ufo/data` folder. It only generates a fresh name to stdout. If you run it multiple times, it will generate new names. You can notice this by seeing that the timestamp will always update:
26
-
27
- ufo docker name --generate # example: tongueroo/demo-ufo:ufo-2018-02-15T10-00-00-88071f5
28
- ufo docker name --generate # example: tongueroo/demo-ufo:ufo-2018-02-15T10-00-08-88071f5
29
- ufo docker name --generate # example: tongueroo/demo-ufo:ufo-2018-02-15T10-00-16-88071f5
30
-
31
-
32
- ## Options
33
-
34
- ```
35
- [--generate], [--no-generate] # Generate a name without storing it
36
- ```
37
-
@@ -1,49 +0,0 @@
1
- ---
2
- title: ufo docker push
3
- reference: true
4
- ---
5
-
6
- ## Usage
7
-
8
- ufo docker push IMAGE
9
-
10
- ## Description
11
-
12
- Push the docker image.
13
-
14
-
15
- The `ufo docker push` command pushes the most recent Docker image built by `ufo docker build` to a registry. This command pushes a docker image up to the registry. By default it pushes the last image that was built with `ufo docker build`. To see what the image name is you can run `ufo docker name`. Example:
16
-
17
- ufo docker build # to build the image
18
- ufo docker name # to see the image name
19
- ufo docker push # push up the registry
20
-
21
- You'll see that `ufo docker push` simply shells out and calls `docker push`:
22
-
23
- $ ufo docker push
24
- => docker push 123456789.dkr.ecr.us-east-1.amazonaws.com/hi:ufo-2018-02-13T10-51-44-e0cc7be
25
- The push refers to a repository [123456789.dkr.ecr.us-east-1.amazonaws.com/hi]
26
- 399c739c257d: Layer already exists
27
- ...
28
- Pushed 123456789.dkr.ecr.us-east-1.amazonaws.com/hi:ufo-2018-02-13T10-51-44-e0cc7be docker image. Took 1s.
29
- $
30
-
31
- You can also push up a custom image by specifying the image name as the first parameter.
32
-
33
- ufo docker push my/image:tag
34
-
35
- You could also use the `--push` flag as part of the `ufo docker build` command to achieve the same thing as `ufo docker push`. The `ufo docker push` command might be more intutitive.
36
-
37
- ufo docker build --push # same as above
38
-
39
- ## Docker Authorization
40
-
41
- Note in order to push the image to a registry you will need to login into the registry. If you are using DockerHub use the `docker login` command. If you are using AWS ECR then, ufo will automatically try to authorize you and configure your `~/.docker/config.json`. If can also use `aws ecr get-login` command.
42
-
43
-
44
- ## Options
45
-
46
- ```
47
- [--push], [--no-push]
48
- ```
49
-
@@ -1,38 +0,0 @@
1
- ---
2
- title: ufo docker
3
- reference: true
4
- ---
5
-
6
- ## Usage
7
-
8
- ufo docker SUBCOMMAND
9
-
10
- ## Description
11
-
12
- docker subcommands
13
-
14
- ## Examples
15
-
16
- ufo docker base
17
- ufo docker build
18
- ufo docker name
19
- ufo docker push
20
-
21
- ## Subcommands
22
-
23
- * [ufo docker base]({% link _reference/ufo-docker-base.md %}) - Build docker image from `Dockerfile.base` and update current `Dockerfile`.
24
- * [ufo docker build]({% link _reference/ufo-docker-build.md %}) - Build docker image.
25
- * [ufo docker clean]({% link _reference/ufo-docker-clean.md %}) - Clean up old images. Keeps a specified amount.
26
- * [ufo docker compile]({% link _reference/ufo-docker-compile.md %}) - Compile Dockerfile.erb
27
- * [ufo docker name]({% link _reference/ufo-docker-name.md %}) - Display the full docker image with tag that was last generated.
28
- * [ufo docker push]({% link _reference/ufo-docker-push.md %}) - Push the docker image.
29
-
30
- ## Options
31
-
32
- ```
33
- [--verbose], [--no-verbose]
34
- [--mute], [--no-mute]
35
- [--noop], [--no-noop]
36
- [--cluster=CLUSTER] # Cluster. Overrides .ufo/settings.yml.
37
- ```
38
-
@@ -1,125 +0,0 @@
1
- ---
2
- title: ufo init
3
- reference: true
4
- ---
5
-
6
- ## Usage
7
-
8
- ufo init --image=IMAGE
9
-
10
- ## Description
11
-
12
- Set up initial ufo files.
13
-
14
- The `ufo init` command provides a way to quickly setup a project to be ufo ready. It creates a ufo folder with all the starter supporting files in order to use ufo. This page demonstrates how to use `ufo init`. The command requires the `--image` option. If the `--app` option is not provided, then it is inferred and set as the parent folder name. Example:
15
-
16
- cd demo
17
- ufo init --image tongueroo/demo-ufo # same as --app demo
18
-
19
- ## Examples
20
-
21
- For this example we will use [tongueroo/demo-ufo](https://github.com/tongueroo/demo-ufo) which is a small test sinatra app. Let's run the command in our newly clone project.
22
-
23
- $ git clone https://github.com/tongueroo/demo-ufo.git demo
24
- $ cd demo
25
- $ ufo init --image=tongueroo/demo-ufo
26
- Setting up ufo project...
27
- create .ufo/settings.yml
28
- create .ufo/task_definitions.rb
29
- create .ufo/templates/main.json.erb
30
- create .ufo/variables/base.rb
31
- create .ufo/variables/development.rb
32
- create .ufo/variables/production.rb
33
- create Dockerfile
34
- create bin/deploy
35
- append .gitignore
36
- Starter ufo files created.
37
-
38
- ## More Short Examples
39
-
40
- ufo init --image httpd
41
- ufo init --image 123456789012.dkr.ecr.us-west-2.amazonaws.com/myimage
42
- ufo init --image tongueroo/demo-ufo --launch-type fargate --execution-role-arn arn:aws:iam::123456789012:role/ecsTaskExecutionRole
43
- ufo init --image httpd --vpc-id vpc-123
44
-
45
- ## Important options
46
-
47
- The `app` is that application name that you want to show up on the ECS dashboard. It is encouraged to have the app name be a single word. If the option is not provided, the app name is inferred and is the parent folder name.
48
-
49
- The `image` is the base portion of image name that will be pushed to the docker registry, ie: DockerHub or AWS ECR. The image should **not** include the tag since the tag is generated upon a `ufo ship`. For example:
50
-
51
- tongueroo/demo-ufo => tongueroo/demo-ufo:ufo-2018-02-08T21-04-02-3c86158
52
-
53
- The generated `tongueroo/demo-ufo:ufo-2018-02-08T21-04-02-3c86158` image name gets pushed to the docker registry.
54
-
55
- The `--vpc-id`, `--ecs-subnets`, and `--elb-subnets` options are optional but very useful. If not specified then ufo will use the default vpc for the network settings like subnets and security groups, which might not be what you want.
56
-
57
- ## Directory Structure
58
-
59
- The standard directory structure of the `.ufo` folder that was created looks like this:
60
-
61
- ufo
62
- ├── output
63
- ├── settings.yml
64
- ├── task_definitions.rb
65
- ├── templates
66
- │ └── main.json.erb
67
- └── variables
68
- ├── base.rb
69
- ├── production.rb
70
- └── development.rb
71
-
72
- For a explanation of the folders and files refer to [Structure]({% link _docs/structure.md %}).
73
-
74
- ## Fargate Support
75
-
76
- For ECS Fargate, the ECS task definition structure is a bit different. To initialize a project to support Fargate use the `--launch-type fargate` option. You'll be prompted for a execution role arn. This value gets added to the generated `.ufo/variables/base.rb` and used in the `.ufo/templates/main.json.erb`.
77
-
78
- ufo init --image tongueroo/demo-ufo --app demo --launch-type fargate
79
-
80
- You can also generate the init ufo files and bypass the prompt by providing the `--execution-role-arn` option upfront.
81
-
82
- ufo init --image tongueroo/demo-ufo --app demo --launch-type fargate --execution-role-arn arn:aws:iam::123456789012:role/ecsTaskExecutionRole
83
-
84
- For more information and a demo of Fargate support, check out the [Quick Start: Fargate Docs]({% link quick-start.md %}).
85
-
86
- ## Custom Templates
87
-
88
- If you would like the `ufo init` command to use your own custom templates, you can achieve this with the `--template` and `--template-mode` options. Example:
89
-
90
- ufo init --image=tongueroo/demo-ufo --template=tongueroo/ufo-custom-template
91
-
92
- This will clone the repo on GitHub into the `~/.ufo/templates/tongueroo/ufo-custom-template` and use that as an additional template source. The default `--template-mode=additive` mode means that if there's a file in `tongueroo/ufo-custom-template` that exists it will use that in place of the default template files.
93
-
94
- If you do not want to use any of the original default template files within the ufo gem at all, you can use the `--template-mode=replace` mode. Replace mode will only use templates from the provided `--template` option. Example:
95
-
96
- ufo init --image=tongueroo/demo-ufo --template=tongueroo/ufo-custom-template --template-mode=replace
97
-
98
- You can also specific the full GitHub url. Example:
99
-
100
- ufo init --image=tongueroo/demo-ufo --template=https://github.com/tongueroo/ufo-custom-template
101
-
102
- If you would like to use a local template that is not on GitHub, then created a top-level folder in `~/.ufo/templates` without a subfolder. Example:
103
-
104
- ufo init --image=tongueroo/demo-ufo --template=my-custom # uses ~/.ufo/templates/my-custom
105
-
106
-
107
- ## Options
108
-
109
- ```
110
- [--force] # Bypass overwrite are you sure prompt for existing files.
111
- --image=IMAGE # Docker image name without the tag. Example: tongueroo/demo-ufo. Configures ufo/settings.yml
112
- [--app=APP] # App name. Preferably one word. Used in the generated ufo/task_definitions.rb. If not specified then the app name is inferred as the folder name.
113
- [--launch-type=LAUNCH_TYPE] # ec2 or fargate.
114
- # Default: ec2
115
- [--template=TEMPLATE] # Custom template to use.
116
- [--template-mode=TEMPLATE_MODE] # Template mode: replace or additive.
117
- [--vpc-id=VPC_ID] # Vpc id. For settings/network/default.yml.
118
- [--ecs-subnets=one two three] # Subnets for ECS tasks, defaults to --elb-subnets set to. For settings/network/default.yml
119
- [--elb-subnets=one two three] # Subnets for ELB. For settings/network/default.yml
120
- [--verbose], [--no-verbose]
121
- [--mute], [--no-mute]
122
- [--noop], [--no-noop]
123
- [--cluster=CLUSTER] # Cluster. Overrides .ufo/settings.yml.
124
- ```
125
-
@@ -1,40 +0,0 @@
1
- ---
2
- title: ufo logs
3
- reference: true
4
- ---
5
-
6
- ## Usage
7
-
8
- ufo logs
9
-
10
- ## Description
11
-
12
- Prints out logs
13
-
14
- ## Examples
15
-
16
- ufo logs demo-web
17
-
18
- If you have a current service name set.
19
-
20
- ufo current --service demo-web
21
- ufo logs # follow by default
22
- ufo logs --no-follow
23
- ufo logs --format detailed # to show stream too
24
-
25
-
26
- ## Options
27
-
28
- ```
29
- [--follow], [--no-follow] # Whether to continuously poll for new logs. To exit from this mode, use Control-C.
30
- # Default: true
31
- [--since=SINCE] # From what time to begin displaying logs. By default, logs will be displayed starting from 1 minutes in the past. The value provided can be an ISO 8601 timestamp or a relative time.
32
- [--format=FORMAT] # The format to display the logs. IE: detailed or short. With detailed, the log stream name is also shown.
33
- # Default: detailed
34
- [--filter-pattern=FILTER_PATTERN] # The filter pattern to use. If not provided, all the events are matched
35
- [--verbose], [--no-verbose]
36
- [--mute], [--no-mute]
37
- [--noop], [--no-noop]
38
- [--cluster=CLUSTER] # Cluster. Overrides .ufo/settings.yml.
39
- ```
40
-
@@ -1,15 +0,0 @@
1
- ---
2
- title: ufo network help
3
- reference: true
4
- ---
5
-
6
- ## Usage
7
-
8
- ufo network help [COMMAND]
9
-
10
- ## Description
11
-
12
- Describe subcommands or one specific subcommand
13
-
14
-
15
-
@@ -1,39 +0,0 @@
1
- ---
2
- title: ufo network init
3
- reference: true
4
- ---
5
-
6
- ## Usage
7
-
8
- ufo network init
9
-
10
- ## Description
11
-
12
- Creates network starter settings file.
13
-
14
- ## Examples
15
-
16
- ufo network init # will use default vpc and subnets
17
- ufo network init --vpc-id vpc-123
18
- ufo network init --vpc-id vpc-123 --subnets subnet-aaa subnet-bbb
19
-
20
- If the `--vpc-id` option is set and the `--subnets` is not, then ufo generates files with all the associated subnets from the specified vpc id.
21
-
22
- You can also specify name of the settings file to create with the `--filename` option. Example.
23
-
24
- ufo network init --vpc-id vpc-123 --filename dev
25
-
26
- The above command creates a `.ufo/settings/network/dev.yml` file. You might want to then update your `.ufo/settings.yml` file and update the `network_profile` config to reference it.
27
-
28
-
29
- ## Options
30
-
31
- ```
32
- [--force] # Bypass overwrite are you sure prompt for existing files.
33
- [--ecs-subnets=one two three] # ECS Subnets
34
- [--elb-subnets=one two three] # ELB Subnets
35
- [--vpc-id=VPC_ID] # Vpc id
36
- [--filename=FILENAME] # Name of the settings file to create w/o extension.
37
- # Default: default
38
- ```
39
-
@@ -1,26 +0,0 @@
1
- ---
2
- title: ufo network
3
- reference: true
4
- ---
5
-
6
- ## Usage
7
-
8
- ufo network SUBCOMMAND
9
-
10
- ## Description
11
-
12
- network subcommands
13
-
14
- ## Subcommands
15
-
16
- * [ufo network init]({% link _reference/ufo-network-init.md %}) - Creates network starter settings file.
17
-
18
- ## Options
19
-
20
- ```
21
- [--verbose], [--no-verbose]
22
- [--mute], [--no-mute]
23
- [--noop], [--no-noop]
24
- [--cluster=CLUSTER] # Cluster. Overrides .ufo/settings.yml.
25
- ```
26
-
@@ -1,56 +0,0 @@
1
- ---
2
- title: ufo ps
3
- reference: true
4
- ---
5
-
6
- ## Usage
7
-
8
- ufo ps SERVICE
9
-
10
- ## Description
11
-
12
- Show process info on ECS service.
13
-
14
- ## Examples
15
-
16
- $ ufo ps
17
- => Service: demo-web
18
- Service name: development-demo-web-Ecs-7GAUAXH5F56M
19
- Status: ACTIVE
20
- Running count: 2
21
- Desired count: 2
22
- Launch type: FARGATE
23
- Task definition: demo-web:85
24
- Elb: develop-Elb-1M74CLRS2G0Z4-686742146.us-east-1.elb.amazonaws.com
25
- +----------+------+-------------+----------------+---------+-------+
26
- | Id | Name | Release | Started | Status | Notes |
27
- +----------+------+-------------+----------------+---------+-------+
28
- | f590ee5e | web | demo-web:85 | 47 minutes ago | RUNNING | |
29
- | fb60ba9f | web | demo-web:85 | 45 minutes ago | RUNNING | |
30
- +----------+------+-------------+----------------+---------+-------+
31
-
32
- Skip the summary info:
33
-
34
- $ ufo ps --no-summary
35
- +----------+------+-------------+----------------+---------+-------+
36
- | Id | Name | Release | Started | Status | Notes |
37
- +----------+------+-------------+----------------+---------+-------+
38
- | f590ee5e | web | demo-web:85 | 48 minutes ago | RUNNING | |
39
- | fb60ba9f | web | demo-web:85 | 45 minutes ago | RUNNING | |
40
- +----------+------+-------------+----------------+---------+-------+
41
-
42
-
43
- ## Options
44
-
45
- ```
46
- [--summary], [--no-summary] # Display summary header info.
47
- # Default: true
48
- [--extra], [--no-extra] # Display extra debugging columns.
49
- [--status=STATUS] # Status filter: all, pending, stopped, running.
50
- # Default: all
51
- [--verbose], [--no-verbose]
52
- [--mute], [--no-mute]
53
- [--noop], [--no-noop]
54
- [--cluster=CLUSTER] # Cluster. Overrides .ufo/settings.yml.
55
- ```
56
-