Skip to content

Releases: bots-garden/simplism

v0.1.3 🪐 [saturn]

25 Jan 23:27
282a6f8
Compare
Choose a tag to compare
  • some fixes with the recovery mode

v0.1.2 🌍 [earth]

21 Jan 05:13
Compare
Choose a tag to compare

What's new

Update with the upgrade of the

🐳 Docker image updated docker.io/k33g/simplism:0.1.2 size: 9MB

📝 Simplisme IDE updated, exists for arm and amd: https://github.com/bots-garden/simplism-ide

New project: 📦 Simplism Builder, a 🐳 Docker Compose project to build, run and test wasm Simplism plugins:

Features

POC/POV Simplism CLI

🚧 It's a work in progress. Right now, it's a simple bash script I use to test the spawn mode of Simplism: https://github.com/bots-garden/simplism/blob/main/tools/simplismctl

v0.1.1 🌕 [full moon]

09 Jan 20:53
Compare
Choose a tag to compare

What's new

Update with the upgrade of the Extism Go SDK: v1.0.0

🐳 Docker image updated docker.io/k33g/simplism:0.1.1 size: 8.6MB

📝 Simplisme IDE updated: https://github.com/bots-garden/simplism-ide

Benchmarks

Performance has improved

v0.1.0

Wasm Go

Summary:
  Total:	0.1513 secs
  Slowest:	0.1137 secs
  Fastest:	0.0001 secs
  Average:	0.0377 secs
  Requests/sec:	19833.8092
  
  Total data:	66000 bytes
  Size/request:	22 bytes

Response time histogram:
  0.000 [1]	|
  0.011 [201]	|■■■■■■■
  0.023 [236]	|■■■■■■■■
  0.034 [1190]	|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  0.046 [574]	|■■■■■■■■■■■■■■■■■■■
  0.057 [237]	|■■■■■■■■
  0.068 [282]	|■■■■■■■■■
  0.080 [190]	|■■■■■■
  0.091 [55]	|■■
  0.102 [28]	|■
  0.114 [6]	|


Latency distribution:
  10% in 0.0204 secs
  25% in 0.0279 secs
  50% in 0.0321 secs
  75% in 0.0468 secs
  90% in 0.0671 secs
  95% in 0.0734 secs
  99% in 0.0927 secs

Details (average, fastest, slowest):
  DNS+dialup:	0.0052 secs, 0.0001 secs, 0.1137 secs
  DNS-lookup:	0.0000 secs, 0.0000 secs, 0.0000 secs
  req write:	0.0014 secs, 0.0000 secs, 0.0814 secs
  resp wait:	0.0243 secs, 0.0001 secs, 0.0686 secs
  resp read:	0.0009 secs, 0.0000 secs, 0.0443 secs

Status code distribution:
  [200]	3000 responses

Wasm Rust

Summary:
  Total:	0.2298 secs
  Slowest:	0.1506 secs
  Fastest:	0.0001 secs
  Average:	0.0585 secs
  Requests/sec:	13057.5198
  
  Total data:	66000 bytes
  Size/request:	22 bytes

Response time histogram:
  0.000 [1]	|
  0.015 [80]	|■■
  0.030 [31]	|■
  0.045 [261]	|■■■■■■■
  0.060 [1420]	|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  0.075 [865]	|■■■■■■■■■■■■■■■■■■■■■■■■
  0.090 [240]	|■■■■■■■
  0.105 [64]	|■■
  0.121 [23]	|■
  0.136 [12]	|
  0.151 [3]	|


Latency distribution:
  10% in 0.0433 secs
  25% in 0.0537 secs
  50% in 0.0582 secs
  75% in 0.0638 secs
  90% in 0.0778 secs
  95% in 0.0869 secs
  99% in 0.1071 secs

Details (average, fastest, slowest):
  DNS+dialup:	0.0065 secs, 0.0001 secs, 0.1506 secs
  DNS-lookup:	0.0000 secs, 0.0000 secs, 0.0000 secs
  req write:	0.0019 secs, 0.0000 secs, 0.0363 secs
  resp wait:	0.0459 secs, 0.0001 secs, 0.1216 secs
  resp read:	0.0003 secs, 0.0000 secs, 0.0219 secs

Status code distribution:
  [200]	3000 responses

v0.1.1

Wasm Go

Summary:
  Total:	0.1333 secs
  Slowest:	0.1197 secs
  Fastest:	0.0000 secs
  Average:	0.0306 secs
  Requests/sec:	22506.5128
  
  Total data:	66000 bytes
  Size/request:	22 bytes

Response time histogram:
  0.000 [1]	|
  0.012 [1450]	|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  0.024 [178]	|■■■■■
  0.036 [377]	|■■■■■■■■■■
  0.048 [167]	|■■■■■
  0.060 [188]	|■■■■■
  0.072 [227]	|■■■■■■
  0.084 [119]	|■■■
  0.096 [50]	|■
  0.108 [174]	|■■■■■
  0.120 [69]	|■■


Latency distribution:
  10% in 0.0009 secs
  25% in 0.0039 secs
  50% in 0.0143 secs
  75% in 0.0519 secs
  90% in 0.0826 secs
  95% in 0.1025 secs
  99% in 0.1129 secs

Details (average, fastest, slowest):
  DNS+dialup:	0.0043 secs, 0.0000 secs, 0.1197 secs
  DNS-lookup:	0.0000 secs, 0.0000 secs, 0.0000 secs
  req write:	0.0033 secs, 0.0000 secs, 0.0717 secs
  resp wait:	0.0100 secs, 0.0000 secs, 0.0588 secs
  resp read:	0.0028 secs, 0.0000 secs, 0.0609 secs

Status code distribution:
  [200]	3000 responses

Wasm Rust

Summary:
  Total:	0.1289 secs
  Slowest:	0.1120 secs
  Fastest:	0.0000 secs
  Average:	0.0317 secs
  Requests/sec:	23282.2922
  
  Total data:	66000 bytes
  Size/request:	22 bytes

Response time histogram:
  0.000 [1]	|
  0.011 [1133]	|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  0.022 [329]	|■■■■■■■■■■■■
  0.034 [267]	|■■■■■■■■■
  0.045 [445]	|■■■■■■■■■■■■■■■■
  0.056 [201]	|■■■■■■■
  0.067 [113]	|■■■■
  0.078 [331]	|■■■■■■■■■■■■
  0.090 [27]	|■
  0.101 [26]	|■
  0.112 [127]	|■■■■


Latency distribution:
  10% in 0.0028 secs
  25% in 0.0068 secs
  50% in 0.0238 secs
  75% in 0.0529 secs
  90% in 0.0736 secs
  95% in 0.0899 secs
  99% in 0.1096 secs

Details (average, fastest, slowest):
  DNS+dialup:	0.0055 secs, 0.0000 secs, 0.1120 secs
  DNS-lookup:	0.0000 secs, 0.0000 secs, 0.0000 secs
  req write:	0.0019 secs, 0.0000 secs, 0.0706 secs
  resp wait:	0.0125 secs, 0.0000 secs, 0.0524 secs
  resp read:	0.0043 secs, 0.0000 secs, 0.0619 secs

Status code distribution:
  [200]	3000 responses

v0.1.0 🐋 [whale]

09 Jan 03:33
Compare
Choose a tag to compare

What's new

  • 🌍 Increment automatically the HTTP port when deploying a plug-in when "spawn" mode
  • 🚀 Re-deploy wasm plug-ins when the spawn mode is restarted
  • 🐛 Fix a previous bug: change route when the process is killed

🐳 Docker image updated docker.io/k33g/simplism:0.1.0 size: 8.54MB

v0.0.9 🐳 [spouting whale]

04 Jan 05:24
Compare
Choose a tag to compare

What's new

🐳 Docker image updated docker.io/k33g/simplism:0.0.9 size: 8.41MB

v0.0.8 🌼 [flower]

26 Dec 07:03
Compare
Choose a tag to compare

What's new

  • JavaScript template generator added
  • When you use simplism generate, it will generate these files: Dockerfile and a .gitpod.yml
  • You can define the path of the store database file (--store-path=./db/my-store.db)
  • More documentation

v0.0.7 🎅 [santa]

14 Dec 21:28
Compare
Choose a tag to compare

v0.0.6 🪲 [beetle]

02 Dec 12:54
Compare
Choose a tag to compare

What's new?

Simplism comes with a service discovery feature. It can be used to discover the running Simplism servers.

  • One of the servers (simplism service) can be a service discovery server. The service discovery server can be configured with the --service-discovery flag:
simplism listen discovery-service/discovery-service.wasm handle \
--http-port 9000 \
--log-level info \
--service-discovery true \
--admin-discovery-token people-are-strange

--admin-discovery-token is not mandatory, but it's probably a good idea to set it.

  • Then, the other services can be configured with the --discovery-endpoint flag:
simplism listen service-one/service-one.wasm handle \
--http-port 8001 \
--log-level info \
--discovery-endpoint http://localhost:9000/discovery \
--admin-discovery-token people-are-strange &

simplism listen service-two/service-two.wasm handle \
--http-port 8002 \
--log-level info \
--discovery-endpoint http://localhost:9000/discovery \
--admin-discovery-token people-are-strange &

simplism listen service-three/service-three.wasm handle \
--http-port 8003 \
--log-level info \
--discovery-endpoint http://localhost:9000/discovery \
--admin-discovery-token people-are-strange &

the 3 services will be discovered by the service discovery server. Every services will regularly post information to the service discovery server.

  • You can query the service discovery server with the /discovery endpoint to get the list of the running services:
curl http://localhost:9000/discovery \
-H 'admin-discovery-token:people-are-strange'
  • You can use the flock mode jointly with the service discovery:
service-discovery:
  wasm-file: ./discovery/discovery.wasm
  wasm-function: handle
  http-port: 9000
  log-level: info
  service-discovery: true
  admin-discovery-token: this-is-the-way

basestar-mother:
  wasm-file: ./basestar/basestar.wasm
  wasm-function: handle
  http-port: 8010
  log-level: info
  discovery-endpoint: http://localhost:9000/discovery
  admin-discovery-token: this-is-the-way

raider-1:
  wasm-file: ./raider/raider.wasm
  wasm-function: handle
  http-port: 8001
  log-level: info
  discovery-endpoint: http://localhost:9000/discovery
  admin-discovery-token: this-is-the-way

v0.0.5 🐝 [bee]

29 Nov 08:46
Compare
Choose a tag to compare

Changelog

  • 3a51903 Merge pull request #18 from bots-garden/env-vars-support
  • 0ad1aa7 ✨ Introduce new feature(s): env vars support
  • ceb4c88 🍊 Gitpodify.
  • 97ed1a6 🍊 Gitpodify: update
  • 6bb4cf3 📦 simplism v0.0.5 🐝 [bee]

What's new?

Now you can use environment variables with Simplism:

export MESSAGE="👋 Hello World 🌍"
export ABOUT="🥰 Simplism has a cute mascot 🤗"
simplism listen \
envvars.wasm handle \
--http-port 8080 \
--log-level info \
--env '["MESSAGE","ABOUT"]'

Then use the pdk.GetConfig method to get the value of the variables:

message, _ := pdk.GetConfig("MESSAGE")
about, _ := pdk.GetConfig("ABOUT")

You can run the wasm plug-in thanks to a yaml config file:

# config.yml
envvars-plugin:
  wasm-file: ./envvars.wasm
  wasm-function: handle
  http-port: 8080
  log-level: info
  env: '["MESSAGE","ABOUT"]'

and use it like this:

export MESSAGE="👋 Hello World 🌍"
export ABOUT="🥰 Simplism has a cute mascot 🤗"
simplism config ./config.yml envvars-plugin

v0.0.4 🐙 [octopus]

26 Nov 08:12
Compare
Choose a tag to compare

86ccf49 📦 simplism v0.0.4 🐙 [octopus]

Introduced with the former version:
🐑 flock mode 🚀: start several simplism instances from a config file