Commit Graph

78 Commits

Author SHA1 Message Date
Fang
28df07313c
kh: improve code style
Based on PR feedback. Better naming, NOTE style, and increased purity.
2021-09-01 16:57:30 +02:00
fang
f8d5a1644c
kh: improve naming and code style 2021-06-17 14:48:09 +02:00
fang
3b81e35260
dawn: better multikey format
Improves the multikeyfile format by taking a single ship and a list of
life+key pairs, instead of a list of full seeds.

Also decouples these changes from the dawn event, once again putting a
single seed into it. In the multikeyfile case, keys are injected as
%rekey events to jael near the end of the boot sequence.

Haskell-side changes may or may not be incomplete, boot presently fails
at some unknown point with what looks like a noun conversion error.
2021-06-04 01:49:15 +02:00
fang
cc362b27c9
kh: support multikeyfiles 2021-06-03 01:04:45 +02:00
pilfer-pandex
1a39dac437 king: address joe on fds/seppuku 2021-03-21 21:27:50 -04:00
pilfer-pandex
72f0201de3 king: missing changes in Main, plus setrlimit for fds 2021-03-16 21:49:44 -04:00
pilfer-pandex
fbe13d411d king: elim zigzag in --stderr (still interlacing) 2021-01-21 14:55:03 -08:00
pilfer-pandex
29cc12d206 king: various fixes and improvements 2020-12-18 17:00:56 -08:00
Elliot Glaysher
15d2c18368
Merge pull request #3809 from urbit/kh-specify-eth-node
king: port the '-e' option to specify ethereum node endpoint.
2020-10-30 20:06:00 -04:00
Joe Bryan
bafa1ef7f5
Merge pull request #3806 from urbit/release/next-ci
build: migrate to hercules ci, haskell.nix, and upgrade to ghc 8.8.4
2020-10-30 14:33:26 -07:00
Elliot Glaysher
b3c145ee35 king: port the '-e' option to specify ethereum node endpoint. 2020-10-27 14:01:59 -04:00
Brendan Hay
de17409fd6
king: various warning and -Werror related fixes
This also removes -Werror from racqure due to the sheer number
build failures arising from compiler warnings.
2020-10-27 14:28:08 +01:00
Elliot Glaysher
61af5b104e king: patch cleanup 2020-10-22 10:53:28 -04:00
Elliot Glaysher
04ab7b5eb6 king: implement -I and --inject-event-list
This makes it so during `run`, you can inject a series of Events
into your Urbit. The `-I` injection was implemented in Vere, and
has been ported to KH, with the extended `--inject-event-list`
flag which handles a jammed list of events.

Also included is a sample generator which builds a list of events.
2020-10-21 14:39:35 -04:00
Elliot Glaysher
16b3edfbd0 king: derive +code from Ring and print login +code on startup
We need to be able to programatically get the +code outside of
Urbit, so add an implementation of the derivation in king haskell.
2020-10-15 13:17:43 -04:00
Elliot Glaysher
5eeb86a935 king: actually try shutting down the piers 2020-10-07 13:00:05 -04:00
Elliot Glaysher
ce92c405fe king: --serf="" is a host option, not a per ship option.
This means you don't need to specify this per ship in a multitenant
environment when you are alwyas going to set it to the same binary
if you're overriding it in the first place.
2020-10-07 13:00:00 -04:00
Elliot Glaysher
4698659bb2
Merge pull request #3575 from urbit/kh-printing-is-a-slog
King Haskell terminal fixes
2020-10-01 12:14:30 -04:00
Elliot Glaysher
e9f09e32c1 king: put slogs in the muxed scrollback
If you connect to an urbit using the remote terminal code,
slogs would not be printed to them since they were hard
coded to be printed to stderr. This threads slog printing
to the terminal driver, and puts them in scrollback.

(It does not actually fix slogs being printed on one line.)
2020-09-25 12:40:23 -04:00
Fang
6659c859f1
kh: abolish unicode syntax in favor of ascii 2020-09-25 01:43:03 +02:00
pilfer-pandex
ba79aa713a king: move most things from debug log level to info 2020-09-09 18:20:21 -07:00
Elliot Glaysher
60e2ae02a2 natpmp: cleanup by using a tristate 2020-08-18 15:43:31 -04:00
Elliot Glaysher
dca4344a45 natpmp: By default, only try to talk to the router on private ips.
Since startup hangs for seconds when you are not behind a router,
but still attempt to ask one to open ports for you, by default,
only try to contact the router if the local ip is 192.168.*.* or
10.*.*.*.

Also make port forwarding force on/off.
2020-08-18 12:22:45 -04:00
pilfer-pandex
750b986370 Merge branch 'release/next-vere' into pp/log-cli
Rename `koUseNatPmp` to `hUseNatPmp`; cleanup
2020-08-17 11:43:30 -07:00
pilfer-pandex
2d1f3cdfa0 king: thread LogLevel through, make output better 2020-08-16 10:33:52 -07:00
pilfer-pandex
8ab60b9133 king: configure logging via cli flags 2020-08-14 19:40:48 -07:00
Elliot Glaysher
1b3a69e24d
Merge branch 'release/next-vere' into king-natpmp 2020-08-14 16:17:47 -04:00
Elliot Glaysher
14d1b59117 natpmp: even more cleanup 2020-08-14 10:23:39 -04:00
Elliot Glaysher
1183ac0b22 natpmp: checkpoint while addressing comments 2020-08-13 11:12:26 -04:00
Elliot Glaysher
ac4b5a99e5 natpmp: Rename RunningEnv to HostEnv. 2020-08-13 10:19:35 -04:00
Elliot Glaysher
3e6fd0f8e8 natpmp: ~pilfer style nits 2020-08-13 10:08:02 -04:00
Elliot Glaysher
4d8c6ad09a nat-pmp: improve error and diagnostic messages 2020-08-10 13:02:13 -04:00
Elliot Glaysher
149565cd97 king: get tests passing after nat-pmp changes 2020-08-07 13:04:57 -04:00
Elliot Glaysher
6368aa2b02 king: Turn NAT-PMP on by default, with a flag to disable.
Also: error checking.
2020-08-07 12:42:00 -04:00
Elliot Glaysher
86b445b7cb king: First attempt at integration with NATPMP.
This sets up a separate thread to handle scheduling of lease
renewals.
2020-08-05 15:33:37 -04:00
Elliot Glaysher
d39d7246d1 king: move MultiEyreApi to a new RunningEnv.
There was a TODO in runShips about how the different layers of the
RIO environment had to be changed, so that there was a layer between
KingEnv and PierEnv for things shared between individual Piers, but
which weren't used outside of any PierEnv. This addresses those
TODOs by creating RunningEnv, which for now just owns MultiEyreApi
and makes it so we don't have to pass the entire thing around
explicitly.

The IP handling stuff will go in RunningEnv in a following patch.
2020-08-04 16:56:32 -04:00
pilfer-pandex
fc92fd3611 king: use c vere's heuristics for finding the serf binary 2020-07-24 16:31:43 -07:00
~siprel
2f02a6d0e6 king: Command line flag to enable verbose logging. 2020-06-11 02:07:10 +00:00
~siprel
eb81f5ca14 Less verbose log output. 2020-06-11 02:02:53 +00:00
~siprel
ba5bd09724 CLI option for serf exe + serf exe/flags live in PierConfig. 2020-06-10 23:56:48 +00:00
~siprel
dabe38be0d In non-daemon mode, initial serf slogs are user-visiable. 2020-06-10 21:17:55 +00:00
~siprel
528e1d29ff king: Separate out urbit-eventlog-lmdb package. 2020-06-08 22:01:28 +00:00
~siprel
ff646f4830 king: Snapshot on shutdown; no snapshot on start if no events to replay. 2020-06-08 17:45:41 +00:00
~siprel
ba50eb94cd king: Spin off urbit-noun-core and urbit-noun packages. 2020-06-08 17:24:05 +00:00
~siprel
95df4b0764 king: Pier cleanup pass. 2020-06-06 23:34:27 +00:00
~siprel
648b0743c8 king: Shutdown TMVars now live in KingEnv/PierEnv. 2020-06-06 23:16:34 +00:00
~siprel
bd51337156 king: In non-daemon-mode, ^D now actually brings down the executable. 2020-06-06 21:33:15 +00:00
~siprel
3838cf8abb ^C brings king/serf down cleanly and promptly. 2020-06-04 21:10:33 +00:00
~siprel
45f475a178 king: snapshot requests block until event log catches up to serf. 2020-06-02 23:03:04 +00:00
~siprel
75b97d9e60 Docs and cleanup for Urbit.Vere.Serf.IPC. 2020-06-01 17:51:37 +00:00