Commit Graph

325 Commits

Author SHA1 Message Date
3wc 36dd6b5eff Simplify `require_foo` commands
continuous-integration/drone/push Build is passing Details
2021-03-20 23:17:05 +02:00
decentral1se 2f1f51bad1
Check for docker version
continuous-integration/drone/push Build is passing Details
Closes #15.
2021-03-20 22:00:02 +01:00
decentral1se 7e31184bd6
Add add version check command
continuous-integration/drone/push Build is passing Details
Closes #108.
2021-03-20 21:35:28 +01:00
decentral1se 49226f1640
Change warning to reflect version check scenarioj 2021-03-20 21:35:13 +01:00
decentral1se 4251c32b30
Re-word new app language to emphasise config editing
continuous-integration/drone/push Build is passing Details
See #111 (comment).
2021-03-20 21:24:38 +01:00
decentral1se ece5385a38
Merge branch 'fix-subcommand-select' into main
continuous-integration/drone/push Build is passing Details
Fix merge conflict in docopt generation + change log entry.
2021-03-20 21:18:34 +01:00
3wc 35d5df14aa Fix subcommand selection..
continuous-integration/drone/pr Build is failing Details
..by sorting the list of subcommand function names in descending order
of how many '_' are in them. This means that `abra app <app> version`
will always be matched before `abra version`.

Ref #108
2021-03-20 19:07:02 +02:00
decentral1se 1c437b99eb
Fix status checking
continuous-integration/drone/push Build is passing Details
2021-03-18 20:10:42 +01:00
decentral1se f382765f29
Show correct status for missing contexts
Closes #99.
2021-03-18 19:45:30 +01:00
decentral1se f5951add54
Fix variables in print statement
continuous-integration/drone/push Build is passing Details
2021-03-18 19:09:34 +01:00
decentral1se 005323ff3c
Add debug for SSH connect on init
Closes #109.
2021-03-18 18:55:04 +01:00
decentral1se 390e918417
Add missing `it` 2021-03-18 18:54:53 +01:00
decentral1se 87b71cb9d4
Show connection details on `abra server ls`
Closes #110.
2021-03-18 18:46:33 +01:00
decentral1se 6e61c08b2c
Handle undeployed state for version output summary
Closes #104.
2021-03-18 17:20:54 +01:00
decentral1se 54b6acc46c
Fix output for stack name 2021-03-18 17:19:43 +01:00
decentral1se e5e98d536a
Add --force for undeploy 2021-03-18 17:18:35 +01:00
decentral1se 8df91de3af
Add --force to deploy command
continuous-integration/drone/push Build is passing Details
Closes #105.
2021-03-18 14:12:18 +01:00
decentral1se 7557966c98
Add debug logging for STACK_NAME
continuous-integration/drone/push Build is passing Details
2021-03-17 14:12:59 +01:00
decentral1se d68444be9e
Mark release
continuous-integration/drone/push Build is passing Details
2021-03-17 12:54:29 +01:00
3wc 8b4141670c Include git digest in dev `version` output
Re: #100
2021-03-16 12:54:42 +02:00
decentral1se 23c852125d
Listen to shellcheck and do things
continuous-integration/drone/push Build is passing Details
2021-03-16 10:13:15 +01:00
decentral1se b04bfea1c7
Use local marker and scan services only once
continuous-integration/drone/push Build is failing Details
2021-03-16 08:38:11 +01:00
decentral1se bc0ef0d6fc
Fix deployments when versions are missing
continuous-integration/drone/push Build is passing Details
2021-03-16 07:32:31 +01:00
decentral1se 58b13d7528
Use app type naming and use yellow
continuous-integration/drone/push Build is passing Details
2021-03-16 06:22:32 +01:00
decentral1se b0fca49ecb
Generalise top level deploy output 2021-03-16 06:19:52 +01:00
decentral1se 79dacf557e
Implement edge-case handling for versioning 2021-03-16 06:19:37 +01:00
decentral1se d6caf03301
Spacing for readability 2021-03-16 05:58:08 +01:00
decentral1se 9b90712d28
Look up image name and show it also 2021-03-16 05:57:01 +01:00
decentral1se 1dd3fe6fcd
Use COMPOSE var here 2021-03-16 05:56:52 +01:00
decentral1se 3b59adfe34
Vendor yq program 2021-03-16 05:47:13 +01:00
decentral1se 00c8a988e1
Fix parsing of stack_name/service concatenation 2021-03-16 05:04:05 +01:00
decentral1se 524fb6a44c
Use STACK_NAME instead of Gitea
continuous-integration/drone/push Build is failing Details
2021-03-15 18:56:26 +01:00
decentral1se e99bedf9e4
WIP version output summary which handles services
continuous-integration/drone/push Build is passing Details
See coop-cloud/organising#47.
2021-03-15 18:30:37 +01:00
decentral1se bcc15ecdb0
Support dev upgrades on the CLI also 2021-03-15 17:03:01 +01:00
3wc 8cb6617a0f Automatically truncate suggested app name
continuous-integration/drone/push Build is passing Details
Ref #83
2021-03-14 03:33:33 +02:00
3wc 1a649c56cb Docs & comments 2021-03-14 03:33:22 +02:00
3wc fd655274f8 Bomb out with Bash < 4
Ref #96
2021-03-14 03:24:13 +02:00
decentral1se 946d1a068d
Drop current version handling logic for deploy
continuous-integration/drone/push Build is passing Details
New logic coming soon.

See coop-cloud/organising#47 (comment).
2021-03-13 20:23:53 +01:00
3wc e8651976ca Only load apps once, exciting 2× speed increase
continuous-integration/drone/push Build is passing Details
2021-03-13 20:15:54 +02:00
3wc af52ba1fec Clean-up 🧹
continuous-integration/drone/push Build is passing Details
2021-03-12 13:13:17 +02:00
3wc 08281891a1 Add --type filter to `abra <app> ls` 2021-03-12 13:10:35 +02:00
decentral1se 5bce042922
First steps to enable abra-hetzner
continuous-integration/drone/push Build is passing Details
See #88.
2021-03-10 23:28:59 +01:00
decentral1se 3276c9fe47
Always choose the default IPv4 address for init'ing
continuous-integration/drone/push Build is passing Details
Closes #91.
2021-03-10 22:23:38 +01:00
Luke Murphy 040374e781
List volumes/secrets when removing
continuous-integration/drone/push Build is passing Details
2021-03-05 12:53:21 +01:00
Luke Murphy 621c8cd5c4
Fix volume/secret deletion logic
continuous-integration/drone/push Build is passing Details
- Fix escaping of quotes
- Dont delete things unless options are passed
2021-03-04 19:21:38 +01:00
Luke Murphy 7434b67c34
Fix parens and ignore quote warning
continuous-integration/drone/push Build is failing Details
2021-03-04 16:59:36 +01:00
Luke Murphy 17306a753b
Support volume and secret removal
continuous-integration/drone/push Build is failing Details
2021-03-04 16:55:24 +01:00
Luke Murphy 2e3f4cabd8
Warn if unable to find version
continuous-integration/drone/push Build is passing Details
2021-03-04 16:40:35 +01:00
Luke Murphy eec49d6dd1
Guard against length errors in app names
continuous-integration/drone/push Build is passing Details
Closes #83.
2021-03-04 16:25:21 +01:00
Luke Murphy d6195ad6d7
Undercore `-` values in the domain too
continuous-integration/drone/push Build is passing Details
2021-03-04 16:19:55 +01:00
Luke Murphy fd04c5a6e9
Support branch selection for app repo clones
Closes #80.
2021-03-04 16:01:56 +01:00
Luke Murphy 1c9d7282b2
Revert "Sort commands listing"
continuous-integration/drone/push Build is passing Details
This reverts commit 99ab5bf369.

Woops, they cannot be sorted this way. Ignore me.
2021-03-04 15:50:27 +01:00
Luke Murphy dd9c485c66
Fix wording and wrap 2021-03-04 15:48:53 +01:00
Luke Murphy 99ab5bf369
Sort commands listing
continuous-integration/drone/push Build is failing Details
2021-03-04 15:38:09 +01:00
Luke Murphy 25a0afed65
Fix indentation and, document local options only 2021-03-04 15:35:18 +01:00
Luke Murphy 65ce949e03
Bail out if versions match
continuous-integration/drone/push Build is passing Details
Closes #87.
2021-03-04 13:20:58 +01:00
Luke Murphy 5931cbd791
Only throw away error but keep stdout 2021-03-04 13:20:45 +01:00
Luke Murphy 0bbff91722
Add service rollback
continuous-integration/drone/push Build is passing Details
Closes #76.
2021-03-04 13:10:51 +01:00
Luke Murphy 7f5e753dfd
Re-factor version output logic and fix bug
It was showing empty strings for deployed versions it could not find.
Now, it will not change messages to output if it can not detect the
versions deployed (containers dont have the tag).
2021-03-04 13:10:00 +01:00
Luke Murphy d3776f4424
Warn on secret storage after generation
continuous-integration/drone/push Build is passing Details
Closes #75.
2021-03-03 17:20:24 +01:00
Luke Murphy 544c4e86ba
Capture output for version checking
continuous-integration/drone/push Build is passing Details
Closes #85.
2021-03-03 16:56:47 +01:00
Luke Murphy 516309b478
Show command to run 2021-03-03 16:54:01 +01:00
Luke Murphy dfd7e29a30
Give spacing to blocks 2021-03-03 16:51:25 +01:00
Luke Murphy bb30fa28da
Fix wording 2021-03-03 16:50:59 +01:00
Luke Murphy 152dfe9349
Support basic version checking
Closes #82.
2021-03-02 13:06:56 +01:00
Luke Murphy 98e674b8e8
Add version and digest showing
continuous-integration/drone/push Build is passing Details
See #82.
2021-03-02 12:04:25 +01:00
Luke Murphy 5bc702bf96
Propagate new version around
continuous-integration/drone/push Build is passing Details
2021-03-01 11:44:58 +01:00
3wc e5b2a426f0 Add shared backup helpers
continuous-integration/drone/push Build is passing Details
2021-02-24 17:03:28 +02:00
3wc 29b22fe162 Display subcommand help with -h/--help
continuous-integration/drone/push Build is passing Details
Closes #78
2021-02-11 15:02:37 +02:00
3wc d2cdb11fcc Tweak INFO messages, update CHANGELOG
continuous-integration/drone/pr Build is failing Details
2021-02-08 13:43:39 +02:00
3wc cef06a82a6 abra-commands.sh → abra.sh 2021-01-30 16:10:40 +02:00
3wc 9a630a0440 Prevent accidental `cd` when loading app vars 2021-01-30 16:10:40 +02:00
3wc 1c6651b18b Fix `secret generate` help
[ci skip]
2021-01-30 16:10:13 +02:00
3wc f90e1d154c Add container IDs to debug log
continuous-integration/drone/pr Build is passing Details
2021-01-24 19:11:22 +02:00
3wc 6cc265e931 Tweak info/debug output 2021-01-24 19:11:22 +02:00
3wc 854ae23f60 Initial --verbose / --debug 2021-01-24 19:11:22 +02:00
3wc 43e7672725 Prevent accidental `cd` when loading app vars
continuous-integration/drone/push Build is passing Details
2021-01-24 19:11:11 +02:00
3wc 8a08de51e4 Alert on missing secrets, re-add . → _ STACK_NAME
continuous-integration/drone/push Build is passing Details
2021-01-09 15:07:39 +02:00
3wc 5d84cef63c `app restore`
continuous-integration/drone/pr Build is failing Details
2021-01-09 13:36:32 +02:00
3wc eda5198904 Add scaffolding for per-app `backup` commands
See #70
2021-01-09 13:36:32 +02:00
3wc a4a3dccd66 Add global --skip-check / --skip-update commands 2021-01-09 13:36:32 +02:00
3wc a2d249e3a1 Fix `abra app ls` with `*` server
continuous-integration/drone/push Build is passing Details
2021-01-02 00:34:44 +02:00
3wc d6b4a4744f Fix `abra app ls` for app → type
continuous-integration/drone/push Build is passing Details
2021-01-01 23:00:20 +02:00
Luke Murphy aa59c1ad43
Make secret generation more robust
continuous-integration/drone/pr Build is passing Details
Closes #68.
2021-01-01 18:54:41 +01:00
Luke Murphy f5c8ee1136
Merge auto/generate and use --secrets
continuous-integration/drone/pr Build is passing Details
Closes #58.
2021-01-01 17:31:21 +01:00
3wc 9a17817cc8 Tiny tweak to `abra help` advice
continuous-integration/drone/push Build is passing Details
2021-01-01 17:57:36 +02:00
3wc fff4b10a41 Gettin some help_
continuous-integration/drone/push Build is passing Details
See #50
2021-01-01 15:09:49 +02:00
3wc 886ae5b7f2 Fix help function names
continuous-integration/drone/pr Build is passing Details
2021-01-01 01:46:09 +02:00
3wc 5411c85793 Don't require weird app_ls format for abra help
continuous-integration/drone/pr Build is passing Details
2021-01-01 01:42:17 +02:00
3wc caa315e361 Add per-subcommand help 2021-01-01 01:13:17 +02:00
3wc e6b24fe65c Change -v option to `version` subcommand 2021-01-01 01:10:03 +02:00
Luke Murphy 406b9e374e
Only output length if using it
continuous-integration/drone/push Build is passing Details
Closes #67.
2020-12-31 18:16:01 +01:00
Luke Murphy ce0e0e893c
Use plain usage only when erroring out
continuous-integration/drone/push Build is passing Details
Closes #65.
2020-12-31 18:12:01 +01:00
Luke Murphy 44d3ac3a1c
Support pwqgen/pwgen checking
Closes #66.
2020-12-31 18:10:13 +01:00
Luke Murphy 5da9f26076
Remove old function
Follow on from 3936d6afc0.
2020-12-31 18:06:20 +01:00
Luke Murphy 55324524ca
Don't cut since `export ...` isn't in the env file
Closes #69.
2020-12-31 16:55:33 +01:00
3wc 29cc392dff Prompt on `app .. config` if $EDITOR is un-set
continuous-integration/drone/push Build is failing Details
Closes #41
2020-12-31 12:52:44 +02:00
3wc 0179f600f5 Change -v option to `version` subcommand 2020-12-31 11:47:12 +02:00
3wc 6761574d74 Add "app name" concept, and rename APP → TYPE
continuous-integration/drone/pr Build is failing Details
Ref #47
2020-12-30 21:26:17 +02:00
3wc 8384af8b95 First foray into <domain> → <app> 2020-12-30 13:47:41 +02:00
3wc b9e97688d6 ... and update docopt
continuous-integration/drone/push Build is passing Details
2020-12-30 13:43:17 +02:00
3wc 1055805c8d Merge duplicate `run` commands
continuous-integration/drone/push Build is passing Details
Closes #57
2020-12-30 13:33:57 +02:00
Luke Murphy 11c50ae98d
Use set -a/+a and docker env file formats
continuous-integration/drone/pr Build is failing Details
Closes #40.
2020-12-30 11:22:58 +01:00
decentral1se 34775f306b Merge branch 'main' into merge-logging
continuous-integration/drone/pr Build is passing Details
2020-12-30 11:21:03 +01:00
Luke Murphy 375a4dd29d
Re-add require_app_latest for custom commands
continuous-integration/drone/push Build is passing Details
Revision of 67cce192df.

See #54 (comment).
2020-12-30 11:19:55 +01:00
Luke Murphy 3936d6afc0
Merge logs/multilogs and avoid multitail external
continuous-integration/drone/pr Build is passing Details
2020-12-29 23:22:46 +01:00
Luke Murphy 67cce192df
Don't do more cloning that necessary
continuous-integration/drone/pr Build is passing Details
2020-12-29 17:06:49 +01:00
Luke Murphy 3a9e141b24
Pull latest changes
Closes #42.
2020-12-29 17:06:32 +01:00
Luke Murphy ebfe7ca4e8
Suppress output of clone and do better logging 2020-12-29 17:05:30 +01:00
Luke Murphy fff2fbe819
Prepare function name for new functionality 2020-12-29 17:05:00 +01:00
Luke Murphy f213c3df5f
Follow convention and show type of message 2020-12-29 17:04:17 +01:00
Luke Murphy f017324431
<app> -> <type>
continuous-integration/drone/pr Build is passing Details
Closes #48.
2020-12-29 14:56:50 +01:00
Luke Murphy 592f515ec4
Remove `abra server use`
continuous-integration/drone/pr Build is passing Details
2020-12-29 14:24:50 +01:00
3wc 77ba5652b2 Run "check" during "deploy", + "--skip-check"
continuous-integration/drone/push Build is passing Details
2020-12-29 11:15:14 +02:00
3wc 412729aac9 Fix calling `logs` with no arguments
continuous-integration/drone/push Build is failing Details
Closes #31
2020-12-27 12:23:16 +02:00
3wc 8022a2cb41 Add cheeky `network` command
continuous-integration/drone/push Build is failing Details
2020-12-27 12:07:10 +02:00
3wc 35182ed260 Get both `.. volume ..` and custom commands working 2020-12-27 12:07:10 +02:00
3wc d90c6ef361 Add `--no-tty` option to `app run` 2020-12-27 12:07:10 +02:00
3wc 40ca8dfe93 Add --server filter to `app list`..
.. and add `server <host> apps` as an alias.
2020-12-27 12:07:10 +02:00
3wc 7f009f927b Fix `app ls --status`
Closes #35
2020-12-27 12:06:39 +02:00
3wc 63c982c550 Fix custom commands loading
continuous-integration/drone/push Build is failing Details
2020-12-17 13:38:30 +02:00
3wc 0d202eedfc Reënable custom per-stack commands
continuous-integration/drone/push Build is failing Details
2020-12-14 12:33:22 +02:00
3wc cb2d563ea0 Fix status header
continuous-integration/drone/push Build is failing Details
2020-11-18 01:06:07 +02:00
3wc 059968a8cf Fix `abra app ls --status` 2020-11-18 00:40:26 +02:00
3wc c57069e0af Use ABRA_DIR instead of hard-coding .abra 2020-11-18 00:39:41 +02:00
3wc 946a527baa Add `app ... ps` command, and some comments 2020-11-16 17:29:35 +02:00
Luke Murphy 89d530a553
Use printf instead of echo like docker docs do
continuous-integration/drone/push Build is failing Details
2020-11-08 16:40:45 +01:00
Luke Murphy 25fe6808ad
Use one line and strip newlines on generation
continuous-integration/drone/push Build is failing Details
2020-11-08 16:34:26 +01:00
Luke Murphy 28b2d8ecc7
Strip whitespace 2020-11-08 16:34:21 +01:00
3wc fd735a1310 Add `app <domain> check` to sniff out missing vars
continuous-integration/drone/push Build is failing Details
Re #36
2020-11-06 23:14:26 +02:00
3wc e307286db7 Add `--status` option to `app ls`
continuous-integration/drone/push Build is failing Details
Closes #35
2020-11-06 22:35:48 +02:00
Luke Murphy f495ec0d94
Appease shellcheck
continuous-integration/drone/push Build is failing Details
2020-11-05 16:00:50 +01:00
decentral1se 0d62f01d5a Merge branch 'main' into new-pass-keys-generation
continuous-integration/drone/pr Build is failing Details
2020-11-05 15:57:32 +01:00
Luke Murphy eec55896a4
Implement password/key handling
continuous-integration/drone/pr Build is failing Details
2020-11-05 15:56:31 +01:00
Luke Murphy c2a56c6c09
Drop this broken catch-all
continuous-integration/drone/push Build is failing Details
Closes #29.
2020-11-01 21:15:06 +01:00
Luke Murphy 74dfd75fb1
Use same [] style once more
continuous-integration/drone/push Build is failing Details
2020-11-01 20:55:47 +01:00
Luke Murphy e8c0efa91e
Add --auto to app new for generation
continuous-integration/drone/push Build is failing Details
Step one of #32.
2020-11-01 20:54:43 +01:00
Luke Murphy 6bae48431c
Use same style as other [] options 2020-11-01 20:41:58 +01:00
Luke Murphy 57e3a34133
Make sure to clone on deploy as well
continuous-integration/drone/push Build is failing Details
2020-11-01 17:08:44 +01:00
Luke Murphy 33a49a8457
Trim whitespace
continuous-integration/drone/push Build is failing Details
2020-11-01 17:05:13 +01:00
Luke Murphy 5806e40c1c
Add require_app_clone 2020-11-01 17:05:10 +01:00
3wc 80f06ba0e1 Support >2 COMPOSE_FILEs
continuous-integration/drone/push Build is failing Details
2020-10-31 17:51:56 +02:00
3wc b226396764 Consistent y/n confirmation prompts 2020-10-30 20:57:13 +02:00
3wc 50651aeea1 Mollify shellcheck
continuous-integration/drone/push Build is failing Details
2020-10-30 18:30:53 +02:00
3wc 50ca4f8029 Tighten up options for `secret` commands
continuous-integration/drone/push Build is failing Details
2020-10-30 18:24:22 +02:00
3wc 0433da3689 Fix subcommand -> function mapper
continuous-integration/drone/push Build is failing Details
2020-10-30 18:17:06 +02:00
3wc 3e0b9e9475 Working completion `app` and `server`
continuous-integration/drone/push Build is failing Details
2020-10-30 17:52:47 +02:00
3wc c6b841de6c First stab 2020-10-30 17:52:47 +02:00
3wc 2daffc8694 Use bash `select`, tweak args 2020-10-30 17:52:46 +02:00
Luke Murphy b15a214049
WIP: app secret rm
continuous-integration/drone/push Build is failing Details
2020-10-30 02:09:59 +01:00