Commit Graph

65 Commits

Author SHA1 Message Date
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 2021-07-22 14:25:37 +02:00
ebfdb504ce docs: updated todo 2021-07-22 12:49:08 +01:00
fc7dade6f8 feat: server add command
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 2021-07-22 10:19:05 +01:00
fe86b50ee3 refactor: actual context getting 2021-07-22 09:51:27 +01:00
a4a8997f57 Merge pull request 'Support local apps.json loading' (#10) from apps-json-handling into main
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
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 2021-07-21 17:12:35 +01:00
9216cc5d6a refactor: simplifing range statement 2021-07-21 16:36:46 +01:00
53576dc916 Revert "style: add missing type marker"
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
05ff163386 Merge pull request 'Add recipe ls command' (#8) from recipe-ls into main
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 2021-07-21 13:28:46 +02:00
0242dfcb0f fix: multiline vars can now be read using fork 2021-07-21 12:05:50 +01:00
29971c36a0 refactor: moved all fatal errors to logrus
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 2021-07-21 08:56:53 +01:00
a36e80db99 fix: fixing domain being required.
Fixes gitea issue #5
2021-07-21 08:38:13 +01:00
b0c241ae98 bulid: added build-dev option
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 2021-07-21 00:19:06 +02:00
e064f18730 style: add missing type marker 2021-07-21 00:17:16 +02:00
7b2100c568 feat: add version command 2021-07-20 23:59:47 +02:00
c9ba7aef20 build: reduce binary size with optimisation flags
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 2021-07-20 13:00:03 +01:00
635c6d6080 test: integrate new test target into CI build 2021-07-19 15:50:16 +02:00
dee013e4e4 test: added makefile entry for running tests 2021-07-19 14:38:19 +01:00
a60ebf8710 tests: around 60% code coverage for config package 2021-07-19 14:36:00 +01:00
cfe2f70151 refactor: moving logging to command functions
easier to unit test our util commands like this
2021-07-19 12:47:46 +01:00
bd9bc530d1 faet: a draft version of the app ls command 2021-07-19 08:37:00 +01:00
f7059dbe98 refactor: filesystem io 2021-07-19 07:04:37 +01:00
8c5e25bd01 chore: updated gitignore; added vscode settings 2021-07-19 06:57:50 +01:00
6caa176308 WIP: Enviroment file loading and config management 2021-07-18 10:49:31 +01:00
7d5db5fee1 docs: updated todo 2021-07-18 06:41:19 +01:00
37c06c82bf feat: added error to GetContextEndpoint
this ill make the progam not fail if there is a non-docker swarm context
2021-07-18 06:34:22 +01:00
a2bb0ed027 test: added the first test
I am not very good at unit testing but we need to start writing them
2021-07-18 06:31:09 +01:00
38f610bdec feat: abra server ls
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
e13948f37e docs: added todo list for the port 2021-07-18 04:10:14 +01:00
d1f7e8011d refactor: Moved table function to fornatter
Makes more sense for it to be in there
2021-07-18 03:24:48 +01:00
2134f57dd0 WIP: Messy code that is mostly just testing
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
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
b9e06f2310 feat: added util formatting for the cil 2021-07-17 09:27:52 +01:00
be46695d82 feat: added flags to base command
they already exist just attatching them to the command
2021-07-17 05:11:48 +01:00
ae68f3aa95 chore: go mod tidy for dependancy 2021-07-17 04:35:43 +01:00
5e1b076bf9 feat: very basic context management
Taken from this gist by github.com/agbaraka

https://gist.github.com/agbaraka/654a218f8ea13b3da8a47d47595f5d05

There is no in-built way of dealing with contexts using the golang sdk.

This means we have to make our own Dial helper borrowing from Docker CLI

This means all Docker API calls are made within the ssh connection

This uses `docker system dial-stdio`
2021-07-16 09:32:24 +01:00
c65ae974dd Add experimental staticcheck into linting CI
See https://staticcheck.io for more. This is set to be ignored
on failure so that it doesn't disrupt current work flows but maybe
it is nice to add. Just drop the `ignore: ...` line and it will fail
builds.
2021-07-15 23:57:08 +02:00
9b8f16345c Add a Go report card badge 2021-07-15 23:35:43 +02:00
4884c14ab3 Can't sort this as VERSION is not defined then 2021-07-15 23:26:47 +02:00
a9d9d9de2f Silence command echoing to focus output on errors 2021-07-15 23:01:31 +02:00
980f2f7684 Add format and check targets + integrate into CI 2021-07-15 23:00:33 +02:00
3b1dfb7562 Wire up notifications for failures 2021-07-15 22:29:31 +02:00
0a6ffd48cb Sort vars 2021-07-15 22:27:30 +02:00