Commit Graph

1191 Commits

Author SHA1 Message Date
2c1b8ee7e2
docs: document flags for app new command 2021-07-28 11:30:14 +02:00
622e0127ea
docs: fill out app listing CLI docs 2021-07-28 11:29:59 +02:00
d581d3313a
docs: add missing command and drop prefix 2021-07-27 21:40:09 +02:00
0e75350985
feat: prototype for app listing 2021-07-27 21:25:08 +02:00
cf7a8d114a
chore: remove unused prototype code 2021-07-27 19:46:01 +02:00
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
429c7e4e50
docs: take a pass on CLI usage docs and add ASCII 2021-07-26 23:58:34 +02:00
3bc612c44e
WIP: status lookup for apps listing 2021-07-26 20:59:17 +02:00
2c83113040
docs: add shorthand and usage docs for app ls flags 2021-07-26 19:59:50 +02:00
fae5a87ce2
fix: respect --type/-t logic for app listing
Reverts c27376c89b. Woops.
2021-07-26 19:59:26 +02:00
145e6326c9
fix: use domain to follow original abra app ls 2021-07-26 19:49:51 +02:00
5def18a9af
fix: sort by server and type for app listing 2021-07-26 19:47:44 +02:00
8656ae947a
tests: fix App def to match new struct format
Follows from 01cbee824a.
2021-07-26 19:22:26 +02:00
c27376c89b
fix: disable merging and rely on type being present 2021-07-26 19:16:38 +02:00
01cbee824a
WIP: app list command sorting 2021-07-26 18:23:28 +02:00
337d3e9ae1
refactor: more conventional name for method 2021-07-26 17:50:40 +02:00
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
1f62ace524
refactor: use method to sort recipe apps listing 2021-07-26 15:43:35 +02:00
13028db287
chore: go mod tidy for new deps (go-git) 2021-07-26 15:38:33 +02:00
1f550c2470
feat: finish recipe create command 2021-07-25 19:28:29 +02:00
359b07b562
WIP: recipe create 2021-07-25 00:07:35 +02:00
45c3bce7ff
fix: return if erroring out 2021-07-24 23:30:42 +02:00
6eee02d90a
feat: add recipe versions command 2021-07-24 23:18:23 +02:00
dfc91a86a1
feat: WIP server rm command
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-22 17:38:44 +01:00
dd86ec4ca8
refactor: client pkg with new context interaction
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-22 15:31:43 +01:00
fce1ab6c02
refactor: better naming for loop scoped variables
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-22 14:53:08 +02:00
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
56cec1580a
refactor: use app-less naming for this struct also
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-22 14:25:37 +02:00
ebfdb504ce
docs: updated todo
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-22 12:49:08 +01:00
fc7dade6f8
feat: server add command
All checks were successful
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
5e94050865
refactor: forgot there is a function in docker src
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-22 10:19:05 +01:00
fe86b50ee3
refactor: actual context getting
All checks were successful
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
All checks were successful
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
1f6c0e8c4b
feat: support local apps.json loading
All checks were successful
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
6b370599fa
refactor: simplified sort of app names
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-21 17:12:35 +01:00
9216cc5d6a
refactor: simplifing range statement
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-21 16:36:46 +01:00
53576dc916
Revert "style: add missing type marker"
All checks were successful
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
All checks were successful
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
302ebcb394
feat: add recipe ls command
All checks were successful
continuous-integration/drone/pr Build is passing
2021-07-21 13:28:46 +02:00
0242dfcb0f
fix: multiline vars can now be read using fork
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-21 12:05:50 +01:00
29971c36a0
refactor: moved all fatal errors to logrus
All checks were successful
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
2158dc851c
test: makefile now runs all tests recursively
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-21 08:56:53 +01:00
a36e80db99
fix: fixing domain being required.
All checks were successful
continuous-integration/drone/push Build is passing
Fixes gitea issue #5
2021-07-21 08:38:13 +01:00
b0c241ae98
bulid: added build-dev option
All checks were successful
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
a74d214121
docs: use hyphen shortname and trim message
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-21 00:19:06 +02:00
e064f18730
style: add missing type marker
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-21 00:17:16 +02:00
7b2100c568
feat: add version command
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-20 23:59:47 +02:00
c9ba7aef20
build: reduce binary size with optimisation flags
All checks were successful
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
16514b3151
feat: implemented type & servers flags in app ls
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-20 13:00:03 +01:00
635c6d6080
test: integrate new test target into CI build
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-19 15:50:16 +02:00