ufo 4.3.1 → 4.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +8 -0
  3. data/CHANGELOG.md +6 -0
  4. data/Gemfile.lock +26 -26
  5. data/README.md +1 -1
  6. data/docs/.ruby-version +1 -0
  7. data/docs/_docs/auto-completion.md +2 -3
  8. data/docs/_docs/automated-cleanup.md +2 -3
  9. data/docs/_docs/conventions.md +2 -3
  10. data/docs/_docs/customize-cloudformation.md +2 -3
  11. data/docs/_docs/ecs-network-mode.md +2 -3
  12. data/docs/_docs/faq.md +2 -3
  13. data/docs/_docs/fargate.md +1 -5
  14. data/docs/_docs/helpers.md +2 -3
  15. data/docs/_docs/install.md +2 -4
  16. data/docs/_docs/load-balancer.md +2 -3
  17. data/docs/_docs/migrations.md +2 -3
  18. data/docs/_docs/next-steps.md +2 -4
  19. data/docs/_docs/params.md +2 -4
  20. data/docs/_docs/quick-start-ec2.md +3 -4
  21. data/docs/_docs/redirection-support.md +2 -3
  22. data/docs/_docs/route53-support.md +2 -3
  23. data/docs/_docs/run-in-pieces.md +2 -3
  24. data/docs/_docs/security-groups.md +2 -3
  25. data/docs/_docs/settings-cfn.md +2 -3
  26. data/docs/_docs/settings-network.md +2 -3
  27. data/docs/_docs/settings.md +21 -24
  28. data/docs/_docs/single-task.md +2 -3
  29. data/docs/_docs/ssl-support.md +2 -3
  30. data/docs/_docs/structure.md +2 -4
  31. data/docs/_docs/stuck-cloudformation.md +2 -3
  32. data/docs/_docs/tutorial-ufo-docker-build.md +2 -4
  33. data/docs/_docs/tutorial-ufo-init.md +2 -4
  34. data/docs/_docs/tutorial-ufo-ship.md +2 -3
  35. data/docs/_docs/tutorial-ufo-ships.md +2 -3
  36. data/docs/_docs/tutorial-ufo-tasks-build.md +2 -3
  37. data/docs/_docs/tutorial.md +2 -3
  38. data/docs/_docs/ufo-current.md +2 -3
  39. data/docs/_docs/ufo-env-extra.md +2 -3
  40. data/docs/_docs/ufo-env.md +2 -3
  41. data/docs/_docs/ufo-tasks-register.md +1 -2
  42. data/docs/_docs/upgrading.md +13 -0
  43. data/docs/_docs/upgrading/upgrade4.4.md +39 -0
  44. data/docs/_docs/{upgrade4.md → upgrading/upgrade4.md} +6 -4
  45. data/docs/_docs/variables.md +2 -3
  46. data/docs/_docs/why-cloudformation.md +2 -3
  47. data/docs/_includes/prev_next.md +19 -0
  48. data/docs/_includes/subnav.html +8 -1
  49. data/docs/_reference/{ufo-upgrade-v3_3to3_4.md → ufo-upgrade-v33to34.md} +2 -2
  50. data/docs/_reference/ufo-upgrade-v43to44.md +15 -0
  51. data/docs/_reference/ufo-upgrade.md +2 -1
  52. data/docs/articles.md +2 -3
  53. data/docs/docs.md +2 -4
  54. data/docs/quick-start.md +3 -3
  55. data/lib/cfn/stack.yml +8 -8
  56. data/lib/template/.ufo/settings.yml.tt +5 -8
  57. data/lib/ufo.rb +2 -0
  58. data/lib/ufo/apps/service.rb +4 -4
  59. data/lib/ufo/base.rb +1 -2
  60. data/lib/ufo/cancel.rb +2 -2
  61. data/lib/ufo/core.rb +16 -14
  62. data/lib/ufo/destroy.rb +2 -2
  63. data/lib/ufo/ps.rb +1 -1
  64. data/lib/ufo/scale.rb +2 -2
  65. data/lib/ufo/setting.rb +16 -1
  66. data/lib/ufo/stack/context.rb +0 -1
  67. data/lib/ufo/stack/helper.rb +18 -1
  68. data/lib/ufo/upgrade.rb +8 -2
  69. data/lib/ufo/upgrade/upgrade33to34.rb +1 -0
  70. data/lib/ufo/upgrade/upgrade43to44.rb +25 -0
  71. data/lib/ufo/version.rb +1 -1
  72. data/spec/fixtures/settings.yml +3 -5
  73. data/spec/lib/setting_spec.rb +5 -0
  74. data/ufo.gemspec +1 -1
  75. metadata +13 -8
  76. data/spec/lib/core_spec.rb +0 -16
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Run Single Task
3
+ nav_order: 36
3
4
  ---
4
5
 
5
6
  Sometimes you do not want to run a long running `service` but a one time task. Running Rails migrations are an example of a one off task. Here is an example of how you would run a one time task.
@@ -26,6 +27,4 @@ aws ecs describe-tasks --tasks arn:aws:ecs:us-west-2:994926937775:task/a0e4229d-
26
27
 
27
28
  You can check out the [ufo task](http://ufoships.com/reference/ufo-task/) reference for more details.
28
29
 
29
- <a id="prev" class="btn btn-basic" href="{% link _docs/run-in-pieces.md %}">Back</a>
30
- <a id="next" class="btn btn-primary" href="{% link _docs/migrations.md %}">Next Step</a>
31
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
30
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: SSL Support
3
+ nav_order: 25
3
4
  ---
4
5
 
5
6
  You can configure SSL support by uncomment the `listener_ssl` option in `.ufo/settings/cfn/default.yml`. Here's an example:
@@ -16,6 +17,4 @@ For the certificate arn, you will need to create a certificate with AWS ACM. To
16
17
 
17
18
  The protocol will be either HTTP or HTTPS for Application Load Balancers and TCP or TLS for Network Load Balancers. Ufo will infer the right value, so you usually don't have to configure the protocol manually. You can configure it if required though.
18
19
 
19
- <a id="prev" class="btn btn-basic" href="{% link _docs/ecs-network-mode.md %}">Back</a>
20
- <a id="next" class="btn btn-primary" href="{% link _docs/route53-support.md %}">Next Step</a>
21
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
20
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Structure
3
+ nav_order: 11
3
4
  ---
4
5
 
5
6
  Ufo creates a `.ufo` folder within your project which contains the required files used by ufo to build and deploy docker images to ECS. The standard directory structure of the `.ufo` folder looks like this:
@@ -36,7 +37,4 @@ File / Directory | Description
36
37
 
37
38
  Now that you know where the ufo configurations are located and what they look like, let’s use ufo!
38
39
 
39
- <a id="prev" class="btn btn-basic" href="{% link docs.md %}">Back</a>
40
- <a id="next" class="btn btn-primary" href="{% link _docs/settings.md %}">Next Step</a>
41
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
42
-
40
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Stuck CloudFormation
3
+ nav_order: 34
3
4
  ---
4
5
 
5
6
  The CloudFormation stack update or creation can get stuck in a `*_IN_PROGRESS` state for a very long time, like more than an hour. This happens when you deploy an ECS service that fails to stabilize. Usually, this is an error with the Docker container failing to start up successfully.
@@ -25,6 +26,4 @@ To cancel a current deploy, run:
25
26
 
26
27
  This is the same thing as canceling the stack update in the CloudFormation console.
27
28
 
28
- <a id="prev" class="btn btn-basic" href="{% link _docs/customize-cloudformation.md %}">Back</a>
29
- <a id="next" class="btn btn-primary" href="{% link _docs/upgrade4.md %}">Next Step</a>
30
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
29
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Build Docker
3
+ nav_order: 6
3
4
  ---
4
5
 
5
6
  ## Build the Docker Image
@@ -57,7 +58,4 @@ Docker push took 12s.
57
58
 
58
59
  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 automatically calls the `aws ecr get-login` command and authenticates for you.
59
60
 
60
- <a id="prev" class="btn btn-basic" href="{% link _docs/tutorial-ufo-init.md %}">Back</a>
61
- <a id="next" class="btn btn-primary" href="{% link _docs/tutorial-ufo-tasks-build.md %}">Next Step</a>
62
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
63
-
61
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Setup Ufo
3
+ nav_order: 5
3
4
  ---
4
5
 
5
6
  The easiest way to create this ufo folder is by using the `ufo init` command. For this tutorial we'll [tongueroo/demo-ufo](https://github.com/tongueroo/demo-ufo) which is a small test sinatra app.
@@ -88,7 +89,4 @@ The `image` value is the name that ufo will use as a base portion of the name to
88
89
 
89
90
  The other settings are optional. You can learn more about them at [Settings]({% link _docs/settings.md %}).
90
91
 
91
- <a id="prev" class="btn btn-basic" href="{% link _docs/tutorial.md %}">Back</a>
92
- <a id="next" class="btn btn-primary" href="{% link _docs/tutorial-ufo-docker-build.md %}">Next Step</a>
93
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
94
-
92
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Deploy One App
3
+ nav_order: 8
3
4
  ---
4
5
 
5
6
  ## Step 3 - Ship the Code to ECS
@@ -91,6 +92,4 @@ We've been typing the `demo-web` service name explicitly. We can set the curren
91
92
 
92
93
  Congratulations 🎊 You have successfully built a Docker image, register it and deployed it to AWS ECS.
93
94
 
94
- <a id="prev" class="btn btn-basic" href="{% link _docs/tutorial-ufo-tasks-build.md %}">Back</a>
95
- <a id="next" class="btn btn-primary" href="{% link _docs/tutorial-ufo-ships.md %}">Next Step</a>
96
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
95
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Deploy Multiple Apps
3
+ nav_order: 9
3
4
  ---
4
5
 
5
6
  You might have noticed in the tutorial that the generated starter .ufo folder contains 3 task definitions a `web`, `worker` and `clock` role. This is a common pattern. The web process handles web traffic, the worker process handles background job processing that would be too slow and potentially block web requests, and a clock process is typically used to schedule recurring jobs.
@@ -34,6 +35,4 @@ ufo ships demo-{web,worker,clock}
34
35
 
35
36
  In the case of the `ufo ships` command the `--wait` option defaults to false so that all the specified ECS services update in parallel. You can check on the status of the update on the CloudFormation console.
36
37
 
37
- <a id="prev" class="btn btn-basic" href="{% link _docs/tutorial-ufo-ship.md %}">Back</a>
38
- <a id="next" class="btn btn-primary" href="{% link docs.md %}">Next Step</a>
39
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
38
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Task Definitions
3
+ nav_order: 7
3
4
  ---
4
5
 
5
6
  ## Build the ECS Task Definitions
@@ -173,6 +174,4 @@ demo-worker task definition registered.
173
174
  $
174
175
  ```
175
176
 
176
- <a id="prev" class="btn btn-basic" href="{% link _docs/tutorial-ufo-docker-build.md %}">Back</a>
177
- <a id="next" class="btn btn-primary" href="{% link _docs/tutorial-ufo-ship.md %}">Next Step</a>
178
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
177
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Tutorial
3
+ nav_order: 4
3
4
  ---
4
5
 
5
6
  In the next sections, we'll walk through using ufo in detail. We will ufo-ify a project. Then we'll go through the step by step process that ufo automated. Normally ufo is not really used in step like fashion like in this tutorial, but going through it step by step really helps to understand how ufo works. Here are the steps we'll go through:
@@ -10,6 +11,4 @@ In the next sections, we'll walk through using ufo in detail. We will ufo-ify a
10
11
 
11
12
  Let's start!
12
13
 
13
- <a id="prev" class="btn btn-basic" href="{% link _docs/install.md %}">Back</a>
14
- <a id="next" class="btn btn-primary" href="{% link _docs/tutorial-ufo-init.md %}">Next Step</a>
15
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
14
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Ufo Current
3
+ nav_order: 21
3
4
  ---
4
5
 
5
6
  ## service
@@ -45,6 +46,4 @@ This can be shorten with with current also.
45
46
  ufo current --services demo-web demo-worker demo-clock
46
47
  ufo ships
47
48
 
48
- <a id="prev" class="btn btn-basic" href="{% link _docs/ufo-env-extra.md %}">Back</a>
49
- <a id="next" class="btn btn-primary" href="{% link _docs/load-balancer.md %}">Next Step</a>
50
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
49
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: UFO_ENV_EXTRA
3
+ nav_order: 20
3
4
  ---
4
5
 
5
6
  Ufo has an concept of extra environments. This is controlled by the `UFO_ENV_EXTRA` variable. By setting `UFO_ENV_EXTRA` you can create additional identical ECS services or environments.
@@ -16,6 +17,4 @@ The precedence:
16
17
  1. UFO_ENV_EXTRA - takes highest precedence
17
18
  2. `.ufo/current` env-extra setting - takes lower precedence
18
19
 
19
- <a id="prev" class="btn btn-basic" href="{% link _docs/ufo-env.md %}">Back</a>
20
- <a id="next" class="btn btn-primary" href="{% link _docs/ufo-current.md %}">Next Step</a>
21
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
20
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: UFO_ENV
3
+ nav_order: 19
3
4
  ---
4
5
 
5
6
  Ufo's behavior is controlled by the `UFO_ENV` environment variable. For example, the `UFO_ENV` variable is used to layer different ufo variable files together to make it easy to specify settings for different environments like production and development. This is covered thoroughly in the [Variables]({% link _docs/variables.md %}) section. `UFO_ENV` defaults to `development` when not set.
@@ -44,6 +45,4 @@ AWS_PROFILE=whatever => UFO_ENV=development # since there are no profiles that m
44
45
 
45
46
  Notice how `AWS_PROFILE=whatever` results in `UFO_ENV=development`. This is because there are no matching aws_profiles in the `settings.yml`. More info on settings is available at [settings]({% link _docs/settings.md %}).
46
47
 
47
- <a id="prev" class="btn btn-basic" href="{% link _docs/conventions.md %}">Back</a>
48
- <a id="next" class="btn btn-primary" href="{% link _docs/ufo-env-extra.md %}">Next Step</a>
49
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
48
+ {% include prev_next.md %}
@@ -18,5 +18,4 @@ demo-worker task definition registered.
18
18
 
19
19
  You can verify that the task definitions have been registered properly by viewing the AWS ECS Console Task Definitions page. You should see something similar to this:
20
20
 
21
- <img src="/img/tutorials/ecs-console-task-definitions.png" class="doc-photo" />
22
-
21
+ <img src="/img/tutorials/ecs-console-task-definitions.png" class="doc-photo" />
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: Upgrading
3
+ nav_order: 29
4
+ ---
5
+
6
+ <ul>
7
+ {% assign docs = site.docs | where: "categories","upgrading" | sort: "order" %}
8
+ {% for doc in docs -%}
9
+ <li><a href='{{doc.url}}'>{{doc.title}}</a></li>
10
+ {% endfor %}
11
+ </ul>
12
+
13
+ {% include prev_next.md %}
@@ -0,0 +1,39 @@
1
+ ---
2
+ title: Upgrading to Version 4.4
3
+ short_title: Version 4.4
4
+ nav_order: 30
5
+ order: 1
6
+ categories: upgrading
7
+ ---
8
+
9
+ In ufo version 4.4, the environment name gets appends to the end of the CloudFormation stack name. Previous versions prepended the environment name to the stack name. This means a new stack gets created if you're going from version 4.3 to 4.4. For example:
10
+
11
+ Version | Stack Name
12
+ --- | ---
13
+ 4.3 and below | development-demo-web
14
+ 4.4 and above | demo-web-development
15
+
16
+ You must upgrade to using the new stack and delete the old stack manually. You can delete the old stack with the CloudFormation console by selecting the old stack, clicking Actions, and *Delete Stack*.
17
+
18
+ ## Upgrading Instructions
19
+
20
+ To upgrade from version 4.3 to 4.4 you can run:
21
+
22
+ ufo upgrade v43to44
23
+
24
+ This updates your `.ufo/settings.yml` file to include `stack_naming: append_env` which removes a warning message and 20 second delay when you deploy. Example:
25
+
26
+ .ufo/settings.yml:
27
+
28
+ ```yaml
29
+ base:
30
+ stack_naming: append_env
31
+ ```
32
+
33
+ If you would still like to keep the old behavior, you can use `stack_naming: prepend_env` for now. However, support for prepend_env will be removed in future versions.
34
+
35
+ ## Reasoning
36
+
37
+ CloudFormation names the resources it creates with the beginning portion of the stack name. When the stack name prepends the environment then resources like ELBs a little bit harder to identify since they might be named something like this `product-Elb-K0LFFQ9LK50W`. It makes it harder to distinguish ELBs from different apps created by ufo.
38
+
39
+ {% include prev_next.md %}
@@ -1,5 +1,9 @@
1
1
  ---
2
- title: Upgrading to Version 4
2
+ title: Upgrading to Version 4.0
3
+ short_title: Version 4.0
4
+ nav_order: 31
5
+ order: 2
6
+ categories: upgrading
3
7
  ---
4
8
 
5
9
  A major change in ufo from version 3 to 4 is that the ECS service is now created by CloudFormation. If you have an existing ECS service deployed by ufo version 3, when you deploy your app again with ufo version 4, there will be a new additional ECS service created. Here is the recommended upgrade path.
@@ -41,6 +45,4 @@ File | Changes
41
45
  .ufo/settings/cfn/default.yml | Starter cfn settings file.
42
46
  .ufo/settings/network/default.yml | This generated file will have the vpc and subnets that you specified above. You can change them directly in this file to control what network settings ufo uses.
43
47
 
44
- <a id="prev" class="btn btn-basic" href="{% link _docs/stuck-cloudformation.md %}">Back</a>
45
- <a id="next" class="btn btn-primary" href="{% link _docs/run-in-pieces.md %}">Next Step</a>
46
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
48
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Shared Variables
3
+ nav_order: 16
3
4
  ---
4
5
 
5
6
  Often, you end up using the set of common variables across your task definitions for a project. Ufo supports a shared variables concept to support this. You specify variables files in the `.ufo/variables` folder and they are made available to your `.ufo/task_definitions.rb` as well as your `.ufo/templates` files.
@@ -51,6 +52,4 @@ When `ufo ship` is ran with `UFO_ENV=development` the `variables/development.rb`
51
52
  ])
52
53
  ```
53
54
 
54
- <a id="prev" class="btn btn-basic" href="{% link _docs/params.md %}">Back</a>
55
- <a id="next" class="btn btn-primary" href="{% link _docs/helpers.md %}">Next Step</a>
56
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
55
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Why CloudFormation
3
+ nav_order: 32
3
4
  ---
4
5
 
5
6
  Version 3 of ufo was a simpler implementation and did not make use of CloudFormation to create the ECS service. In version 4, ufo uses CloudFormation to create the ECS Service. This is because ufo became more powerful. Notably, support for Load Balancers was added. With this power, also came added complexity. So the complexity was push onto CloudFormation. Hence, ECS service is implemented as CloudFormation resource in version 4.
@@ -17,6 +18,4 @@ You can check the resources created with CloudFormation by clicking on the stack
17
18
 
18
19
  <img src="/img/docs/cloudformation-resources.png" class="doc-photo" />
19
20
 
20
- <a id="prev" class="btn btn-basic" href="{% link _docs/faq.md %}">Back</a>
21
- <a id="next" class="btn btn-primary" href="{% link _docs/customize-cloudformation.md %}">Next Step</a>
22
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
21
+ {% include prev_next.md %}
@@ -0,0 +1,19 @@
1
+ {% assign all_pages = site.pages | concat: site.docs | where_exp: "item", "item.nav_order" %}
2
+ {% assign links = all_pages | sort: "nav_order" %}
3
+ {% for link in links %}
4
+ {% if link.url == page.url %}
5
+ {% unless forloop.first %}
6
+ {% assign prev = tmpprev %}
7
+ {% endunless %}
8
+ {% if forloop.last %}
9
+ {% assign last = "/reference" %}
10
+ {% else %}
11
+ {% assign next = links[forloop.index] %}
12
+ {% endif %}
13
+ {% endif %}
14
+ {% assign tmpprev = link %}
15
+ {% endfor %}
16
+
17
+ {% if prev %}<a id="prev" class="btn btn-basic" href="{{ prev.url }}">Back</a>{% endif %}{% if last %}<a id="next" class="btn btn-primary" href="/reference">Next Step</a>{% endif %}
18
+ {% if next %}<a id="next" class="btn btn-primary" href="{{ next.url }}">Next Step</a>{% endif %}
19
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
@@ -33,12 +33,19 @@
33
33
  <li><a href="{% link _docs/redirection-support.md %}">Redirection Support</a></li>
34
34
  <li><a href="{% link _docs/faq.md %}">FAQ</a></li>
35
35
  </ul>
36
+ <li><a href="{% link _docs/upgrading.md %}">Upgrading</a>
37
+ <ul>
38
+ {% assign docs = site.docs | where: "categories","upgrading" | sort: "order" %}
39
+ {% for doc in docs -%}
40
+ <li><a href='{{doc.url}}'>{{doc.short_title}}</a></li>
41
+ {% endfor %}
42
+ </ul>
43
+ </li>
36
44
  <li>More
37
45
  <ul>
38
46
  <li><a href="{% link _docs/why-cloudformation.md %}">Why CloudFormation</a></li>
39
47
  <li><a href="{% link _docs/customize-cloudformation.md %}">Customize CloudFormation</a></li>
40
48
  <li><a href="{% link _docs/stuck-cloudformation.md %}">Stuck CloudFormation</a></li>
41
- <li><a href="{% link _docs/upgrade4.md %}">Upgrade 4</a></li>
42
49
  <li><a href="{% link _docs/run-in-pieces.md %}">Run In Pieces</a></li>
43
50
  <li><a href="{% link _docs/single-task.md %}">Run Single Task</a></li>
44
51
  <li><a href="{% link _docs/migrations.md %}">Database Migrations</a></li>
@@ -1,11 +1,11 @@
1
1
  ---
2
- title: ufo upgrade v3_3to3_4
2
+ title: ufo upgrade v33to34
3
3
  reference: true
4
4
  ---
5
5
 
6
6
  ## Usage
7
7
 
8
- ufo upgrade v3_3to3_4
8
+ ufo upgrade v33to34
9
9
 
10
10
  ## Description
11
11
 
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: ufo upgrade v43to44
3
+ reference: true
4
+ ---
5
+
6
+ ## Usage
7
+
8
+ ufo upgrade v43to44
9
+
10
+ ## Description
11
+
12
+ Upgrade from version 4.3 to 4.4
13
+
14
+
15
+
@@ -14,8 +14,9 @@ upgrade subcommands
14
14
  ## Subcommands
15
15
 
16
16
  * [ufo upgrade v2to3]({% link _reference/ufo-upgrade-v2to3.md %}) - Upgrade from version 2 to 3.
17
- * [ufo upgrade v3_3to3_4]({% link _reference/ufo-upgrade-v3_3to3_4.md %}) - Upgrade from version 3.3 to 3.4
17
+ * [ufo upgrade v33to34]({% link _reference/ufo-upgrade-v33to34.md %}) - Upgrade from version 3.3 to 3.4
18
18
  * [ufo upgrade v3to4]({% link _reference/ufo-upgrade-v3to4.md %}) - Upgrade from version 3 to 4.
19
+ * [ufo upgrade v43to44]({% link _reference/ufo-upgrade-v43to44.md %}) - Upgrade from version 4.3 to 4.4
19
20
 
20
21
  ## Options
21
22
 
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Articles
3
+ nav_order: 40
3
4
  ---
4
5
 
5
6
  * [How to Create Unlimited Extra Environments
@@ -10,6 +11,4 @@ title: Articles
10
11
  * [Heroku vs ECS Fargate vs EC2 On-Demand vs EC2 Spot Pricing Comparison](https://blog.boltops.com/2018/04/22/heroku-vs-ecs-fargate-vs-ec2-on-demand-vs-ec2-spot-pricing-comparison)
11
12
  * [Ufo Ship on AWS ECS Presentation](http://www.slideshare.net/tongueroo/ufo-ship-for-aws-ecs-70885296)
12
13
 
13
- <a id="prev" class="btn btn-basic" href="{% link _docs/auto-completion.md %}">Back</a>
14
- <a id="next" class="btn btn-primary" href="{% link _docs/next-steps.md %}">Next Step</a>
15
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
14
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: Docs
3
+ nav_order: 10
3
4
  ---
4
5
 
5
6
  ## Overview
@@ -25,7 +26,4 @@ You might like these articles:
25
26
 
26
27
  Also, the [UFO Tutorial Docs]({% link _docs/tutorial.md %}) provide a detail walkthrough on how each UFO step works.
27
28
 
28
- <a id="prev" class="btn btn-basic" href="{% link _docs/tutorial-ufo-ships.md %}">Back</a>
29
- <a id="next" class="btn btn-primary" href="{% link _docs/structure.md %}">Next Step</a>
30
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
31
-
29
+ {% include prev_next.md %}
@@ -1,5 +1,6 @@
1
1
  ---
2
- title: "Quick Start: Fargate"
2
+ title: 'Quick Start: Fargate'
3
+ nav_order: 1
3
4
  ---
4
5
 
5
6
  ## What is ECS Fargate?
@@ -126,5 +127,4 @@ Here's an article that compares the cost of ECS Fargate: [Heroku vs ECS Fargate
126
127
 
127
128
  {% include repo_push_access.md %}
128
129
 
129
- <a id="next" class="btn btn-primary" href="{% link _docs/quick-start-ec2.md %}">Next Step</a>
130
- <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
130
+ {% include prev_next.md %}