Elliot Glaysher
ecbcdf7d00
king: change logging from tracing to info in Wai.hs
...
I noticed that the king's text log file kept filling up, and it's
mostly 'sending chunk "\n"' from eyre. This changes the log level
of every partial send over an active eyre channel to info, instead
of always.
2020-09-05 21:49:23 -04:00
Elliot Glaysher
a42c90db9c
king dawn: export functions used in tests
2020-09-04 17:02:11 -04:00
Elliot Glaysher
74b40e0e52
king dawn: nits
2020-09-04 14:44:26 -04:00
Elliot Glaysher
07089a1c93
king dawn: remove stray marks
2020-09-04 11:01:47 -04:00
Elliot Glaysher
4bd0882e7d
king dawn: instead of crashing, return an error
2020-09-04 10:54:31 -04:00
Elliot Glaysher
4a7e1b2009
king dawn: replace web3 usage with hand rolled jsonrpc messages.
...
This replaces the autogenerated bindings to the Azimuth contracts
which use Network.Web3 with hand rolled json messages. Booting a
ship involved 256 individual galaxy point lookups using web3, while
Vere batched all of that into one JSONRPC message.
With this patch, we also batch everything at each phase into one
JSONRPC batch.
2020-09-03 16:05:08 -04:00
Elliot Glaysher
8255fc0e8c
natpmp: formatting and cleanup old pmp handle
2020-08-20 20:23:25 -04:00
Elliot Glaysher
15f0df81f1
natpmp: when reopening laptop, reestablish a connection to the router.
2020-08-20 15:47:02 -04:00
Elliot Glaysher
88428961dd
natpmp: also detect 172.16.0/0/12 ips as private.
2020-08-19 14:02:03 -04:00
Elliot Glaysher
1401d7bc5c
natpmp: fix error handling and don't die on errors in getpubliaddress
...
This fixes a case where the natpmp async could pure () instead of
recursing, which would lock ames. This also adds some more error
handling on the haskell side of things and disables the raw fprintfs
in the c bindings layer.
2020-08-19 12:53:59 -04: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
6a236a2749
king: use XDG cache directory for default log location
2020-08-17 11:27:30 -07:00
Elliot Glaysher
81e3a8f927
natpmp: cleanups for ~master-morzod
2020-08-17 10:58:48 -04: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
b4878a8b03
natpmp: Separate out the PortThreadMsgs from the heap actions.
2020-08-13 13:36:20 -04:00
Elliot Glaysher
a3336fde41
natpmp: more nits
2020-08-13 11:52:42 -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
pilfer-pandex
36ee3da818
Merge pull request #3267 from urbit/pp/print-http-ports
...
king: eyre: add missing printouts with ports
2020-08-11 22:11:35 -07:00
pilfer-pandex
8e04cd12f0
Merge pull request #3230 from urbit/pp/ames-slow-startup
...
king: ames: add stderr when sending before having turfs
2020-08-10 17:47:43 -07:00
Elliot Glaysher
2e66ae10ec
natpmp: use MonadIO in the bindings to remove unsightly "io $"
2020-08-10 13:15:03 -04:00
Elliot Glaysher
4d8c6ad09a
nat-pmp: improve error and diagnostic messages
2020-08-10 13:02:13 -04:00
pilfer-pandex
556d92107a
king: eyre: add missing printouts with ports
2020-08-09 22:12:44 -07:00
Elliot Glaysher
b7bfa170a9
Merge pull request #3262 from urbit/king-fix-eth
...
king: fix dawn to use the wrapped ethereum server.
2020-08-07 14:31:07 -04:00
Elliot Glaysher
4c4712f4e8
king: fix dawn to use the wrapped ethereum server.
2020-08-07 13:18:16 -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
a3e33644a9
king: port forward ames traffic behind a NAT.
...
Tested with a comet trying to receive traffic from a planet in the
cloud. (h/t ~master-morzod)
2020-08-06 16:26:22 -04:00
pilfer-pandex
1691c984dd
king: ames: add stderr when sending before having turfs
2020-08-06 12:11:36 -07: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
Elliot Glaysher
225d2a288b
king: Add CLI options for NAT traversal.
...
(Not yet hooked up to anything.)
2020-08-04 16:08:35 -04:00
pilfer-pandex
1e995e8f11
king: wtf use getExecutablePath
2020-07-24 21:05:23 -07:00
pilfer-pandex
fc92fd3611
king: use c vere's heuristics for finding the serf binary
2020-07-24 16:31:43 -07:00
Joe Bryan
1953e4e2b3
Merge pull request #3099 from urbit/philip/compact
...
Memory compaction
2020-07-23 14:53:52 -07:00
pilfer-pandex
942e60670e
king: fix ames tests
2020-07-23 13:17:02 -07:00
pilfer-pandex
7eddb89b70
king: it was too clever of me to use stateTVar; compiler can't help
2020-07-22 22:52:46 -07:00
pilfer-pandex
8e14fb8086
king: fix comment about ames q behavior
2020-07-22 22:50:22 -07:00
pilfer-pandex
4c9cbb5d19
king: ames bounded q, now with logging and fifo
2020-07-22 22:48:35 -07:00
pilfer-pandex
3349ea511f
king: fix goshdarn typo
2020-07-21 21:22:08 -07:00
pilfer-pandex
565be3cad6
king: drop ames packets when >1k are unprocessed
2020-07-21 21:15:06 -07:00
Joe Bryan
a580f96416
serf: adds subcommands to urbit-worker
2020-07-21 17:15:11 -07:00
Joe Bryan
2994e0e44e
vere: wires |pack to new compaction; renames old |pack to |cram
2020-07-21 14:10:15 -07:00
Joe Bryan
a53f688d01
vere/serf/king: support timeouts and error response in %peek
2020-06-27 00:12:53 -07:00
Joe Bryan
6fa194d527
Merge branch 'master' into jb/ipc-redux
...
* master: (147 commits)
vere: bump version to 0.10.7
libsigsegv: disable stack vma check
vere: bump version to 0.10.6
ci: add travis as trusted user
jets: use appropriate macro
noun: add -C to control memo cache size
jets: restore fond/play/peek hooks
jam: add commented-out functionality to count size of atom
jets: cap memo cache and remove peek, play, and fond jets
noun: add functions to count size of noun
release: urbit-os-v1.0.23
interface/config: fix production build
soto: run +on-load migration once
publish, links: restore full height
sh/build-interface: amend for SPA
interface/CONTRIBUTING: amend for SPA / webpack
solid: update pill
hood + apps: fix OTA process for feat/SPA
hood: add version %6 for %file-server upgrade
chat: equally size both code + s3 buttons
...
2020-06-26 13:33:00 -07:00
Joe Bryan
db9472dbe2
vere/king: tweaks serf startup args (unconditionally send all)
2020-06-26 12:29:18 -07:00
Joe Bryan
6e9f8ec34b
king: fixes --serf worker-path cli parser
2020-06-26 00:54:29 -07:00
Joe Bryan
81ff98c5d4
vere/king/serf: adds and enables event timeouts
2020-06-26 00:54:29 -07:00
~siprel
57ef4254e4
Merge branch 'khrc' of https://github.com/urbit/urbit into siprel/sigwinch
2020-06-12 18:27:25 +00:00
~siprel
e8e46ee8c4
Merge branch 'master' of https://github.com/urbit/urbit into siprel/sigwinch
2020-06-12 18:19:51 +00: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
849d25044a
king: disable "bullshit scry tester"
2020-06-11 00:32:15 +00:00
~siprel
ba5bd09724
CLI option for serf exe + serf exe/flags live in PierConfig.
2020-06-10 23:56:48 +00:00
~siprel
f0f82d7e14
king: Handle %vega/%exit, %wack on boot, and stop logging secrets.
2020-06-10 22:00:37 +00:00
~siprel
dabe38be0d
In non-daemon mode, initial serf slogs are user-visiable.
2020-06-10 21:17:55 +00:00
~siprel
c721baee7f
king: serf stderr goes to terminals.
2020-06-10 21:03:46 +00:00
~siprel
cefc25cbe1
king: ^C from connected terminals kills current event.
2020-06-10 20:53:55 +00:00
~siprel
b552149610
king: handle tanks that are just a cord.
2020-06-10 20:04:09 +00:00
~siprel
e178ad353d
king: Fix spinner bugs.
2020-06-10 19:25:51 +00:00
~siprel
c57c3023f9
king: Event prioritization and error handling for born events.
2020-06-10 19:22:45 +00:00
~siprel
cc772da03c
king: Urbit.Vere.Pier cleanup.
2020-06-08 23:07:42 +00:00
~siprel
528e1d29ff
king: Separate out urbit-eventlog-lmdb package.
2020-06-08 22:01:28 +00:00
~siprel
957f14ee40
king: Minor cleanup.
2020-06-08 21:22:04 +00:00
~siprel
1f4c823d92
king: Separate package for racquire
+ small cleanup.
2020-06-08 20:23:30 +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
a88849743c
king: Module re-org in prepraration for new IO-Driver interface.
2020-06-08 01:19:43 +00:00
~siprel
21975cf929
King: Fixed a few bugs.
2020-06-07 23:35:54 +00:00
~siprel
6ab2d78d7b
king: Progress bars on replay.
2020-06-07 00:26:59 +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
45d7ac6150
king: Cleanup date serialization and move to Urbit.Time.
2020-06-05 16:20:21 +00:00
~siprel
54acebb0c5
Got bulshit scry working and hooked up replay progress callback.
2020-06-04 23:49:56 +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
28f464fc42
king: Each event comes with error callback, but all do nothing for now.
2020-06-02 20:48:07 +00:00
~siprel
61bdb3cac0
king: Re-Implemenet collectFX and log events as passed to the serf.
2020-06-01 21:31:24 +00:00
~siprel
75b97d9e60
Docs and cleanup for Urbit.Vere.Serf.IPC
.
2020-06-01 17:51:37 +00:00
~siprel
a4f5ea2e2f
king: Urbit.Vere.King.IPC cleanup + handle scry/pack.
2020-05-31 22:43:34 +00:00
~siprel
2f852c2e9f
king: Remove GoodParse
hack in newRunCompute
.
2020-05-31 22:04:56 +00:00
Benjamin Summers
47247d86d2
Merge branch 'khrc' of github.com:urbit/urbit into ipc-redux-kh
2020-05-29 17:15:16 -07:00
Benjamin Summers
3c0db10703
king: Get tests to compile.
2020-05-29 15:57:35 -07:00
~siprel
7ece09c0d1
king: Cleanup IPC batching in swimming
flow.
2020-05-29 20:16:37 +00:00
~siprel
ba440c8e3a
king: Make sure spinner callbacks are handled correctly from serf.
2020-05-29 19:20:53 +00:00
~siprel
bc35ec0406
king: IPC Batching during replay and normal operation.
2020-05-29 02:14:25 +00:00
~siprel
80b905c239
king: Slogs routed to both terminal and log output.
2020-05-28 18:56:51 +00:00
~siprel
d8f90ead07
king: Misc Small Cleanup.
2020-05-28 18:21:43 +00:00
~siprel
ca13d3f79b
king: Better handling of edge-cases around IPC failure.
2020-05-28 00:08:53 +00:00
~siprel
8e78266d74
king: Review and Cleanup w/ Harrison
2020-05-27 22:57:34 +00:00
~siprel
1f64a528cd
king: Handle replacement events correctly (dont try to parse them).
2020-05-27 00:08:07 +00:00
~siprel
26bd5a9e4b
king: Got new IPC working, still needs lots of polish.
2020-05-26 23:01:03 +00:00
Benjamin Summers
c5896f5ea0
HasKingEnv + HasPierEnv + misc cleanup
2020-05-22 11:37:58 -07:00
~siprel
e10d8ab9cb
king: Fleshed out some IPC flows for new protocol.
2020-05-21 22:42:00 +00:00
Benjamin Summers
0b2c78e24b
king: Skecthed out lowest layer of new IPC protocol.
2020-05-20 17:35:33 -07:00
Joe Bryan
0d4b0f6e30
WIP kh ipc protocol
2020-05-20 14:20:01 -07:00
Benjamin Summers
419dc03727
RIO environment cleanup.
2020-05-13 12:55:16 -07:00
Benjamin Summers
097259de66
king: Use random numbers for request IDs.
2020-05-13 12:06:55 -07:00
Benjamin Summers
66278edd19
king: Logging cleanup.
2020-05-13 12:06:32 -07:00
Benjamin Summers
ba4b9e7fdf
king: Use same logger from all contexts.
2020-05-13 11:29:50 -07:00
Benjamin Summers
b749017564
king: eyre: [WIP] Got multi-tenet HTTPS working.
2020-05-12 17:33:55 -07:00
Benjamin Summers
4ebf276430
king: Flags to disable HTTP/HTTPS/UDP per-ship.
2020-05-12 16:55:49 -07:00
Benjamin Summers
ba705694bd
king: eyre: [WIP] Got multi-tenet HTTPS working.
2020-05-12 15:43:19 -07:00
Benjamin Summers
67245e9052
king: eyre: Got multi-tenet HTTP working.
2020-05-12 12:53:40 -07:00
Benjamin Summers
f8cd148f0e
king: eyre: Hooked up multi-tenet HTTP. Start-up is a bit hacky. Still totally untested.
2020-05-12 12:04:46 -07:00
Benjamin Summers
965f599788
king: eyre: Finished multi-tenet HTTP flow (not yet started by king).
2020-05-11 12:51:51 -07:00
Benjamin Summers
c1454b1366
king: Finish factoring out HTTP server lifecycle from Eyre.
2020-05-10 15:27:02 -07:00
Benjamin Summers
37855fd704
king: Factor out HTTP server lifecycle from Eyre + impl multi-tenet HTTP.
2020-05-09 13:01:47 -07:00
Benjamin Summers
4b6c2c6ce0
king: Renamed %eyre modules.
2020-05-08 11:29:18 -07:00
Benjamin Summers
5ba113b499
Begin factoring out Raw HTTP logic from Eyre.
2020-05-07 17:38:27 -07:00
Benjamin Summers
36ca949317
king: Factored out DNS flow from Ames driver.
2020-05-07 14:15:32 -07:00
Benjamin Summers
21dcddc65b
king: Factored out UDP flow from Ames driver.
2020-05-05 16:18:29 -07:00
Benjamin Summers
47bf14f0f2
king: Further sketch of shared http.
2020-05-05 10:29:36 -07:00
Benjamin Summers
cb6d1c0f7f
king: Started implementing multi-tenet HTTP.
2020-05-05 10:29:33 -07:00
Benjamin Summers
eec02ebaa3
king: CLI parsing for ship-shared HTTP(S) server.
2020-05-05 10:29:31 -07:00
Benjamin Summers
e56e538ff3
Correctly shutdown on SIGTERM/SIGINT (fixing bad exception handling code).
2020-05-01 15:32:08 -07:00
Benjamin Summers
80d900d542
king: First stab at handling ship crashes gracefully.
2020-05-01 14:42:05 -07:00
Benjamin Summers
98bbd7364d
Merge branch 'master' of github.com:urbit/urbit into two-ship-king
2020-04-30 14:51:47 -07:00
Benjamin Summers
5bc5819a62
king: Support running multiple ships at the same time.
2020-04-30 14:51:28 -07:00
Benjamin Summers
43118dbae3
king: Command Line Parsing for multi-tenet king.
2020-04-30 14:21:24 -07:00
ixv
b383037a8f
Merge pull request #2830 from urbit/king-https-fix
...
Get HTTPS working in King Haskell.
2020-04-30 13:08:13 -07:00
Benjamin Summers
f66405615f
king: Split cert from urbit into cert+chain before giving to warp (HTTP Server library).
2020-04-30 12:13:14 -07:00
Benjamin Summers
75f60504ee
king: In http-server/set-config effect, key+cert is Wain, not Cord.
2020-04-30 11:18:23 -07:00
Benjamin Summers
ecf4545d84
king: don't parse crud events, just treat them as nouns.
2020-04-28 11:40:43 -07:00
Elliot Glaysher
81fb798bfb
king: handle IOError from recvFrom in ames.
...
This is an attempt to fix the ames driver so that it reestablishes
a socket after a socket error. This should theoretically fix the
"ames dcoesn't work after computer sleeps" issue, so that when the
os closses a socket, we detect this in waitPacket and attempt to
reestablish the socket.
Closes #2190
2020-04-08 13:33:33 -07:00
Benjamin Summers
4d95cf7778
urbit-king: urbit urbit-termsize
library.
2020-03-23 13:35:50 -07:00
Benjamin Summers
a52aca28a6
urbit-king: Library for getting current terminal size (SIGWINCH).
2020-03-23 13:35:18 -07:00
Benjamin Summers
5bf82f46c2
urbit-atom: Cleanup
2020-03-18 12:38:48 -07:00
Benjamin Summers
3c568c8e4c
urbit-atom: Wrote tests and fixed an edge-case.
2020-03-11 19:19:38 -07:00
Benjamin Summers
237774adc5
king: Slight CLI cleanup and fix test build.
...
Forgot to add `hidden` to http options. Without this, they show up on
the summary line in `king run --help`.
2020-03-04 19:18:00 -08:00
Benjamin Summers
2dc97293cc
king: Add command-line flags to configure HTTP and HTTPS ports.
2020-03-04 19:13:21 -08:00
Benjamin Summers
957c0da9bb
king: Terminal input line wasn't being shown b/c line buffering.
2020-02-20 14:41:07 +04:00
Benjamin Summers
e1f6db7250
king: Remove TERMINFO_DIRS hack.
2020-02-20 14:41:07 +04:00
Benjamin Summers
9d2d6c42c6
king: First stab at removing terminfo dependency.
2020-02-20 14:41:07 +04:00
Benjamin Summers
a318462836
king: New dependency: ansi-terminal
2020-02-20 14:41:06 +04:00
Benjamin Summers
3b1bd6600a
king: Factored all terminal rendering logic into its own module.
2020-02-20 14:41:03 +04:00
Benjamin Summers
3b42c5412f
Fix counting bug in event log replay.
2020-02-05 15:20:32 -08:00
Isaac Visintainer
98fa24908a
fix progress bar in daemon mode
2020-02-03 17:27:16 -08:00
Isaac Visintainer
e25d30163d
Merge branch 'king-haskell' of https://github.com/urbit/urbit into king-auto-connect
2020-02-03 14:23:44 -08:00
Benjamin Summers
05e64cfdf0
Merge branch 'king-haskell' of https://github.com/urbit/urbit into philip/king-replay
2020-01-25 14:18:33 -08:00
Philip Monk
18a279aeaf
king: style improvements
2020-01-24 16:25:49 -08:00
Benjamin Summers
c40a02b044
king: Build without warnings.
2020-01-23 22:23:43 -08:00
Benjamin Summers
dd29419f41
Merge branch 'king-haskell' into philip/king-replay
2020-01-23 21:47:06 -08:00