Commit Graph

2342 Commits

Author SHA1 Message Date
d1admin 1ee572363a chore: mark command as in-progress 2021-07-28 11:30:30 +02:00
d1admin 2c1b8ee7e2 docs: document flags for app new command 2021-07-28 11:30:14 +02:00
d1admin 622e0127ea docs: fill out app listing CLI docs 2021-07-28 11:29:59 +02:00
d1admin d581d3313a docs: add missing command and drop prefix 2021-07-27 21:40:09 +02:00
d1admin 0e75350985 feat: prototype for app listing 2021-07-27 21:25:08 +02:00
d1admin cf7a8d114a chore: remove unused prototype code 2021-07-27 19:46:01 +02:00
d1admin ef1591d596 WIP: app status listing using concurrency
This being my first time using goroutines, it is pretty messy but the
idea has been shown to be workable! We can concurrently look up multiple
contexts for a much faster response time especially when using multiple
servers.

Remaining TODOs are:

- [ ] Get proper status reporting (deployed/inactive/unknown)
- [ ] Error handling (especially when missing contexts)
- [ ] Refactor and tidy
2021-07-27 12:52:09 +02:00
d1admin 429c7e4e50 docs: take a pass on CLI usage docs and add ASCII 2021-07-26 23:58:34 +02:00
d1admin 3bc612c44e WIP: status lookup for apps listing 2021-07-26 20:59:17 +02:00
d1admin 2c83113040 docs: add shorthand and usage docs for app ls flags 2021-07-26 19:59:50 +02:00
d1admin fae5a87ce2 fix: respect --type/-t logic for app listing
Reverts c27376c89b. Woops.
2021-07-26 19:59:26 +02:00
d1admin 145e6326c9 fix: use domain to follow original abra app ls 2021-07-26 19:49:51 +02:00
d1admin 5def18a9af fix: sort by server and type for app listing 2021-07-26 19:47:44 +02:00
d1admin 8656ae947a tests: fix App def to match new struct format
Follows from 01cbee824a.
2021-07-26 19:22:26 +02:00
d1admin c27376c89b fix: disable merging and rely on type being present 2021-07-26 19:16:38 +02:00
d1admin 01cbee824a WIP: app list command sorting 2021-07-26 18:23:28 +02:00
d1admin 337d3e9ae1 refactor: more conventional name for method 2021-07-26 17:50:40 +02:00
d1admin 60a70d2d83 refactor(recipe): better naming, sorting and types
In order to arrange various types of sorting for the app catalogue, it
seems like the recommended approach is to maintain a separate data
structure alongside the JSON map we get from apps.coopcloud.tech.

Therefore, I attempt to provide a ToList() method and accompanying
sort.Sort interface sorting implementations. For now, this is just
sorting by app name.

I am testing this type of implementation here before moving on to
arrange different types of sorting for the `app list` command.
2021-07-26 17:25:08 +02:00
d1admin 1f62ace524 refactor: use method to sort recipe apps listing 2021-07-26 15:43:35 +02:00
d1admin 13028db287 chore: go mod tidy for new deps (go-git) 2021-07-26 15:38:33 +02:00
d1admin 1f550c2470 feat: finish recipe create command 2021-07-25 19:28:29 +02:00
d1admin 359b07b562 WIP: recipe create 2021-07-25 00:07:35 +02:00
d1admin 45c3bce7ff fix: return if erroring out 2021-07-24 23:30:42 +02:00
d1admin 6eee02d90a feat: add recipe versions command 2021-07-24 23:18:23 +02:00
roxxers dfc91a86a1 feat: WIP server rm command
continuous-integration/drone/push Build is passing
2021-07-22 17:38:44 +01:00
roxxers dd86ec4ca8 refactor: client pkg with new context interaction
continuous-integration/drone/push Build is passing
2021-07-22 15:31:43 +01:00
d1admin fce1ab6c02 refactor: better naming for loop scoped variables
continuous-integration/drone/push Build is passing
2021-07-22 14:53:08 +02:00
d1admin 381de28e83 refactor: make ReadApps main API entrypoint
This allows AppsReadFS/AppsReadWeb to be used behind the scenes of this
API for the conditional loading logic. All functions are left as public
for now while we're experimenting.
2021-07-22 14:51:56 +02:00
d1admin 56cec1580a refactor: use app-less naming for this struct also
continuous-integration/drone/push Build is passing
2021-07-22 14:25:37 +02:00
roxxers ebfdb504ce docs: updated todo
continuous-integration/drone/push Build is passing
2021-07-22 12:49:08 +01:00
roxxers fc7dade6f8 feat: server add command
continuous-integration/drone/push Build is passing
Interacts with and stores infomaton in the docker store at ~/.docker

Equivalent to docker context add
2021-07-22 12:48:14 +01:00
roxxers 5e94050865 refactor: forgot there is a function in docker src
continuous-integration/drone/push Build is passing
2021-07-22 10:19:05 +01:00
roxxers fe86b50ee3 refactor: actual context getting
continuous-integration/drone/push Build is passing
2021-07-22 09:51:27 +01:00
decentral1se a4a8997f57 Merge pull request 'Support local apps.json loading' (#10) from apps-json-handling into main
continuous-integration/drone/push Build is passing
Reviewed-on: https://git.autonomic.zone/coop-cloud/go-abra/pulls/10
2021-07-21 22:44:50 +02:00
d1admin 1f6c0e8c4b feat: support local apps.json loading
continuous-integration/drone/pr Build is passing
This logic supports the following cases:

- Download a fresh apps.json and load it if missing
- Check if a local apps.json is old and get a fresh one if so
- Always save a local copy after downloading a fresh apps.json

The http.Head() call is faster than a http.Get() call (only carries back
respones headers) and aims to make the more general case more
performant: you have the latest copy of the apps.json and don't need to
download another one. This a direct port of our Bash implementation
logic.

Closes https://git.autonomic.zone/coop-cloud/go-abra/issues/9.
2021-07-21 22:42:51 +02:00
roxxers 6b370599fa refactor: simplified sort of app names
continuous-integration/drone/push Build is passing
2021-07-21 17:12:35 +01:00
roxxers 9216cc5d6a refactor: simplifing range statement
continuous-integration/drone/push Build is passing
2021-07-21 16:36:46 +01:00
d1admin 53576dc916 Revert "style: add missing type marker"
continuous-integration/drone/push Build is passing
This reverts commit e064f18730.

As discussed, this is explicitly using a type shorthand which is all
good.
2021-07-21 13:32:16 +02:00
decentral1se 05ff163386 Merge pull request 'Add recipe ls command' (#8) from recipe-ls into main
continuous-integration/drone/push Build is passing
Reviewed-on: https://git.autonomic.zone/coop-cloud/go-abra/pulls/8
2021-07-21 13:30:14 +02:00
d1admin 302ebcb394 feat: add recipe ls command
continuous-integration/drone/pr Build is passing
2021-07-21 13:28:46 +02:00
roxxers 0242dfcb0f fix: multiline vars can now be read using fork
continuous-integration/drone/push Build is passing
2021-07-21 12:05:50 +01:00
roxxers 29971c36a0 refactor: moved all fatal errors to logrus
continuous-integration/drone/push Build is passing
This will allow us to test commands that would normally exit
2021-07-21 09:04:34 +01:00
roxxers 2158dc851c test: makefile now runs all tests recursively
continuous-integration/drone/push Build is passing
2021-07-21 08:56:53 +01:00
roxxers a36e80db99 fix: fixing domain being required.
continuous-integration/drone/push Build is passing
Fixes gitea issue #5
2021-07-21 08:38:13 +01:00
roxxers b0c241ae98 bulid: added build-dev option
continuous-integration/drone/push Build is passing
this otion does no optimisations in the compile (removing debug stuff)
2021-07-21 08:20:17 +01:00
d1admin a74d214121 docs: use hyphen shortname and trim message
continuous-integration/drone/push Build is passing
2021-07-21 00:19:06 +02:00
d1admin e064f18730 style: add missing type marker
continuous-integration/drone/push Build is passing
2021-07-21 00:17:16 +02:00
d1admin 7b2100c568 feat: add version command
continuous-integration/drone/push Build is passing
2021-07-20 23:59:47 +02:00
d1admin c9ba7aef20 build: reduce binary size with optimisation flags
continuous-integration/drone/push Build is passing
Part of https://git.autonomic.zone/coop-cloud/go-abra/issues/4.
2021-07-20 22:45:49 +02:00
roxxers 16514b3151 feat: implemented type & servers flags in app ls
continuous-integration/drone/push Build is passing
2021-07-20 13:00:03 +01:00