Commit Graph

255 Commits

Author SHA1 Message Date
Brian Picciano
3d6ed8604a Add ability to sign nebula public keys, and show nebula network info
The new commands are:

- `isle admin create-nebula-cert`
- `isle nebula show`

Between these two commands it's possible, with some effort, to get a
nebula mobile client hooked up to an isle server.
2023-08-27 16:09:03 +02:00
Brian Picciano
661e2b28cb Move go code into 'go' tld, to make organization clearer 2023-08-25 15:19:31 +02:00
Brian Picciano
b5e8ad274e Add AGPLv3 license 2023-08-25 14:16:52 +02:00
Brian Picciano
633c7147b1 Fix create host docs 2023-08-13 16:37:37 +02:00
Brian Picciano
6480f6c843 Fix global shared bucket name to conform to S3 naming standards 2023-08-13 16:14:59 +02:00
Brian Picciano
fafd711b1b Fix doc generation, remove cryptic references from plantuml 2023-08-13 15:51:06 +02:00
Brian Picciano
9fa32749b9 Remove old cryptic references completely, fuck it 2023-08-13 15:43:33 +02:00
Brian Picciano
b7fb1d9c0a Complete in-code changes required by rename 2023-08-07 22:12:51 +02:00
Brian Picciano
3d7651208f Perform all in-code renames which don't affect actual functionality 2023-08-05 23:53:17 +02:00
Brian Picciano
2b9601f031 Renaming in AppDir and documentation 2023-08-05 16:56:34 +02:00
Brian Picciano
4e3847ea84 cryptic-io org has been renamed to micropelago 2023-07-06 17:51:38 +02:00
Brian Picciano
257b961459 Gateway doc 2023-04-24 21:31:59 +02:00
Brian Picciano
a1b3ff71b3 Use entrypoint directly as AppRun
This removes the intermediate bash script which was running, which
_potentially_ fixes #2.

Since that bash script is no longer setting PATH, the daemon must
manually create the binary path for each sub-process anyway.
2023-04-23 16:30:47 +02:00
Brian Picciano
57f63750f3 Fix appimagetool build 2023-04-12 01:58:52 +02:00
Brian Picciano
1180540ce3 Make sure we can use nix cache for non-cross-compiling 2023-03-25 17:05:29 +01:00
Brian Picciano
3a3bd56295 Implement release script 2023-03-25 15:58:20 +01:00
Brian Picciano
e9190e4dbb Allow injecting bootstrap again, plus some additions to version 2023-02-15 15:09:31 +01:00
Brian Picciano
94c6ad8774 Fix up some TODOs 2023-02-15 14:58:47 +01:00
Brian Picciano
8e800951a6 Remove sources from flake, everything is defined in default.nix now
This includes re-adding the garage build ourselves, rather than using
their flake.
2023-02-15 13:56:22 +01:00
Brian Picciano
b7d49bff5b Allow building from either flake or nix-build 2023-02-15 12:04:56 +01:00
Brian Picciano
1354c96ba9 Accidentally left flake building garage rather than full appimage 2023-01-29 19:08:16 +01:00
Brian Picciano
a8856fba99 Update docs a bit in light of the new architectures 2023-01-29 19:01:58 +01:00
Brian Picciano
1379291c1e Got flake set up for cross-compilation, but it still doesn't work 2023-01-29 18:57:55 +01:00
Brian Picciano
05f9064d10 Update nixpkgs, add appimagetool for other archs 2023-01-29 15:31:11 +01:00
Brian Picciano
5061fb5670 Update appimagetool-ing to something which can theoretically be used on other architectures 2023-01-28 22:57:06 +01:00
Brian Picciano
17fb9bbd77 Add a flake.nix
I spent some time trying to get compilation on non-x86_64 systems
possibly working, but we're currently limited by AppImage, which doesn't
want to work properly.
2023-01-28 20:43:09 +01:00
Brian Picciano
1dc22701cd Write rpc_port file to garage meta dir
This file is then used in later startups when determining the rpc port,
thus preventing the user from changing the port by accident.
2023-01-17 20:31:22 +01:00
Brian Picciano
ca003eaf85 Improve version sub-cmd output 2022-11-22 12:57:27 +01:00
Brian Picciano
e96fccae1b Upgrade to garage v0.8.0, plus a commit to fix panics
We were encountering panics (see
https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/414). The new garage
commit is simply 0.8.0 plus the fix for that issue.
2022-11-22 12:51:24 +01:00
Brian Picciano
0a6516b44e Add release target in nix 2022-11-16 17:45:13 +01:00
Brian Picciano
03ab15902c Update docs for storage allocs in daemon.yml 2022-11-16 17:30:55 +01:00
Brian Picciano
53194614df Switch to using camelCase for logs 2022-11-16 17:27:42 +01:00
Brian Picciano
2181da14a1 Added some debug logging, ultimately not needed 2022-11-16 17:25:55 +01:00
Brian Picciano
b498ee271d Don't divide layout capacity by 100
See discussion in
https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/414. Apparently the
capacity is only relative to that of other instances in the layout, it
has no absolute value of its own. We can say it corresponds to GB for
ease-of-use, but garage doesn't see it that way.
2022-11-16 15:51:13 +01:00
Brian Picciano
877e519821 Apply garage layout prior to putting bootstrap 2022-11-15 20:11:47 +01:00
Brian Picciano
b1fa3be970 Fix garage mc not getting default secret key set correctly 2022-11-13 20:14:16 +01:00
Brian Picciano
739e88d6c9 Add secret ability to specify zone 2022-11-13 20:09:03 +01:00
Brian Picciano
da100c6170 Fix garage Wait method not sleeping properly between tries 2022-11-13 16:49:23 +01:00
Brian Picciano
629a8ec9b2 Improve logging, introduce log levels
I switched to using mlog for logging, as opposed to writing directly to
Stderr. This gives us control over log levels, as well as coordination
so that we don't have multiple go-routines writing to stderr at the same
time.
2022-11-13 16:45:42 +01:00
Brian Picciano
90a30bef5e Fix startup sequence for daemon
Putting bootstrap host data into garage, and applying garage layout
diff, no longer happen simultaneously in the background. This was
causing some weird non-determinism in the startup which wasn't really
breaking anything, but made the logs harder to debug.

This also potentially fixes `waitForGarageAndNebula`, which was
neglecting to wait for nebula if there were allocations defined.
2022-11-13 14:55:25 +01:00
Brian Picciano
838c548706 Fix random bugs related to using garage cli tools 2022-11-08 14:54:31 +01:00
Brian Picciano
c4b7abbcc4 Add documentation related to firewalls 2022-11-05 17:16:25 +01:00
Brian Picciano
97d4aacc15 Make output of hosts list more useful 2022-11-05 16:55:17 +01:00
Brian Picciano
0d7d69679f Rename to make-bootstrap to create-bootstrap 2022-11-05 16:41:14 +01:00
Brian Picciano
4bc0750797 Adjust .gitignore after change to yml 2022-11-05 16:32:26 +01:00
Brian Picciano
d916d1a630 Fix dnsmasq config 2022-11-05 16:25:24 +01:00
Brian Picciano
a153911948 Forgot to write bootstrap to data dir during reload 2022-11-05 16:21:49 +01:00
Brian Picciano
0b094f057e Fix how host object is initialized during daemon startup 2022-11-05 15:50:04 +01:00
Brian Picciano
ffd276bd3e Refactor how nebula certs are signed and propagated
I had previously made the mistake of thinking that the Curve25519 key
which is generated for each host to use in nebula communication could
also be used for signing. This is not the case, Ed25519 is used for
signing and is different thant Curve25519.

Rather than figuring out how to convert the Curve25519 key into an
Ed25519 key, which there is no apparent support for in the standard
library, I opted to instead ship a separate key just for signing with
each host. Doing this required a bit of refactoring in order to keep all
the different keys straight and ensure all data which needs a signature
still has it.
2022-11-05 15:23:29 +01:00
Brian Picciano
e9ac1336ba Small fixes to documentation and various small bugs 2022-11-05 13:57:21 +01:00