Commit Graph

280 Commits

Author SHA1 Message Date
decentral1se 9c281d8608
fix: flags for logging in 2021-12-27 03:27:05 +01:00
decentral1se c5a74e9f6b
fix: template env files too 2021-12-26 04:38:34 +01:00
decentral1se cdc08ae95a
fix: much hacking, maybe fixed catalogue generation 2021-12-26 04:02:40 +01:00
decentral1se 3f35510507
fix: runtime caching for catalogue generation 2021-12-26 04:01:02 +01:00
decentral1se b0834925a3
fix: log in correctly
See coop-cloud/abra#139.
2021-12-26 03:44:29 +01:00
decentral1se 17340a79da
refactor: more local var 2021-12-26 00:14:48 +01:00
decentral1se 779c810521
refactor: less quotes, less verbose 2021-12-26 00:14:32 +01:00
decentral1se 9a1cf258a5
fix: check published version properly
Resulted in a refactor to a new lint package.
2021-12-26 00:00:19 +01:00
decentral1se ba8138079f
fix: use one function for up-to-date checks 2021-12-25 23:45:52 +01:00
decentral1se 8735a8f0ea
feat: lint before deploy/upgrade/rollback
See coop-cloud/organising#254.
2021-12-25 23:35:45 +01:00
decentral1se a84a5bc320
feat: more robust linting
See coop-cloud/organising#254.
2021-12-25 23:22:50 +01:00
decentral1se e2c3bc35c3
fix: handle missing label 2021-12-25 17:02:47 +01:00
decentral1se 6937bfbb0d
fix: if no remotes, skip on 2021-12-25 16:56:21 +01:00
decentral1se 4283f130a2
refactor: apps -> recipes 2021-12-25 14:04:07 +01:00
decentral1se 3b5354b2a5
refactor: less quotes 2021-12-25 02:03:09 +01:00
decentral1se 14400d4ed8
fix: sync recipes from remotes 2021-12-24 16:06:29 +01:00
decentral1se dddf84d92b
fix: avoid default value for idf
We could default to ~/.ssh/id_rsa but if that doesn't exist, then we'll
just be confusing people in the logs. Best is to just rely on the
ssh-agent which overrides this anyway. We will document this.

See coop-cloud/organising#277
2021-12-24 15:39:44 +01:00
decentral1se fefb042716
fix: shorter timeout on deploy 2021-12-24 02:26:02 +01:00
decentral1se ab8db8df64
feat: deploy --no-converge-checks & finish app errors 2021-12-24 02:23:46 +01:00
decentral1se e839f100df
fix: move that back, still wrong but less wrong 2021-12-24 01:32:42 +01:00
decentral1se 41a757b7ed
fix: only show when success is for sure 2021-12-24 00:44:50 +01:00
decentral1se 4b4298caf1
fix: better wording 2021-12-24 00:44:49 +01:00
decentral1se 8e8c241fdf
refactor: less quotes 2021-12-24 00:44:49 +01:00
decentral1se 9b8ff1ddcd
fix: get branch is now more robust 2021-12-24 00:44:44 +01:00
decentral1se fc29ca6fce
refactor: less quotes 2021-12-24 00:25:45 +01:00
decentral1se 014d32112e
fix: ensure tags & commits are pushed 2021-12-23 02:24:43 +01:00
decentral1se a7894cbda9
fix: better explanation 2021-12-23 02:10:57 +01:00
decentral1se 0362928840
fix!: parse ttl correctly 2021-12-23 01:41:12 +01:00
decentral1se 7a5aa1b005
test: make them work again 2021-12-23 01:06:56 +01:00
decentral1se a07e71f7df
fix: grand ssh, provisioning, perms refactor
See coop-cloud/organising#280.
See coop-cloud/organising#273.
2021-12-22 20:08:15 +01:00
decentral1se ec7223146b
docs: better timeout error 2021-12-21 23:48:32 +01:00
decentral1se fa45264ea0
refactor: the grand recipe release refactor 2021-12-21 19:25:44 +01:00
decentral1se 2b1cc9f6dd
docs: less quotes, more clarity on init 2021-12-21 02:28:14 +01:00
decentral1se fc3742212c
fix: more reliable syncing 2021-12-21 01:48:37 +01:00
decentral1se fccbd7c7d7
chore: style lines 2021-12-21 01:48:21 +01:00
decentral1se ae9e66c319
docs: less quotes, different quotes 2021-12-20 01:05:51 +01:00
decentral1se 8d499c0810
fix: find local only apps 2021-12-20 00:50:09 +01:00
decentral1se 0a903f041f
refactor: less quotes 2021-12-20 00:49:36 +01:00
decentral1se bf82bc9c7f
feat: add dryflag, implement push for catalogue generate 2021-12-19 23:59:40 +01:00
decentral1se 5113db1612
refactor: centralise git commit machinery 2021-12-19 23:51:03 +01:00
decentral1se 88d4984248
docs: wording 2021-12-19 23:29:05 +01:00
decentral1se 4c66e44b3a
fix: use new recipes.json path 2021-12-19 23:17:46 +01:00
decentral1se 033bad3d10
fix: handle empty image meta 2021-12-19 23:14:43 +01:00
decentral1se a750344653
refactor: better wording 2021-12-19 23:14:29 +01:00
decentral1se f5caf5587a
refactor: fix log style and add recipe context 2021-12-19 23:08:03 +01:00
decentral1se fdc9e8b5fd
refactor: improved log messages and less quotes 2021-12-19 23:02:58 +01:00
decentral1se 75edcabb23
fix: show progress on meta reading 2021-12-19 22:57:38 +01:00
decentral1se fa0a63c11d
refactor: ensure type, drop comment 2021-12-19 22:45:08 +01:00
decentral1se 3d3eefb2fe
fix: bail out definitely on that error
See coop-cloud/organising#278.
2021-12-19 22:44:19 +01:00
decentral1se b8e2d1de67
refactor: move function into web package 2021-12-19 15:57:00 +01:00
decentral1se 3b7a8e6498
docs: add missing docstrings 2021-12-19 15:56:59 +01:00
decentral1se 8215bb455b
fix: warn if secrets still exist 2021-12-13 12:29:26 +01:00
decentral1se d087a60e09
Revert "fix: dont throw away changes"
This reverts commit dd0f328a65.

Part of coop-cloud/organising#282.
2021-12-12 02:04:13 +01:00
decentral1se 48e16c414c
fix: use correct error format 2021-12-12 01:56:43 +01:00
decentral1se f3e55e5023
fix: support registry login details 2021-12-12 01:52:28 +01:00
decentral1se ae6adace50
refactor: autocomplete package 2021-12-12 00:17:39 +01:00
decentral1se 32dcddb631
fix: select containers if we find multiple 2021-12-12 00:04:37 +01:00
decentral1se 3dbd343600
fix: dont double append root path 2021-12-11 20:24:38 +01:00
decentral1se 8393f4b134
fix: log discovered paths 2021-12-11 20:24:29 +01:00
decentral1se 8e56607cc9
fix: use default 2021-12-11 20:13:55 +01:00
decentral1se 85a543afac
fix: maybe more robust gitignore checks 2021-12-11 20:11:59 +01:00
decentral1se 665396b679
fix: join path correctly 2021-12-11 20:01:30 +01:00
decentral1se 870c561fee
Revert "Revert "fix: include ignored files""
This reverts commit 9be78bc5fa.

Attempting to fix this once again.
2021-12-11 19:53:35 +01:00
decentral1se 3fb43ffa2c
Revert "fix: match exact on filtering" [ci skip]
This reverts commit 2bc2f8630b.

This breaks other stuff. Reverting!
2021-12-09 14:12:16 +01:00
decentral1se 2bc2f8630b
fix: match exact on filtering 2021-12-06 01:26:04 +01:00
decentral1se 2db5378418
fix: dont add .git dirs
Closes coop-cloud/organising#276.
2021-12-05 01:30:23 +01:00
decentral1se 7d8f3f1fab
fix: less loose permissions, less +x
Closes coop-cloud/organising#283.
2021-12-05 01:18:31 +01:00
knoflook 9be78bc5fa
Revert "fix: include ignored files"
This reverts commit aea5cc69c3.
2021-12-03 11:39:56 +01:00
decentral1se 962f566228
fix: go on with missing tag
Closes coop-cloud/organising#264.
2021-11-26 21:34:21 +01:00
decentral1se 748d607ddc
fix: better converge output
Closes coop-cloud/organising#263.
2021-11-26 21:24:15 +01:00
decentral1se 4641a942d8
chore: drop comment [ci skip] 2021-11-26 21:02:29 +01:00
3wc 759a00eeb3 fix: less fussy catalogue generation 2021-11-24 13:48:17 +02:00
decentral1se dd0f328a65
fix: dont throw away changes
Part of coop-cloud/organising#226.
2021-11-22 21:11:59 +01:00
decentral1se aea5cc69c3
fix: include ignored files
Part of coop-cloud/organising#226.
2021-11-22 21:11:59 +01:00
3wc d0a30f6b7b refactor: code style / error handling improvements 2021-11-22 20:37:12 +02:00
3wc 9d62fff074 feat: recipe generate: load category and features 2021-11-22 20:37:12 +02:00
decentral1se 711c4e5ee8
fix: warn on invalid envs for catalogue generation
Closes coop-cloud/organising#256.
2021-11-22 18:38:59 +01:00
decentral1se cb32e88cde
fix: support retryable http clients
Closes coop-cloud/organising#257.
2021-11-22 18:28:18 +01:00
decentral1se a18729bf98
fix: ensure changes are check for
Part of coop-cloud/organising#255.
2021-11-22 17:49:31 +01:00
decentral1se fdf4fc6737
fix: ensure validation takes place
Part of coop-cloud/organising#243 (comment).
2021-11-21 15:00:04 +01:00
decentral1se 304b70639f
fix: only check catalogue once 2021-11-19 15:50:29 +01:00
decentral1se fc51cf7775
docs: improve wording [ci skip] 2021-11-19 15:29:54 +01:00
decentral1se e589709cb0
fix: attempt to include IdentityFile if available
This is part of trying to debug:

    coop-cloud/organising#250

And also part of:

    coop-cloud/docs.coopcloud.tech#27

Where I now try to specify the same logic as `ssh -i <my-key-path>` in
the underlying connection logic. This should help with being more
explicit about what key is being used via the SSH config file.
2021-11-18 21:16:10 +01:00
decentral1se 56c3e070f5
fix: log what keys are loaded with the ssh-agent
Closes coop-cloud/organising#249.
2021-11-18 20:04:57 +01:00
decentral1se 1f6e4fa4a3
fix: ensure to init/commit the new recipe repo
Part of coop-cloud/organising#247.
2021-11-15 18:55:13 +01:00
decentral1se 4a245c3e02
fix: ensure .git repo exists
Part of coop-cloud/organising#247.
2021-11-15 18:55:13 +01:00
decentral1se 915083b426
fix: time out on 60 sec + of converge checks
See coop-cloud/organising#246.
2021-11-14 23:15:35 +01:00
decentral1se 486a1717e7
fix: dont attempt to clone is local repo is there
See coop-cloud/organising#247.
2021-11-14 22:54:55 +01:00
decentral1se 9122c0a9b8
fix: ensure domain/server resolve to same ipv4
See coop-cloud/organising#227 (comment).
2021-11-14 22:47:18 +01:00
decentral1se 85ff04202f
fix: ensure ipv4 is present for app deploys
See coop-cloud/organising#227.
2021-11-13 23:04:58 +01:00
decentral1se f78a04109c
fix: clarify when deploy done [ci skip] 2021-11-10 09:15:52 +01:00
decentral1se b67ad02f87
feat: rudimentary deploy status checking
See coop-cloud/organising#209.
2021-11-10 09:06:55 +01:00
decentral1se cd361237e7
Revert "Revert "test: remove broken tests for client""
This reverts commit 59031595ea.

Argh, reverted this by accident, heres another one!
2021-11-09 18:25:28 +01:00
decentral1se 59031595ea
Revert "test: remove broken tests for client"
This reverts commit 17a5f1529a.
2021-11-09 17:58:31 +01:00
decentral1se 6f26b51f3e
fix: only check host keys on requested hosts
See coop-cloud/organising#242.
2021-11-09 17:44:13 +01:00
knoflook 17a5f1529a
test: remove broken tests for client 2021-11-09 13:03:33 +01:00
decentral1se edb427a7ae
feat: implement host key checking
Closes coop-cloud/organising#237.
2021-11-08 15:37:23 +01:00
decentral1se 2b9395be1a
feat: make sync use wizard mode
Some bugs squashed while testing this extensively.
2021-11-06 23:40:22 +01:00
decentral1se f9726b6643
WIP: temporarily avoid SSH host key checking
Closes coop-cloud/organising#234.
Closes coop-cloud/organising#142.
2021-11-05 12:33:32 +01:00
decentral1se de7054fd74
fix: use x-platform code for pdeathsig
This might cause the macosx build not to fail, I hope.

See https://github.com/docker/cli/tree/v20.10.10/cli/connhelper/commandconn
2021-11-03 09:57:35 +01:00
decentral1se e4e606efb0
feat: catalogue generate now rate limits
Closes coop-cloud/organising#231.
2021-11-03 06:53:38 +01:00
decentral1se e37b49201f
fix: use IdleConnTimeout/ConnectTimeout
This is an attempt to set sensible timeouts on abra connections. This
might not be the last word on this but it seems that SSH connections now
bail out correctly and other kinds of commands don't explode (e.g.
logs).

Closes coop-cloud/organising#222.
Closes coop-cloud/organising#218.
2021-11-02 15:49:11 +01:00
decentral1se fc2deda1f6
Revert "fix: drop copy/pasta, keep timeouts"
This reverts commit a170e26e27.

Attempting to add more nuanced timeout logic.
2021-11-02 15:18:17 +01:00
decentral1se 7f176d8e2f
fix: ensure logging for status checks
Closes coop-cloud/organising#226.
2021-11-02 15:15:52 +01:00
decentral1se 3b77607f36
fix: better error messages for missing repos 2021-11-02 13:36:40 +01:00
decentral1se d56400eea8
fix: bail out on unstage changes for plain --force 2021-10-26 10:52:26 +02:00
decentral1se 066b2b9373
fix: stream output from remote ssh commands 2021-10-26 01:30:10 +02:00
decentral1se aec11bda28
fix: add ssh conn time outs 2021-10-26 00:33:18 +02:00
decentral1se 8e3f90a7f3
fix: server inputs handling + better logging 2021-10-25 23:48:49 +02:00
decentral1se 3d46ce6db2
refactor: more seamless SSH connections 2021-10-25 11:13:41 +02:00
decentral1se 9e0d77d5c6
refactor: better SSH connection details handling 2021-10-25 10:42:39 +02:00
decentral1se 8772217f41
fix: working provisioning post chaos testing 2021-10-25 10:06:16 +02:00
decentral1se 9a0e12258a
feat: provision docker installation 2021-10-24 23:15:38 +02:00
decentral1se a458a5d9f7
docs: mark upstreams for all upstreams 2021-10-21 19:54:43 +02:00
decentral1se 963f8dcc73
fix: recover tests from overzealous cleanup 2021-10-21 19:40:26 +02:00
decentral1se dc04cf5ff7
chore: migrate all upstream code to own dir 2021-10-21 19:35:13 +02:00
decentral1se 80921c9f55
fix: remove cruft + readme pass + document forks 2021-10-21 18:35:24 +02:00
decentral1se a170e26e27
fix: drop copy/pasta, keep timeouts 2021-10-21 15:42:50 +02:00
decentral1se 7a5ad65178
fix: load timeout before other opts 2021-10-21 15:06:03 +02:00
decentral1se 74bcb99c70
fix: use this weird default
Closes coop-cloud/organising#207.
2021-10-19 22:43:43 +02:00
decentral1se 597b4b586e
WIP: domain listing with Gandi
Rethinking the interface already.
2021-10-18 22:16:29 +02:00
decentral1se 7ea3df45d4
WIP: dns support via libdns 2021-10-18 20:35:43 +02:00
decentral1se d1e42752e2
fix: set connection timeouts + clean up bad contexts
Closes coop-cloud/organising#205.
2021-10-18 10:48:43 +02:00
decentral1se 9526d1fde6
fix: ensure we have version checked out on deploy 2021-10-18 09:30:43 +02:00
decentral1se 62cc7ef92d
feat: upgrade/downgrade support chaos mode 2021-10-18 08:57:25 +02:00
decentral1se 2f9b11f389
feat: support deploying with chaos mode 2021-10-18 08:14:06 +02:00
decentral1se 6d42e72f16
fix: allow for client creation on default context
See coop-cloud/organising#206.
2021-10-17 23:50:44 +02:00
knoflook dc040a0b38
chore: change test context names 2021-10-16 13:26:03 +02:00
knoflook e6e2e5214f
test: add tests for pkg/client/client.go 2021-10-16 13:04:57 +02:00
knoflook 61452b5f32
docs: add README.md to document testing 2021-10-16 12:26:43 +02:00
knoflook 78460ac0ba
test: increatse client/context.go coverage to 90% 2021-10-16 11:41:41 +02:00
decentral1se ae32b1eed2
fix: standardise checkout options 2021-10-14 12:17:58 +02:00
decentral1se d0828c4d8d
fix: teach app version command to read new versions 2021-10-14 11:29:57 +02:00
decentral1se 37022bf0c8
feat: make deploy only deploy
See coop-cloud/organising#127.
2021-10-13 16:51:04 +02:00
decentral1se a9af0b3627
fix: let gofmt do its magic 2021-10-12 10:34:10 +02:00
3wc a0b4886eba WIP: default to compose.yml instead of all of 'em 2021-10-12 10:25:37 +02:00
decentral1se 84489495dc
fix: load STACK_NAME if not present 2021-10-12 09:03:48 +02:00
decentral1se a8683dc38a
refactor: better formatting 2021-10-12 08:59:14 +02:00
decentral1se e2128ea5b6
fix: check key existance correctly 2021-10-12 08:55:42 +02:00
decentral1se 4a01e411be
refactor: handle STACK_NAME override in one place 2021-10-12 01:14:14 +02:00
decentral1se c764243f3a
fix: manage multiple version showing edge cases 2021-10-08 10:50:48 +02:00
decentral1se dde8afcd43
feat: support version/upgrade listing
Closes coop-cloud/organising#130.
2021-10-08 09:51:47 +02:00
decentral1se 7368cabc49
fix: format output correctly 2021-10-05 20:24:52 +02:00
decentral1se 8bfd76fd04
feat: generate versions for catalogue also
Closes coop-cloud/organising#179.
2021-10-05 20:14:00 +02:00
decentral1se c616907b71
feat: teach recipe sync to understand new versions
Closes coop-cloud/organising#177.
2021-10-05 10:28:09 +02:00
decentral1se 8cc0a350e6
fix: pass sample env when loading recipe
Closes coop-cloud/organising#176.
2021-10-02 23:00:09 +02:00
decentral1se 48290aa316
fix: make server path creation more robust 2021-10-02 22:30:08 +02:00
decentral1se 09f49cdc76
chore: fix tests 2021-10-01 12:57:34 +02:00
3wc 7c4cdc530c fix: don't crash if no abra.sh 2021-10-01 11:40:19 +02:00
3wc 49781c7e3f fix: ignore "env" files which don't end in .env 2021-10-01 11:40:19 +02:00