]>
git.immae.eu Git - github/fretlink/ansible-clever.git/log
Clement Delafargue [Tue, 30 Jun 2020 13:33:22 +0000 (15:33 +0200)]
fix(test): log all commads to `$binary-commands`
Previously, only the commands not directly handled by the stub were
logged. We want to log all commands instead
Clement Delafargue [Tue, 30 Jun 2020 07:33:18 +0000 (09:33 +0200)]
add a test for `noop-if-up-to-date`
It makes sure `clever deploy` is _not_ called if the application
is up-to-date on clever cloud
Clement Delafargue [Tue, 30 Jun 2020 07:30:04 +0000 (09:30 +0200)]
Make commit ids overridable in the script mock
Clement Delafargue [Wed, 24 Jun 2020 09:34:28 +0000 (11:34 +0200)]
Don't run `clever deploy` if the app is up-to-date
Running `git push` when the remote is up-to-date
no-ops (it does not trigger a deployment, but it does not fail either).
Running `clever deploy` when the remote is up-to-date triggers a failure. Here, we care about the _end result_ (ie the app is deployed on the correct commit), so no-oping is more appropriate.
This behaviour is not baked in `clever-tools`, but I think it should. I opened an issue. This script
is a temporary workaround. (at least I hope it's temporary)
https://github.com/CleverCloud/clever-tools/issues/422
paulrbr-fl [Tue, 30 Jun 2020 08:47:07 +0000 (10:47 +0200)]
Merge pull request #73 from paulrbr-fl/fix-timeout-on-deploy
fix: prevent crash when the deployment times out
Paul Bonaud [Mon, 29 Jun 2020 16:29:25 +0000 (18:29 +0200)]
ci: trying to fix nix-channel by removing unstable channel
NIX_PATH used to be enough to select the channel to use, but as Travis
add the nixpkgs-unstable channel we can get unexpected results when
nix decides to push a new unstable version out there in the public.
Paul Bonaud [Mon, 29 Jun 2020 15:52:26 +0000 (17:52 +0200)]
fix: prevent crash when the deployment times out
paulrbr-fl [Tue, 23 Jun 2020 09:30:19 +0000 (11:30 +0200)]
Merge pull request #71 from paulrbr-fl/clever-restart
dhall: add missing configuration for clever_restart_only variable
Paul Bonaud [Tue, 23 Jun 2020 09:25:31 +0000 (11:25 +0200)]
dhall: add missing configuration for clever_restart_only variable
This change was forgotten in #70
paulrbr-fl [Tue, 23 Jun 2020 09:20:46 +0000 (11:20 +0200)]
Merge pull request #70 from paulrbr-fl/clever-restart
feature: add a new 'clever_restart_only' flag to restart an app
Paul Bonaud [Mon, 22 Jun 2020 20:32:55 +0000 (22:32 +0200)]
tests: expectations on binary stub
Paul Bonaud [Tue, 23 Jun 2020 08:52:52 +0000 (10:52 +0200)]
tests: Add tests for the new 'restart' feature
Paul Bonaud [Mon, 22 Jun 2020 16:34:38 +0000 (18:34 +0200)]
feature: add a new 'clever_restart_only' flag to restart an app
This new flag will perform a restart on the target clever cloud
application instead of deploying it.
paulrbr-fl [Mon, 22 Jun 2020 14:03:33 +0000 (16:03 +0200)]
Merge pull request #69 from paulrbr-fl/documentation
core: README cleanup and test env cleanup
Paul Bonaud [Fri, 19 Jun 2020 15:37:16 +0000 (17:37 +0200)]
core: define nix env for travis with a unique default.nix file
Paul Bonaud [Fri, 19 Jun 2020 15:36:40 +0000 (17:36 +0200)]
core: cleanup the README to better document the role
Part of #66
Clément Delafargue [Mon, 22 Jun 2020 12:53:42 +0000 (14:53 +0200)]
Merge pull request #67 from clementd-fretlink/scaling
scalability configuration
Clement Delafargue [Mon, 22 Jun 2020 09:30:43 +0000 (11:30 +0200)]
add tests for scalability settings
They make sure that ansible does not crash while calling `clever scale`
Clement Delafargue [Fri, 19 Jun 2020 13:39:22 +0000 (15:39 +0200)]
Add support for scalability configuration
Closes #52
paulrbr-fl [Fri, 19 Jun 2020 15:16:11 +0000 (17:16 +0200)]
Merge pull request #68 from paulrbr-fl/bug-fix
fix: make sure not to include unecessary ENV variable
Paul Bonaud [Fri, 19 Jun 2020 14:20:43 +0000 (16:20 +0200)]
fix: make sure not to include unecessary ENV variable
This is a fix to an unfortunate bug introduced by #64 because we had a
default value set to `None` on the
`clever_haskell_entry_point`. Ansible considers `None` as a defined
value so the `is defined` condition doesn't match our need
Paul Bonaud [Fri, 19 Jun 2020 13:52:47 +0000 (15:52 +0200)]
core: fix execution mode on shell script
Paul Bonaud [Fri, 19 Jun 2020 09:38:17 +0000 (11:38 +0200)]
tests: Add more test cases
Clément Delafargue [Fri, 19 Jun 2020 13:18:13 +0000 (15:18 +0200)]
Merge pull request #55 from clementd-fretlink/build-flavor
Add optional build flavor configuration
Clément Delafargue [Fri, 19 Jun 2020 13:06:14 +0000 (15:06 +0200)]
Update default `clever-tools` version in the readme
Co-authored-by: paulrbr-fl <43074087+paulrbr-fl@users.noreply.github.com>
Clement Delafargue [Fri, 19 Jun 2020 12:59:50 +0000 (14:59 +0200)]
Specify clever-tools version constaints in README
Clement Delafargue [Fri, 19 Jun 2020 10:09:22 +0000 (12:09 +0200)]
Inline `clever scale --build-flavor` command
Clement Delafargue [Tue, 8 Oct 2019 12:46:25 +0000 (14:46 +0200)]
Add optional build flavor configuration
Clément Delafargue [Fri, 19 Jun 2020 09:42:50 +0000 (11:42 +0200)]
Merge pull request #64 from clementd-fretlink/json-env
Use JSON import for environment variables
Clement Delafargue [Fri, 19 Jun 2020 09:10:12 +0000 (11:10 +0200)]
Extract environment building tasks from the JSON template
Clement Delafargue [Thu, 18 Jun 2020 14:09:46 +0000 (16:09 +0200)]
Use JSON import for environment variables
The env can be provided as a JSON list `[{"name": "PORT", "value": "8080"}]`.
The `dict2items` filter provided by ansible is _almost_ what we want, but it
keeps the value original types (a boolean is kept as a boolean in the JSON value).
Since environment variables are strings and `clever-tools` does not want to make
the implicit coercion for us, we need to do it ourselves.
paulrbr-fl [Wed, 17 Jun 2020 13:10:45 +0000 (15:10 +0200)]
Merge pull request #63 from paulrbr-fl/upgrade-clever-cli
deploy: remove custom polling script now that the CLI does it for us
Paul Bonaud [Wed, 17 Jun 2020 09:06:08 +0000 (11:06 +0200)]
deploy: remove custom polling script now that the CLI does it for us
See recent changes (https://github.com/CleverCloud/clever-tools/pull/415)
introduced in 2.5.0+ version of the clever cli tools
paulrbr-fl [Wed, 25 Mar 2020 07:56:18 +0000 (08:56 +0100)]
Merge pull request #61 from paulrbr-fl/fix-env-file
fix: there was a bug in the generate env file
Paul Bonaud [Tue, 24 Mar 2020 19:02:57 +0000 (20:02 +0100)]
fix: there was a bug in the generate env file
Bug Introduced by #57 because the `to_json` filter quotes the given
value if it's a string, so the PR was "double quoting" each values.
paulrbr-fl [Tue, 24 Mar 2020 15:12:39 +0000 (16:12 +0100)]
Merge pull request #60 from paulrbr-fl/fix-base-env
fix `clever_base_env` by removing a variable if not necessary
Paul Bonaud [Tue, 24 Mar 2020 09:18:14 +0000 (10:18 +0100)]
vars: fix `clever_base_env` by removing a variable if not necessary
The `CC_RUN_COMMAND` variable was defined in case we use haskell
binary as entrypoints. However if the `clever_haskell_entry_point`
variable is not defined we shouldn't define the `CC_RUN_COMMAND` env variable.
paulrbr-fl [Mon, 23 Mar 2020 17:09:49 +0000 (18:09 +0100)]
Merge pull request #59 from paulrbr-fl/add-dhall-types-addons
config(dhall): adding redis and mysql addon types
Paul Bonaud [Mon, 23 Mar 2020 16:45:15 +0000 (17:45 +0100)]
config(dhall): adding redis and mysql addon types
Clément Delafargue [Wed, 27 Nov 2019 13:46:38 +0000 (14:46 +0100)]
Merge pull request #57 from clementd-fretlink/quoted-env-vars
Quote env vars to support multiline values
Clement Delafargue [Mon, 25 Nov 2019 12:51:24 +0000 (13:51 +0100)]
Quote env vars to support multiline values
clever-tools now supports multiline env vars. It did so by supporting
quotes in the formats it reads from.
This commit quotes the exported values using the `tojson` filter.
Of course, a better solution would be for clever env to directly read
json value, but it's not there yet
paulrbr-fl [Tue, 26 Nov 2019 16:49:49 +0000 (17:49 +0100)]
Merge pull request #58 from paulrbr-fl/fix-ci
ci: fix nix version and nix channel version
Paul Bonaud [Mon, 25 Nov 2019 14:05:51 +0000 (15:05 +0100)]
ci: fix nix version and nix channel version
In order to avoid having bad surprises with automatic updates let's
fix the nix channel version. For now the default travis behavior is to
use `nixpkgs-unstable` (see
https://docs.travis-ci.com/user/languages/nix#overview).
paulrbr-fl [Fri, 11 Oct 2019 16:08:03 +0000 (18:08 +0200)]
Merge pull request #56 from paulrbr-fl/moar-compat
fix: addon environment variables fetch for clever >= 1.5.0
Paul Bonaud [Fri, 11 Oct 2019 15:44:42 +0000 (17:44 +0200)]
fix: addon environment variables fetch for clever >= 1.5.0
It seems the output of `clever env` has changed and now env values are
surrounded by quotes with the latest 1.5.0 clever tools version.
We used to add quotes ourselves because they were missing in the
output. So this commit is adapting its parsing depending of the clever
tools' version.
Clément Delafargue [Mon, 7 Oct 2019 07:55:09 +0000 (09:55 +0200)]
Merge pull request #54 from clementd-fretlink/polykinds
Migrate to dhall 1.26.1 and merge types and terms
Clement Delafargue [Wed, 2 Oct 2019 09:02:54 +0000 (11:02 +0200)]
Migrate to dhall 1.26.1 and merge types and terms
paulrbr-fl [Fri, 6 Sep 2019 09:16:58 +0000 (11:16 +0200)]
Merge pull request #53 from paulrbr-fl/moar-compat
scripts: use short options instead of long ones
Paul Bonaud [Fri, 6 Sep 2019 09:09:52 +0000 (11:09 +0200)]
ci: fix nix packages due to Travis nix update to 19.09 packages
Paul Bonaud [Fri, 6 Sep 2019 08:53:58 +0000 (10:53 +0200)]
scripts: use short options instead of long ones
In order to be compatible with more `grep` versions (notably busybox
ones which don't have long option names in our new CI environments) we
need to use short cli options.
paulrbr-fl [Mon, 5 Aug 2019 15:21:57 +0000 (17:21 +0200)]
Merge pull request #51 from paulrbr-fl/clever-deploy-back-to-polling
clevertools: upgrade to latest stable version as default
Paul Bonaud [Mon, 5 Aug 2019 15:16:41 +0000 (17:16 +0200)]
clevertools: upgrade to latest stable version as default
Upgrade to 1.4.2 as default version installed by the role
paulrbr-fl [Thu, 1 Aug 2019 15:59:08 +0000 (17:59 +0200)]
Merge pull request #50 from paulrbr-fl/clever-deploy-back-to-polling
deploy: add a timeout in the polling waiting script
Paul Bonaud [Thu, 1 Aug 2019 08:38:53 +0000 (10:38 +0200)]
deploy: add a timeout in the polling waiting script
paulrbr-fl [Wed, 31 Jul 2019 12:28:10 +0000 (14:28 +0200)]
Merge pull request #49 from paulrbr-fl/clever-deploy-back-to-polling
deploy: revert back to git push + polling
Paul Bonaud [Wed, 31 Jul 2019 08:49:36 +0000 (10:49 +0200)]
lint(scripts): apply shellcheck suggestions on dhall checking script
Paul Bonaud [Wed, 31 Jul 2019 08:37:00 +0000 (10:37 +0200)]
ci: add shellcheck to lint shell scripts in automatic tests
Paul Bonaud [Tue, 30 Jul 2019 15:57:55 +0000 (17:57 +0200)]
deploy: revert back to git push + polling
In #19 we removed the polling script to rely on the clever cli's
ability to wait on `clever deploy` command.
After more than 6 months of experimentation it seems the command is
still not reliable (sometimes the command never returns, sometimes it
returns even when the deployment has finished..).
Thus we are reverting back to our manual process of polling `clever
activity` every 5 seconds.
The timeout for this polling is set at the Ansible level (not in the
bash script) and set for 40 minutes. This should give enough time for
any of our applications to deploy.
Clément Delafargue [Thu, 4 Jul 2019 08:11:36 +0000 (10:11 +0200)]
Merge pull request #48 from clementd-fretlink/remove-ssh-key
Remove `sshKey` from the vault type
Clement Delafargue [Thu, 4 Jul 2019 08:00:16 +0000 (10:00 +0200)]
Remove `sshKey` from the vault type
It's not actually used by the role, but by code that uses this role.
Clément Delafargue [Thu, 4 Jul 2019 07:35:28 +0000 (09:35 +0200)]
Merge pull request #47 from clementd-fretlink/debug
Fix `CC_DISABLE_METRICS` computation
Clement Delafargue [Wed, 3 Jul 2019 15:18:38 +0000 (17:18 +0200)]
Fix `CC_DISABLE_METRICS` computation
Clément Delafargue [Tue, 2 Jul 2019 08:52:30 +0000 (10:52 +0200)]
Merge pull request #46 from clementd-fretlink/cleanup
update metrics and entrypoint default definitions
Clement Delafargue [Mon, 1 Jul 2019 15:31:30 +0000 (17:31 +0200)]
Clever Cloud metrics are now enabled by default
Clément Delafargue [Mon, 1 Jul 2019 15:03:31 +0000 (17:03 +0200)]
Merge pull request #45 from clementd-fretlink/new-clever-vault
Clean up `dhall` type definitions
Clement Delafargue [Mon, 1 Jul 2019 14:35:23 +0000 (16:35 +0200)]
dhall: remove optional arguments from mkConfig
It was just constructing a record without adding any information. Now
it constructs a record from its mandatory parts. The caller can then
override fields as they please.
Clement Delafargue [Mon, 1 Jul 2019 14:32:58 +0000 (16:32 +0200)]
dhall: expose optional fields as optional values
Instead of `nonifying` them
Clement Delafargue [Mon, 1 Jul 2019 13:46:31 +0000 (15:46 +0200)]
Remove default environment from Dhall config
Clement Delafargue [Mon, 1 Jul 2019 12:55:17 +0000 (14:55 +0200)]
remove org_id from vault type, add sshKey in vault
Gaëtan [Tue, 11 Jun 2019 15:51:19 +0000 (17:51 +0200)]
Merge pull request #44 from gaetanfl/fix_shell_pipefail
use bash with -o pipefail
Gaëtan Duchaussois [Tue, 11 Jun 2019 15:24:05 +0000 (17:24 +0200)]
use bash with -o pipefail
paulrbr-fl [Mon, 13 May 2019 13:35:36 +0000 (15:35 +0200)]
Merge pull request #42 from paulrbr-fl/deploy-errors-on-application-is-up-to-date
fix(deploy): fail the task correctly when last deploymt failed
Paul Bonaud [Mon, 13 May 2019 13:10:19 +0000 (15:10 +0200)]
fix(deploy): fail the task correctly when last deploymt failed
paulrbr-fl [Fri, 26 Apr 2019 18:44:58 +0000 (20:44 +0200)]
Merge pull request #41 from paulrbr-fl/dhall-version-upgrade
dhall(upgrade): upgrade code to be compatible with dhall 1.21.0
Paul Bonaud [Fri, 26 Apr 2019 16:19:05 +0000 (18:19 +0200)]
dhall(upgrade): upgrade code to be compatible with dhall 1.21.0
Gaëtan [Tue, 5 Mar 2019 12:41:58 +0000 (13:41 +0100)]
Merge pull request #40 from gaetanfl/fix_ansible_lint_4.1
fix(lint): ansible lint 4.1.0 compatibiliy
Gaëtan Duchaussois [Tue, 5 Mar 2019 10:54:33 +0000 (11:54 +0100)]
fix(lint): ansible 4.1.0 compatibiliy
paulrbr-fl [Tue, 26 Feb 2019 18:24:31 +0000 (19:24 +0100)]
Merge pull request #39 from paulrbr-fl/fix-login
Fix login by removing any existing linked app
Paul Bonaud [Tue, 26 Feb 2019 18:18:49 +0000 (19:18 +0100)]
login: make sure no existing apps are linked to the clever tools
Paul Bonaud [Tue, 26 Feb 2019 18:18:26 +0000 (19:18 +0100)]
Revert "login: force the `.clever.json` file to be created"
This reverts commit
85d1a7838d032ec7dfe858fce5dca3f5535199e4 .
paulrbr-fl [Tue, 26 Feb 2019 08:34:21 +0000 (09:34 +0100)]
Merge pull request #38 from paulrbr-fl/fix-login
login: force the `.clever.json` file to be created
Paul Bonaud [Tue, 26 Feb 2019 08:16:11 +0000 (09:16 +0100)]
login: force the `.clever.json` file to be created
In case a project already has a `.clever.json` file (for debugging
purpose to communicate with dev environment for instance) this step
was never done because of the `creates:`.
Removing it forces the role to always create a new clever.json file.
Gaëtan [Fri, 22 Feb 2019 15:56:46 +0000 (16:56 +0100)]
Merge pull request #37 from gaetanfl/fix_path
Missing /
Gaëtan Duchaussois [Fri, 22 Feb 2019 15:52:22 +0000 (16:52 +0100)]
Missing /
Gaëtan [Fri, 22 Feb 2019 15:34:22 +0000 (16:34 +0100)]
Merge pull request #36 from gaetanfl/fix_typo
Fix duplicate version number in url
Gaëtan Duchaussois [Fri, 22 Feb 2019 15:29:01 +0000 (16:29 +0100)]
Fix duplicate version number in url
Gaëtan [Thu, 21 Feb 2019 16:59:19 +0000 (17:59 +0100)]
Merge pull request #35 from gaetanfl/use_path_tool
use full path for clever helper invocation
Gaëtan Duchaussois [Thu, 21 Feb 2019 16:40:39 +0000 (17:40 +0100)]
liniting
Gaëtan Duchaussois [Thu, 21 Feb 2019 16:16:23 +0000 (17:16 +0100)]
use full path for clever helper invocation
paulrbr-fl [Thu, 31 Jan 2019 17:41:52 +0000 (18:41 +0100)]
Merge pull request #34 from paulrbr-fl/domain-case
domain: DNS names are case insensitive
Paul Bonaud [Thu, 31 Jan 2019 17:37:02 +0000 (18:37 +0100)]
domain: DNS names are case insensitive
paulrbr-fl [Wed, 16 Jan 2019 15:13:39 +0000 (16:13 +0100)]
Merge pull request #33 from paulrbr-fl/successful-deploy-up-to-date
deploy: check "up-to-date" error to succeeded if last commit is OK
Paul Bonaud [Wed, 16 Jan 2019 07:58:43 +0000 (08:58 +0100)]
deploy: check "up-to-date" error to succeeded if last commit is OK
paulrbr-fl [Mon, 14 Jan 2019 10:32:47 +0000 (11:32 +0100)]
Merge pull request #22 from paulrbr-fl/fix-v1.10
Upgrade clever tools to latest version
Paul Bonaud [Wed, 21 Nov 2018 16:59:14 +0000 (17:59 +0100)]
fix: Fail module takes one argument
Paul Bonaud [Wed, 21 Nov 2018 12:20:56 +0000 (13:20 +0100)]
deploy_task: Update clever CLI tools and use it instead of git push
Updating to latest version of 1.1.1 helps to have a stable `clever
deploy` command.
This commit relies on the output of the command instead of manually
pooling the results with `clever activity` command.
paulrbr-fl [Mon, 7 Jan 2019 11:10:44 +0000 (12:10 +0100)]
Merge pull request #32 from clementd-fretlink/quote-env
fix(deploy): properly quote variables in environment files
Clement Delafargue [Mon, 7 Jan 2019 11:03:45 +0000 (12:03 +0100)]
fix(deploy): properly quote variables in environment files
adding exports in the env file also quotes the variable values
Paul Bonaud [Sun, 6 Jan 2019 22:02:47 +0000 (23:02 +0100)]
tags: add clever-env tag to post-deploy tasks
paulrbr-fl [Sun, 6 Jan 2019 21:10:22 +0000 (22:10 +0100)]
Merge pull request #31 from paulrbr-fl/fix-tags
fix: statically include sub tasks for 'tags' to work