Proto commits in gate-computer/gate

These 76 commits are when the Protocol Buffers files have changed:

Commit:78bfb43
Author:Timo Savola
Committer:Timo Savola

Use multiple Go modules to avoid dependencies in core

The documentation is generated from this commit.

Commit:b3c5436
Author:Timo Savola
Committer:Timo Savola

Web API: rename ModuleInfo.id as module

Commit:ed4ff93
Author:Timo Savola
Committer:Timo Savola

Refactor data structures, tracing etc.

Commit:b61a6a6
Author:Timo Savola

gRPC service support merged from separate repository

Commit:8c7ebdf
Author:Timo Savola

gate.computer: Go module

Commit:2a428af
Author:Timo Savola
Committer:Timo Savola

gRPC service support moved to gate.computer/grpc

Commit:8661bcb
Author:Timo Savola

Commit:975e840
Author:Timo Savola
Committer:Timo Savola

Upgrade wag CallMap includes all trap addresses. DebugInfo flag is removed from APIs.

Commit:daf8b9e
Author:Timo Savola

Move internal packages around

Commit:023c262
Author:Timo Savola

Refactor Protocol Buffers

Commit:c99f8aa
Author:Timo Savola
Committer:Timo Savola

Refactor error internals and server events

Commit:d7e577a
Author:Timo Savola
Committer:Timo Savola

Use standard Protocol Buffers indentation style

Commit:9d57412
Author:Timo Savola
Committer:Timo Savola

Add gRPC codes to error types

Commit:fb106cf
Author:Timo Savola
Committer:Timo Savola

Refactor Server and Instance interfaces

Commit:af36a21
Author:Timo Savola
Committer:Timo Savola

server: rename detail.Context as api.Meta

Commit:56b65ed
Author:Timo Savola

server: make InvokeOptions a protobuf

Commit:b98ad9d
Author:Timo Savola
Committer:Timo Savola

server/monitor: remove

Commit:53d94d9
Author:Timo Savola

Upgrade wag, with section-related refactoring

Commit:ab20224
Author:Timo Savola
Committer:Timo Savola

internal/manifest: remove unused init_routine field

Commit:267dd94
Author:Timo Savola
Committer:Timo Savola

user-friendly scope specification system

Commit:05b9719
Author:Timo Savola
Committer:Timo Savola

server/web: ConnectionStatus with Input hint

Commit:55659a9
Author:Timo Savola
Committer:Timo Savola

server API refactoring

Commit:237a20e
Author:Timo Savola
Committer:Timo Savola

server/web: Origin header check

Commit:20b3bce
Author:Timo Savola

service/grpc: simplify API

Commit:8853fdc
Author:Timo Savola
Committer:Timo Savola

all service methods may return errors

Commit:78e002f
Author:Timo Savola
Committer:Timo Savola

service/grpc: support instance UUID

Commit:e6ddf0e
Author:Timo Savola
Committer:Timo Savola

gRPC service support

Commit:d0b5a3b
Author:Timo Savola
Committer:Timo Savola

Google's protobuf package replaces gogo/protobuf

Commit:f109e15
Author:Timo Savola
Committer:Timo Savola

server/api <- serverapi

Commit:37eb9b1
Author:Timo Savola
Committer:Timo Savola

simplify debug breakpoints API

Commit:ea18833
Author:Timo Savola
Committer:Timo Savola

longer Protocol Buffers package names

Commit:5afb3aa
Author:Timo Savola
Committer:Timo Savola

gate.computer/gate

Commit:1f1c4db
Author:Timo Savola
Committer:Timo Savola

server: debug: include module in all responses

Commit:9a58083
Author:Timo Savola
Committer:Timo Savola

image: library checksum and text revision

Commit:8ac2be7
Author:Timo Savola

server: remove debug string option

Commit:64d5343
Author:Timo Savola
Committer:Timo Savola

preliminary instance loading work

Commit:c2f6e17
Author:Timo Savola
Committer:Timo Savola

debugging support for server and snapshots

Commit:f733211
Author:Timo Savola
Committer:Timo Savola

image, snapshot: breakpoint support

Commit:a861e50
Author:Timo Savola
Committer:Timo Savola

build, image, snapshot: Snapshot struct

Commit:29ddb59
Author:Timo Savola

principal refactoring, with scope support

Commit:69f0a74
Author:Timo Savola
Committer:Timo Savola

server, webapi: program id <- key

Commit:e6807cc
Author:Timo Savola
Committer:Timo Savola

kill action

Commit:16718a6
Author:Timo Savola
Committer:Timo Savola

server, webapi: instance status streamlining

Commit:57f71c7
Author:Timo Savola
Committer:Timo Savola

runtime, server: locking fixes, refactoring etc.

Commit:e566089
Author:Timo Savola

server: export default enum options

Commit:b6bc71e
Author:Timo Savola

suspended or terminated snapshots have no exports Closes #35

Commit:7f0fb1c
Author:Timo Savola

server: NoFunction trap is internal

Commit:604a638
Author:Timo Savola

server: transient flag in instance status

Commit:731a0be
Author:Timo Savola

server: call cannot be suspended

Commit:8d8db9a
Author:Timo Savola
Committer:Timo Savola

wag upgraded - Start function is specified manually at run-time. Store module's start function or _start function address in manifest. - Module might not have a memory size limit.

Commit:f05ed9b
Author:Timo Savola
Committer:Timo Savola

WASI support via intermediate wasm library - Most Gate-specific ABI functions are superseded by WASI alternatives. - Modules with an exported "_start" function (and without start section) are considered standalone programs; explicit entry function is not allowed. - Monotonic time persists in gate.snapshot section. - Problematic WASI calls suspend the program with cause: ABI deficiency.

Commit:8052ff0
Author:Timo Savola
Committer:Timo Savola

gate.version wasm section in snapshot binaries

Commit:2327543
Author:Timo Savola

combine custom snapshot sections

Commit:2b79b38
Author:Timo Savola
Committer:Timo Savola

resume halted instance Closes #2

Commit:7ee7111
Author:Timo Savola
Committer:Timo Savola

separate halted and terminated states - Return from entry function halts instance; gate_exit terminates instance. - Halted instance may be resumed; terminated instance should not be resumed. - Terminated flag is included in wasm snapshots.

Commit:ac44acc
Author:Timo Savola
Committer:Timo Savola

server: enumeration improvements

Commit:a0803d5
Author:Timo Savola

server: instance deletion Closes #14

Commit:25b928f
Author:Timo Savola

server: no suspended property in module list

Commit:9910f66
Author:Timo Savola

importable gate.time function Like clock_gettime. The buffer layout matches Linux x86-64 ABI. Resolution depends on policy: worst is 1s; best is theoretically 1ns, but in practice depends on Linux's coarse timer implementation.

Commit:4e97aca
Author:Timo Savola

importable gate.randomseed function instead of gate.random.8 i64 global

Commit:33d5872
Author:Timo Savola
Committer:Timo Savola

importable global gate.random.8 i64

Commit:db5cf9c
Author:Timo Savola

webserver: store instance on termination if launched Kill it immediately if called.

Commit:2f6f71e
Author:Timo Savola

webserver: explicit ref co-action

Commit:4f66b05
Author:Timo Savola
Committer:Timo Savola

server and resume/snapshot improvements - Resume support. - Snapshot with locking. - Server debug option and status.

Commit:d605875
Author:Timo Savola
Committer:Timo Savola

internal file manipulation redesign

Commit:dc00a7d
Author:Timo Savola
Committer:Timo Savola

combined image storage interface

Commit:7dd22a7
Author:Timo Savola

redesign image internals Snapshotting works now.

Commit:57a4df6
Author:Timo Savola
Committer:Timo Savola

server: monitor: remove unused protobuf import

Commit:e74da55
Author:Timo Savola
Committer:Timo Savola

suspended flag for snapshot modules

Commit:5055d77
Author:Timo Savola
Committer:Timo Savola

snapshot suspended program as wasm module Global and data sections are recreated. Portable stack representation is stored in custom "gate.stack" section.

Commit:bd4e181
Author:Timo Savola

webserver: wait instance action

Commit:8a0e94c
Author:Timo Savola
Committer:Timo Savola

server: SuspendInstance()

Commit:d923e49
Author:Timo Savola
Committer:Timo Savola

webserver: instance suspend action

Commit:934bda0
Author:Timo Savola
Committer:Timo Savola

server: status: combine causes and trap ids

Commit:774a2b9
Author:Timo Savola

large-scale redesign and refactoring This repository no longer contains user program support except for simple C test programs. Rust program support lives in a new repository. Services and associated programs are removed, except for origin. Runtime is split into image and runtime packages. Runtime ABI is simplified. A seccomp filter is used instead of strict mode. Image package implements executable and archived program images, backed by memfd or (reflink-optimized) filesystem. Services can be implemented and deployed as Go plugins. Webserver API is completely redesigned. It uses the concept of principal which owns resources and is identified by a public key. Authentication of principals is pluggable. Resource limit policy is pluggable. SSH key authentication implementation is provided. Webserver supports pluggable program sources. IPFS source implementation is provided.

Commit:a445fa5
Author:Timo Savola

realtime monitoring framework