Skip to content

Releases: synadia-io/nex

0.1.4

23 Feb 18:38
0.1.4
Compare
Choose a tag to compare

Changelog

  • 9183e88 Acquire mutex before attempting to stop a running machine
  • 59f22ed Add Node struct and refactor node up (#104)
  • 6cb983c Add essential flag to deploy requests
  • 7eac199 Add initial ELF workload deployment specs
  • 7eaaab2 Add initial node host services impl for key/value
  • e0102b3 Add initial v8 host services impl for key/value
  • b7615eb Add machine manager proxy for test purposes
  • ff37fc6 Add node tests including v8 workload deployment
  • 7fdc3e7 Add preserve_network flag to node config
  • 415539b Add retry count and timestamp to reattempted deploy requests
  • 7c360d4 Add test case asserting first VM ip address starts at .2
  • f115034 Add tests for triggering v8 workloads and key/value host service
  • 6eca1f1 Add undeploy flag to machine manager stop machine
  • bc9f9a1 Add validation of machine pool size to config
  • 462e830 Always use a buffered channel for the warmVMs pool
  • 0f07655 Bind hostServices.kv.keys() method in v8 context
  • 3dcb4c4 Change panic recovery log level
  • 5a95e94 Check agent binary and use cmd.Wait() to release resources associated with building the rootfs
  • 434b36b Cleanup logic related to vm shutdown
  • cd59d08 Cleanup whitespace
  • 562c49b Commit go.sum
  • d4f9358 Consolidate agentcomms.go into machine_mgr.go
  • 464b1af Downgrade OTel (#114)
  • 0105c62 Drain internal NATS connection before public connection during shutdown
  • cb8759f Drain internal and external NATS connections during node shutdown
  • 370ff0b Drain subscriptions associated with a VM upon shutdown
  • 95957ee Enforce singleton node instance via /var/run/nex.pid
  • 4011bb0 Fix bug preventing graceful shutdown of VMs in some instances
  • ed31286 Fix linte
  • 8c62adc Fix linter
  • 5cdb2f4 Fix linter
  • a659aeb Fix prereq.go build issue
  • c5eb15f Fix syntax error in v8.go
  • 69ca202 Fix test
  • 6ec24ca Fix typo in CONTRIBUTING.md (#98)
  • c304ecf Github Pages Installer (#106)
  • 9f8d08d Handle error in node init if config fails to load
  • 15d617d Increase api client timeout to 1000ms in node specs
  • fda55a2 Initialize stop mutex for vm upon creation
  • e38d9b5 Initialize stopMutex map in machine manager
  • 4d8c34b Inner Versions (#108)
  • b24398f Install script easy button (#105)
  • 8d662cd Move warm VM log statement
  • 36a4825 Never attempt to undeploy workloads we know have already stopped
  • 80360d9 Only redeploy essential workloads when exited with non-zero status code
  • 3d17cbd OpenTelemetry Integration (#96)
  • 0a7c413 Parse service and method from subject properly in various host services
  • b1df720 Publish function exec pass and fail cloud events with log emit (#119)
  • de4f82e Publish node stopped message prior to draining connection
  • 6c862b5 Read memory location of mutex for use in deferred unlocking
  • 5aa4c86 Reduce sleep time in specs and use debug log level
  • debaedc Refactor VM handling in machine manager
  • 17f4b45 Refactor agent main() to match node execution pattern
  • 881cfc9 Refactor cloudevent dispatch mechanics for node and machine manager
  • 33d3d50 Reformat machine manager struct
  • fb6dbd0 Remove unused code
  • 3d06024 Remove unused method
  • 1862a0d Run specs using go run github.com/onsi/ginkgo/v2/ginkgo
  • 7a6e9b3 Set VM metadata outside of VM creation
  • 39b9f31 Sleep for 5 seconds after tearing down spec fixtures
  • a791cc1 Split linux kernel and root filesystem items into separate requirements
  • 4ca43a8 Stop calling panic from node up and preflight
  • ec97715 Stop machine if a workload deploy attempt is not accepted
  • 072d4df Test statically-linked ELF binary
  • 348a2db Test wasm workload deployment
  • be1d4fd Throw exceptions when errors occur during v8 host service execution
  • f61d81c Use 150 MiB as default rootfs size
  • 535c9d7 Use machine manager to stop machine upon receipt of agent workload_stopped event
  • eff48a5 Use noop meter provider when otel metrics are disabled
  • 78f2576 Use randomly generated temp file when caching workload
  • d38b218 Use workload name when constructing key/value host service bucket
  • 7e7b10a Write fresh config just before each node spec
  • d87f2c7 add argv to deploy request (#116)
  • ee0f246 add better logging to example (#103)
  • f7996a5 chore: improve cache workload
  • 1fab220 dependabot updates (#99)
  • b4873fc feat: search PATH for CNI plugins and required binaries (#107)

0.1.3

26 Jan 01:55
0.1.3
f31ddb5
Compare
Choose a tag to compare

Changelog

0.1.2

24 Jan 21:08
75bfbae
Compare
Choose a tag to compare

Changelog

  • 91a1b0c Fix RootFS User Permissions (#84)
  • 75bfbae Fixes #85 - precreates all pre-requisite directories if they're not there (#87)
  • a50a1dd Remove Logrus for log/slog (#82)

0.1.1

22 Jan 21:44
Compare
Choose a tag to compare

Changelog

  • 6094872 Add echofunction.js to examples/v8
  • 6e12e28 Add ginkgo and gomega for testing
  • 447bf74 Add initial hello-nex v8 example project
  • e72f674 Add trigger execution support to wasm provider
  • 7e0ce8b Add trigger subjects to various types
  • d351c72 Adding builds to taskfile
  • 49fe348 Adding contributing.md (#62)
  • 3cce186 Adding getting started guide (#2)
  • 40fc07e Adding issue and PR templates (#63)
  • 838d30a Adding more logs for VM networking (#25)
  • dafda0f Adding multiple retries for agent metadata query (#1)
  • 10bbfe1 Adding preflight command to check deps
  • 42420ad Adds a README to the ui folder (#67)
  • 3e2424e Allow handshake to complete quicker add internal NATS connection status log
  • 218f3bc Better logging, scoping. Exposing memory stats to info query
  • 4417ecc Cast millis to time.Duration
  • 94fb2c8 Cleanup fail/run/exit channel monitor
  • 8413a3a Cleanup handshake naming in agent
  • 35a46fa Commit go module artifacts
  • 4f3195e Complete initial plumbing for executing functions via trigger subjects (#36)
  • 2785796 Constantize some defaults and improve readability in nex-node
  • d49e27b Create CODEOWNERS
  • d237d1a Create go.yml
  • 3a6f8fd Dereference string pointer in run request subject
  • 62bc967 Emit workAck and return upon workload validation failure
  • 992954a Feat/preflight binaries (#33)
  • 3259c0f Fix RootFS URL (#43)
  • 9a4b1d6 Fix lint error
  • 8c7b7e1 Fix lint errors
  • 433ff31 Fix nil pointer in v8 initializer
  • 310d18d Fix wasm lifecycle and enable reuse of compiled module
  • a0f486e Fix/goreleaser error (#80)
  • efce62c Fixes #21 (#31)
  • 25e86ca Fixing lint errors, adding lint check to CI (#7)
  • 203ed1a Implement generic fail, run, and exit channels for agent workload execution
  • d9fc7a0 Implement v8 execution provider
  • 86f21fe Initialize wasm execution provider
  • 3d13e78 Log machine id and message values instead of ptrs in handshake handler
  • 10799db Make NATS host and port naming consistent and add additional logging
  • 6fe9043 Make execution provider params naming convention uniform
  • 1650425 Merge branch 'main' of github.com:ConnectEverything/nex
  • c3ba9ff Merge pull request #5 from ConnectEverything/sjb/preflight
  • 0b6dd73 Node UI Release CI (#59)
  • 46bf780 Only background ELF command execution
  • 2ea2079 Pass payload as argument to v8 function
  • 00c7b88 Pass x-nex-trigger-subject header to function execution
  • 2177f3f Programatic RootFS Build (#57)
  • 3388c80 Push run flag into channel in v8 deploy instead of execute
  • ab19f49 Refactor agent and node workload types
  • f978ee4 Refactor agent workload execution
  • d0a4b92 Refactor event and log monitor tests to use ginkgo
  • 572d14d Refactor execution provider to support trigger subjects
  • c35e738 Refactor to use workload "deploy" naming convention
  • fd241ef Remove extraneous code from elf validate method
  • fedf4e5 Remove hash and total bytes from work request validation
  • 07f293a Remove unimplemented interface method
  • fd8d975 Rename ConnectEverything -> synadia-io
  • 2a0b816 Rename metadata client timeout constant
  • 280483a Reorganize packaging (#55)
  • a12eee2 Reply with response from executed function
  • 2d87466 Run ginkgo suite in control-api as part of github actions
  • 7cb2ec1 Run pnpm install to ensure node_modules/ exists in ui
  • cd88e0b Setup spec/ and test/ directories and test task
  • f7d5f64 Skip wasm test
  • 90474b3 Some cleaning and refactoring
  • d1978d1 Stop leaking firecracker VM
  • 4684406 Stop returning nil after binding trigger funcs
  • 680646f Stop using dagger for local ui build
  • 3acab96 Unified CLI (#37)
  • 2e7c258 Update Actions (#42)
  • d61d076 Update README.md
  • d5d6335 Update README.md
  • a2a1b32 Update agent metadata polling mechanics
  • 76c0aa8 Update codeowners (#26)
  • 5f69612 Updating README to include links to docs and contributing (#65)
  • 2523ef8 Upgrade/build params (#78)
  • 1dc64e7 Use --trigger_subject flag on cli when running workloads
  • fd28c2b Use correct public key on machine manager
  • 3add539 Use string representation of []byte when executing v8 function
  • 8cbe575 Use vm id for internal trigger subject construction
  • 1a137ca Using random ephemeral port for internal NATS (#4)
  • 7793a64 Wait for eth0 interface before starting agent on firecracker VM (#29)
  • ee74166 Workloads can now be securely stopped
  • 14bded0 Write executable artifact to tmpfile prior to execution params initializer
  • b58d300 add last modified
  • c807f01 add pre-flight check
  • 0f3a363 add sudo to goreleaser (#76)
  • 490bc28 adding diagram
  • fb40530 adding healthz endpoint, strengthening agent-node nats connection (#22)
  • e25dc02 adding more verbose output to release ci (#75)
  • 9a68e7e adding timeout to mmds query (#3)
  • 8a11ac4 adding user interface scaffolding (#16)
  • da31483 agent now reboots (halts) firecracker VM when it encounters a fatal error (#6)
  • cb92482 because agent only in linux/x86 archive (#79)
  • c9cdf98 better error handling on run
  • 3f7eb96 carries tags from node configs. allows workload type limits (#20)
  • d45bba9 changes satisfied dep path from red to green (#53)
  • 2fd064b connects wasm provider to interface (#39)
  • 56bac52 executing wasi functions (#34)
  • 2750925 fix fs path status
  • 10ba586 fix typo
  • f207f74 friendly time
  • 1ffb7e1 go mod tidy
  • 2dd7e72 initial commit
  • 561e059 key needs more juice (#51)
  • f2fc311 license
  • 7d10c08 log emissions working (sorta)
  • ff6f8f4 namespaced info and run
  • a63b646 nex info CLI command
  • 1a6a0cc pretty observers for logs and events
  • 3443dd2 removewd gRPC. host and agent now communicate via embedded NATS
  • 05ccc55 removing binary
  • 6af0607 removing comment block
  • 84d5c60 safety checkin
  • 5b3bead safety checkin
  • d590f07 separates subscribe from log output, moves monitor to api client (#13)
  • ae27c9c tpyo
  • d0a42d2 tweaks
  • 75414a5 tweaks
  • a1e4b09 tweaks
  • d4b1da9 update ci badges (#45)
  • 35b30b0 update nex bin name (#41)
  • bb71184 update readme
  • 562f210 updating READMEs. adding log forwarding via NATS
  • aa18b0a updating nex-node readme with configuration sample
  • 3beb905 updating readme
  • 31d3d1a will the conference WiFi work?? or will it fail?? NO ONE CAN POSSIBLY KNOW.
  • 29e2b80 woopsy (#24)

0.1.0

22 Jan 15:34
b0e374d
Compare
Choose a tag to compare

Changelog

  • 6094872 Add echofunction.js to examples/v8
  • 6e12e28 Add ginkgo and gomega for testing
  • 447bf74 Add initial hello-nex v8 example project
  • e72f674 Add trigger execution support to wasm provider
  • 7e0ce8b Add trigger subjects to various types
  • d351c72 Adding builds to taskfile
  • 49fe348 Adding contributing.md (#62)
  • 3cce186 Adding getting started guide (#2)
  • 40fc07e Adding issue and PR templates (#63)
  • 838d30a Adding more logs for VM networking (#25)
  • dafda0f Adding multiple retries for agent metadata query (#1)
  • 10bbfe1 Adding preflight command to check deps
  • 42420ad Adds a README to the ui folder (#67)
  • 3e2424e Allow handshake to complete quicker add internal NATS connection status log
  • 218f3bc Better logging, scoping. Exposing memory stats to info query
  • 4417ecc Cast millis to time.Duration
  • 94fb2c8 Cleanup fail/run/exit channel monitor
  • 8413a3a Cleanup handshake naming in agent
  • 35a46fa Commit go module artifacts
  • 4f3195e Complete initial plumbing for executing functions via trigger subjects (#36)
  • 2785796 Constantize some defaults and improve readability in nex-node
  • d49e27b Create CODEOWNERS
  • d237d1a Create go.yml
  • 3a6f8fd Dereference string pointer in run request subject
  • 62bc967 Emit workAck and return upon workload validation failure
  • 992954a Feat/preflight binaries (#33)
  • 3259c0f Fix RootFS URL (#43)
  • 9a4b1d6 Fix lint error
  • 8c7b7e1 Fix lint errors
  • 433ff31 Fix nil pointer in v8 initializer
  • 310d18d Fix wasm lifecycle and enable reuse of compiled module
  • efce62c Fixes #21 (#31)
  • 25e86ca Fixing lint errors, adding lint check to CI (#7)
  • 203ed1a Implement generic fail, run, and exit channels for agent workload execution
  • d9fc7a0 Implement v8 execution provider
  • 86f21fe Initialize wasm execution provider
  • 3d13e78 Log machine id and message values instead of ptrs in handshake handler
  • 10799db Make NATS host and port naming consistent and add additional logging
  • 6fe9043 Make execution provider params naming convention uniform
  • 1650425 Merge branch 'main' of github.com:ConnectEverything/nex
  • c3ba9ff Merge pull request #5 from ConnectEverything/sjb/preflight
  • 0b6dd73 Node UI Release CI (#59)
  • 46bf780 Only background ELF command execution
  • 2ea2079 Pass payload as argument to v8 function
  • 00c7b88 Pass x-nex-trigger-subject header to function execution
  • 2177f3f Programatic RootFS Build (#57)
  • 3388c80 Push run flag into channel in v8 deploy instead of execute
  • ab19f49 Refactor agent and node workload types
  • f978ee4 Refactor agent workload execution
  • d0a4b92 Refactor event and log monitor tests to use ginkgo
  • 572d14d Refactor execution provider to support trigger subjects
  • c35e738 Refactor to use workload "deploy" naming convention
  • fd241ef Remove extraneous code from elf validate method
  • fedf4e5 Remove hash and total bytes from work request validation
  • 07f293a Remove unimplemented interface method
  • 2a0b816 Rename metadata client timeout constant
  • 280483a Reorganize packaging (#55)
  • a12eee2 Reply with response from executed function
  • 2d87466 Run ginkgo suite in control-api as part of github actions
  • 7cb2ec1 Run pnpm install to ensure node_modules/ exists in ui
  • f7d5f64 Skip wasm test
  • 90474b3 Some cleaning and refactoring
  • d1978d1 Stop leaking firecracker VM
  • 4684406 Stop returning nil after binding trigger funcs
  • 680646f Stop using dagger for local ui build
  • 3acab96 Unified CLI (#37)
  • 2e7c258 Update Actions (#42)
  • d5d6335 Update README.md
  • d61d076 Update README.md
  • a2a1b32 Update agent metadata polling mechanics
  • 76c0aa8 Update codeowners (#26)
  • 5f69612 Updating README to include links to docs and contributing (#65)
  • 1dc64e7 Use --trigger_subject flag on cli when running workloads
  • fd28c2b Use correct public key on machine manager
  • 3add539 Use string representation of []byte when executing v8 function
  • 8cbe575 Use vm id for internal trigger subject construction
  • 1a137ca Using random ephemeral port for internal NATS (#4)
  • 7793a64 Wait for eth0 interface before starting agent on firecracker VM (#29)
  • ee74166 Workloads can now be securely stopped
  • 14bded0 Write executable artifact to tmpfile prior to execution params initializer
  • b58d300 add last modified
  • c807f01 add pre-flight check
  • b0e374d add sudo to goreleaser
  • 490bc28 adding diagram
  • fb40530 adding healthz endpoint, strengthening agent-node nats connection (#22)
  • e25dc02 adding more verbose output to release ci (#75)
  • 9a68e7e adding timeout to mmds query (#3)
  • 8a11ac4 adding user interface scaffolding (#16)
  • da31483 agent now reboots (halts) firecracker VM when it encounters a fatal error (#6)
  • c9cdf98 better error handling on run
  • 3f7eb96 carries tags from node configs. allows workload type limits (#20)
  • d45bba9 changes satisfied dep path from red to green (#53)
  • 2fd064b connects wasm provider to interface (#39)
  • 56bac52 executing wasi functions (#34)
  • 2750925 fix fs path status
  • 10ba586 fix typo
  • f207f74 friendly time
  • 1ffb7e1 go mod tidy
  • 2dd7e72 initial commit
  • 561e059 key needs more juice (#51)
  • f2fc311 license
  • 7d10c08 log emissions working (sorta)
  • ff6f8f4 namespaced info and run
  • a63b646 nex info CLI command
  • 1a6a0cc pretty observers for logs and events
  • 3443dd2 removewd gRPC. host and agent now communicate via embedded NATS
  • 05ccc55 removing binary
  • 6af0607 removing comment block
  • 84d5c60 safety checkin
  • 5b3bead safety checkin
  • d590f07 separates subscribe from log output, moves monitor to api client (#13)
  • ae27c9c tpyo
  • d0a42d2 tweaks
  • a1e4b09 tweaks
  • 75414a5 tweaks
  • d4b1da9 update ci badges (#45)
  • 35b30b0 update nex bin name (#41)
  • bb71184 update readme
  • 562f210 updating READMEs. adding log forwarding via NATS
  • aa18b0a updating nex-node readme with configuration sample
  • 3beb905 updating readme
  • 31d3d1a will the conference WiFi work?? or will it fail?? NO ONE CAN POSSIBLY KNOW.
  • 29e2b80 woopsy (#24)