Commit Graph

68 Commits

Author SHA1 Message Date
Roxie Gibson dfc91a86a1
feat: WIP server rm command
continuous-integration/drone/push Build is passing Details
2021-07-22 17:38:44 +01:00
Roxie Gibson dd86ec4ca8
refactor: client pkg with new context interaction
continuous-integration/drone/push Build is passing Details
2021-07-22 15:31:43 +01:00
decentral1se fce1ab6c02
refactor: better naming for loop scoped variables
continuous-integration/drone/push Build is passing Details
2021-07-22 14:53:08 +02:00
decentral1se 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
decentral1se 56cec1580a
refactor: use app-less naming for this struct also
continuous-integration/drone/push Build is passing Details
2021-07-22 14:25:37 +02:00
Roxie Gibson ebfdb504ce
docs: updated todo
continuous-integration/drone/push Build is passing Details
2021-07-22 12:49:08 +01:00
Roxie Gibson fc7dade6f8
feat: server add command
continuous-integration/drone/push Build is passing Details
Interacts with and stores infomaton in the docker store at ~/.docker

Equivalent to docker context add
2021-07-22 12:48:14 +01:00
Roxie Gibson 5e94050865
refactor: forgot there is a function in docker src
continuous-integration/drone/push Build is passing Details
2021-07-22 10:19:05 +01:00
Roxie Gibson fe86b50ee3
refactor: actual context getting
continuous-integration/drone/push Build is passing Details
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 Details
Reviewed-on: #10
2021-07-21 22:44:50 +02:00
decentral1se 1f6c0e8c4b
feat: support local apps.json loading
continuous-integration/drone/pr Build is passing Details
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 #9.
2021-07-21 22:42:51 +02:00
Roxie Gibson 6b370599fa
refactor: simplified sort of app names
continuous-integration/drone/push Build is passing Details
2021-07-21 17:12:35 +01:00
Roxie Gibson 9216cc5d6a
refactor: simplifing range statement
continuous-integration/drone/push Build is passing Details
2021-07-21 16:36:46 +01:00
decentral1se 53576dc916
Revert "style: add missing type marker"
continuous-integration/drone/push Build is passing Details
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 Details
Reviewed-on: #8
2021-07-21 13:30:14 +02:00
decentral1se 302ebcb394
feat: add recipe ls command
continuous-integration/drone/pr Build is passing Details
2021-07-21 13:28:46 +02:00
Roxie Gibson 0242dfcb0f
fix: multiline vars can now be read using fork
continuous-integration/drone/push Build is passing Details
2021-07-21 12:05:50 +01:00
Roxie Gibson 29971c36a0
refactor: moved all fatal errors to logrus
continuous-integration/drone/push Build is passing Details
This will allow us to test commands that would normally exit
2021-07-21 09:04:34 +01:00
Roxie Gibson 2158dc851c
test: makefile now runs all tests recursively
continuous-integration/drone/push Build is passing Details
2021-07-21 08:56:53 +01:00
Roxie Gibson a36e80db99
fix: fixing domain being required.
continuous-integration/drone/push Build is passing Details
Fixes gitea issue #5
2021-07-21 08:38:13 +01:00
Roxie Gibson b0c241ae98
bulid: added build-dev option
continuous-integration/drone/push Build is passing Details
this otion does no optimisations in the compile (removing debug stuff)
2021-07-21 08:20:17 +01:00
decentral1se a74d214121
docs: use hyphen shortname and trim message
continuous-integration/drone/push Build is passing Details
2021-07-21 00:19:06 +02:00
decentral1se e064f18730
style: add missing type marker
continuous-integration/drone/push Build is passing Details
2021-07-21 00:17:16 +02:00
decentral1se 7b2100c568
feat: add version command
continuous-integration/drone/push Build is passing Details
2021-07-20 23:59:47 +02:00
decentral1se c9ba7aef20
build: reduce binary size with optimisation flags
continuous-integration/drone/push Build is passing Details
Part of #4.
2021-07-20 22:45:49 +02:00
Roxie Gibson 16514b3151
feat: implemented type & servers flags in `app ls`
continuous-integration/drone/push Build is passing Details
2021-07-20 13:00:03 +01:00
decentral1se 635c6d6080
test: integrate new test target into CI build
continuous-integration/drone/push Build is passing Details
2021-07-19 15:50:16 +02:00
Roxie Gibson dee013e4e4
test: added makefile entry for running tests
continuous-integration/drone/push Build is passing Details
2021-07-19 14:38:19 +01:00
Roxie Gibson a60ebf8710
tests: around 60% code coverage for config package
continuous-integration/drone/push Build is passing Details
2021-07-19 14:36:00 +01:00
Roxie Gibson cfe2f70151
refactor: moving logging to command functions
easier to unit test our util commands like this
2021-07-19 12:47:46 +01:00
Roxie Gibson bd9bc530d1
faet: a draft version of the app ls command
continuous-integration/drone/push Build is passing Details
2021-07-19 08:37:00 +01:00
Roxie Gibson f7059dbe98
refactor: filesystem io 2021-07-19 07:04:37 +01:00
Roxie Gibson 8c5e25bd01
chore: updated gitignore; added vscode settings 2021-07-19 06:57:50 +01:00
Roxie Gibson 6caa176308
WIP: Enviroment file loading and config management
continuous-integration/drone/push Build is passing Details
2021-07-18 10:49:31 +01:00
Roxie Gibson 7d5db5fee1
docs: updated todo
continuous-integration/drone/push Build is passing Details
2021-07-18 06:41:19 +01:00
Roxie Gibson 37c06c82bf
feat: added error to GetContextEndpoint
continuous-integration/drone/push Build is passing Details
this ill make the progam not fail if there is a non-docker swarm context
2021-07-18 06:34:22 +01:00
Roxie Gibson 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
Roxie Gibson 38f610bdec
feat: abra server ls
continuous-integration/drone/push Build is passing Details
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
Roxie Gibson e13948f37e
docs: added todo list for the port 2021-07-18 04:10:14 +01:00
Roxie Gibson d1f7e8011d
refactor: Moved table function to fornatter
Makes more sense for it to be in there
2021-07-18 03:24:48 +01:00
Roxie Gibson 2134f57dd0
WIP: Messy code that is mostly just testing
continuous-integration/drone/push Build is passing Details
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
Roxie Gibson 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
Roxie Gibson b9e06f2310
feat: added util formatting for the cil 2021-07-17 09:27:52 +01:00
Roxie Gibson be46695d82
feat: added flags to base command
they already exist just attatching them to the command
2021-07-17 05:11:48 +01:00
Roxie Gibson ae68f3aa95
chore: go mod tidy for dependancy
continuous-integration/drone/push Build is passing Details
2021-07-17 04:35:43 +01:00
Roxie Gibson 5e1b076bf9
feat: very basic context management
continuous-integration/drone/push Build is passing Details
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
decentral1se c65ae974dd
Add experimental staticcheck into linting CI
continuous-integration/drone/push Build is passing Details
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
decentral1se 9b8f16345c
Add a Go report card badge
continuous-integration/drone/push Build is passing Details
2021-07-15 23:35:43 +02:00
decentral1se 4884c14ab3
Can't sort this as VERSION is not defined then
continuous-integration/drone/push Build is passing Details
2021-07-15 23:26:47 +02:00
decentral1se a9d9d9de2f
Silence command echoing to focus output on errors
continuous-integration/drone/push Build is passing Details
2021-07-15 23:01:31 +02:00