Commit Graph
846 Commits
Author SHA1 Message Date
d1admin 622e0127ea docs: fill out app listing CLI docs 2021-07-28 11:29:59 +02:00
d1admin 0e75350985 feat: prototype for app listing 2021-07-27 21:25:08 +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 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 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
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 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 fe86b50ee3 refactor: actual context getting
continuous-integration/drone/push Build is passing
2021-07-22 09:51:27 +01: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
d1admin 302ebcb394 feat: add recipe ls command
continuous-integration/drone/pr Build is passing
2021-07-21 13:28:46 +02: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
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
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
roxxers cfe2f70151 refactor: moving logging to command functions
easier to unit test our util commands like this
2021-07-19 12:47:46 +01:00
roxxers bd9bc530d1 faet: a draft version of the app ls command
continuous-integration/drone/push Build is passing
2021-07-19 08:37:00 +01:00
roxxers 37c06c82bf feat: added error to GetContextEndpoint
continuous-integration/drone/push Build is passing
this ill make the progam not fail if there is a non-docker swarm context
2021-07-18 06:34:22 +01:00
roxxers 38f610bdec feat: abra server ls
continuous-integration/drone/push Build is passing
WE DID IT! The first actual command to be ported.

Code is still a mess in terms of UX but its a milestone!
2021-07-18 04:21:26 +01:00
roxxers d1f7e8011d refactor: Moved table function to fornatter
Makes more sense for it to be in there
2021-07-18 03:24:48 +01:00
roxxers 2134f57dd0 WIP: Messy code that is mostly just testing
continuous-integration/drone/push Build is passing
This is me trying to print all services in a stack.

Struggling to isolate stack and tasks which is needed for swarm
2021-07-17 09:30:56 +01:00
roxxers 6c748922b4 feat: added context flag to make dev easier
needed until we have proper server subcommand system
2021-07-17 09:29:25 +01:00
roxxers b9e06f2310 feat: added util formatting for the cil 2021-07-17 09:27:52 +01:00
roxxers be46695d82 feat: added flags to base command
they already exist just attatching them to the command
2021-07-17 05:11:48 +01:00
roxxers a78bb9123a feat: POC passgen 2021-07-15 08:23:26 +01:00
roxxers 1adca5ca0e feat: added app commands and flags for commands 2021-07-15 06:17:47 +01:00
roxxers 9a0bd6dc11 refactor(cli): moved commands and cli out of main 2021-07-15 03:44:07 +01:00