-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.3.0 release documentation #376
Changes from all commits
6fa9f63
c45c848
70576ce
453d02b
fec583f
54960d8
7c4b4dc
487d98c
1525ce8
4d57855
043517e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
--- | ||
title: "Release Notes" | ||
date: "2016-10-21" | ||
|
||
menu: | ||
main: | ||
identifier: release-notes | ||
weight: 50 | ||
|
||
--- | ||
|
||
Converge is in active development. APIs are not guaranteed until a 1.0 release. | ||
|
||
`Project` links to the project for the release. | ||
|
||
`Milestone` links to issues and pull requests for the release. | ||
|
||
## Releases | ||
|
||
| Release | Date | Project | Milestone | | ||
|---------|------|---------|-----------| | ||
[0.1.0](https://github.com/asteris-llc/converge/releases/tag/0.1) | 2016-06-09 | | [Milestone](https://github.com/asteris-llc/converge/milestone/1?closed=1) | ||
[0.1.1](https://github.com/asteris-llc/converge/releases/tag/0.1.1) | 2016-06-13 | | [Milestone](https://github.com/asteris-llc/converge/milestone/4?closed=1) | ||
[0.2.0]({{< ref "release-notes/0.2.0.md" >}}) | 2016-09-26 | [Project](https://github.com/asteris-llc/converge/projects/1) | [Milestone](https://github.com/asteris-llc/converge/milestone/8?closed=1) | ||
[0.3.0-beta1]({{< ref "release-notes/0.3.0.md" >}}) | 2016-10-21 | [Project](https://github.com/asteris-llc/converge/projects/2) | [Milestone](https://github.com/asteris-llc/converge/milestone/7?closed=1) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
--- | ||
title: "0.2.0" | ||
date: "2016-10-16" | ||
slug: "0-2-0" | ||
|
||
menu: | ||
main: | ||
parent: "release-notes" | ||
identifier: 0.2.0 | ||
|
||
--- | ||
|
||
## Release Date | ||
|
||
2016-09-26 | ||
|
||
## Features | ||
|
||
- Set environments for shell commands | ||
- Support for Docker Containers and Images | ||
- Support for creating & deleting unix users and groups | ||
- RPC using grpc.io | ||
- Expose basic platform information via the platform module | ||
|
||
## Bug Fixes | ||
|
||
This releases fixes several race condition (#266) and ordering (#254) bugs that would cause Converge to error out of otherwise valid executions. | ||
|
||
If you've been trying to use boolean values in your params, you're in luck. That works now! (#251) | ||
|
||
Internally, beta 2 simplifies how `check` and `apply` interact (#240) and shrinks the Status interface (#237). Documentation for module authors will be updated by the final release of Converge 0.2.0. | ||
|
||
Lastly, logging was quite a bit too chatty about the stages Converge goes through when loading and executing a graph. This release scales logging back a bit (#248). | ||
|
||
## Examples | ||
|
||
We have new examples for Docker Swarm mode (#267) and the ELK (Elasticsearch, Logstash, and Kibana) stack (#272). They're located in the `examples/` directory of the source, and are intended to be standalone end-to-end examples. | ||
|
||
## Linting | ||
|
||
We started using Code Climate for linting in this release. We have a 4.0 (such good students.) You can [view our score using Code Climate's web interface](https://codeclimate.com/github/asteris-llc/converge) or by clicking the badge in the README. | ||
|
||
## Support | ||
|
||
We provide support via [the Converge Slack team](http://converge-slack.aster.is/) and through [GitHub issues](https://github.com/asteris-llc/converge/issues) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,157 @@ | ||
--- | ||
title: "0.3.0" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
date: "2016-10-20" | ||
slug: "0-3-0" | ||
|
||
menu: | ||
main: | ||
parent: "release-notes" | ||
identifier: 0.3.0 | ||
|
||
--- | ||
|
||
## Release Date | ||
|
||
2016-10-21 0.3.0-beta1 | ||
|
||
## Features | ||
|
||
This release includes a number of significant improvements to the core engine including conditionals, | ||
wait queries, sequential task groups, and the ability to use lists and maps in parameters. The internal API has | ||
also been simplified to make it easier for programmers to create new modules. | ||
|
||
### Module Improvements | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "RPM Resource" would be a better subhead |
||
|
||
#### RPM Resource | ||
|
||
RPM package install/uninstall support has been added via [#373](https://github.com/asteris-llc/converge/pull/373). | ||
|
||
```hcl | ||
rpm.package "mc" { | ||
name = "mc" | ||
state = "present" | ||
} | ||
``` | ||
|
||
#### User and group | ||
|
||
Linux user groups can now be modified via [#279](https://github.com/asteris-llc/converge/issues/279) | ||
|
||
#### wait.query and wait.port | ||
|
||
Converge now supports waiting for a task to complete or port [#334](https://github.com/asteris-llc/converge/pull/334). | ||
Users can create a dependency for a port to be open or a condition to be met. | ||
|
||
Below is an example of waiting for a port to be open using the `wait.port` resource: | ||
|
||
```hcl | ||
wait.port "8080" { | ||
host = "localhost" | ||
port = 8080 | ||
interval = "1s" | ||
max_retry = 10 | ||
grace_period = "2s" | ||
} | ||
``` | ||
|
||
The following shows using `wait.query` to wait using a task: | ||
|
||
```hcl | ||
wait.query "service-health" { | ||
check = "nc -z localhost 8080" | ||
interval = "1s" | ||
max_retry = 10 | ||
grace_period = "1s" | ||
} | ||
``` | ||
|
||
Wait is documented at: [wait.port]({{< relref "resources/wait.port.md" >}}) and [wait.query]({{< relref "resources/wait.query.md" >}}). | ||
|
||
|
||
### Engine Improvements | ||
|
||
#### Conditional Support | ||
|
||
Support for conditionals via [#362](https://github.com/asteris-llc/converge/pull/362). | ||
|
||
In the following example, the contents of file `greetings.txt` depend on the value of | ||
the `lang` parameter: | ||
|
||
```hcl | ||
param "lang" { | ||
default = "" | ||
} | ||
|
||
switch "test-switch" { | ||
case "eq `spanish` `{{param `lang`}}`" "spanish" { | ||
file.content "foo-file" { | ||
destination = "greeting.txt" | ||
content = "hola\n" | ||
} | ||
} | ||
|
||
case "eq `french` `{{param `lang`}}`" "french" { | ||
file.content "foo-file" { | ||
destination = "greeting.txt" | ||
content = "salut\n" | ||
} | ||
} | ||
|
||
``` | ||
|
||
#### Task Groups | ||
|
||
Tasks can be assigned to a group to force multiple tasks to run | ||
one at a time instead of in parallel. Locks are added as a node in the graph and released | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this is slightly out of date with the latest implementation. locks are no longer nodes in the graph; instead we just ensure all nodes in the group are dependent on another node in the group. |
||
after all tasks sharing the lock are complete. [#392](https://github.com/asteris-llc/converge/pull/392) | ||
|
||
For example, `apt` package installs cannot run in parallel. In the following example | ||
each task with the `apt` lock is run sequentially. | ||
|
||
```hcl | ||
task "install-jq" { | ||
check = "dpkg -s jq >/dev/null 2>&1" | ||
apply = "apt-get update 2>&1 > /dev/null && apt-get -y install jq" | ||
group = "apt" | ||
} | ||
|
||
task "install-build-essential" { | ||
check = "dpkg -s build-essential >/dev/null 2>&1" | ||
apply = "apt-get update 2>&1 > /dev/null && apt-get -y install build-essential" | ||
group = "apt" | ||
} | ||
``` | ||
|
||
#### Enhanced Parameter Values | ||
|
||
`bool`, `list`, and `map` types have been added to parameters via [#340](https://github.com/asteris-llc/converge/pull/340). | ||
|
||
See [values]({{< ref "params-and-templates.md#Values" >}}) | ||
|
||
#### Output Improvements | ||
|
||
Rendered graphs have been cleaned and arrows now indicate the order of tasks [#387](https://github.com/asteris-llc/converge/pull/387). | ||
|
||
Text output for changes is now aligned via [#317](https://github.com/asteris-llc/converge/pull/317). | ||
|
||
|
||
## Bug Fixes | ||
|
||
- docker.container regression [#343](https://github.com/asteris-llc/converge/issues/343) | ||
- handle parameters with valid zero value [#338](https://github.com/asteris-llc/converge/issues/338) | ||
- shell module should not set StatusLevel based on process exit code [#323](https://github.com/asteris-llc/converge/issues/323) | ||
- param dependency fails in `samples/shellContext.hcl` [#313](https://github.com/asteris-llc/converge/issues/313) | ||
- Execution Engine Ignoring Warning Levels [#243](https://github.com/asteris-llc/converge/issues/243) | ||
- Make pipeline functions use mult-return instead of Either [#225](https://github.com/asteris-llc/converge/issues/225) | ||
- cmd/server.go: use errgroup instead of waitgroup [#363](https://github.com/asteris-llc/converge/pull/363) | ||
|
||
## Examples/Documentation | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. passive voice should be fixed in this section ... I mean, paragraphs in this section should be in the active voice. |
||
|
||
A Docker image was created in [#372](https://github.com/asteris-llc/converge/pull/372) to speed up Wercker builds and automated tests. | ||
|
||
Documentation was updated in [#371](https://github.com/asteris-llc/converge/pull/371) so that links like | ||
[converge.aster.is/0.2.0](https://converge.aster.is/0.2.0) will resolve documentation for that version. | ||
|
||
## Support | ||
|
||
We provide support via [the Converge Slack team](http://converge-slack.aster.is/) and through [GitHub issues](https://github.com/asteris-llc/converge/issues) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like we need a "slug" field here too since it has a dot.
slug: "0-2-0"
will do the trick