Releases: andydunstall/piko
v0.4.0
Adds the /ready
route which was removed by mistake in v0.3.0 (required for deploying Piko to Kubernetes)
Also replaces muxado with yamux and cleans up connection handling.
What's Changed
- docs: update readme by @andydunstall in #72
- build: add version to build script by @andydunstall in #73
- tests: add proxy system tests by @andydunstall in #74
- build(deps): bump github.com/google/uuid from 1.1.2 to 1.6.0 by @dependabot in #75
- build(deps): bump github.com/gorilla/websocket from 1.5.1 to 1.5.2 by @dependabot in #76
- conn: adds yamux for stream multiplexing by @andydunstall in #77
- docs: update readme by @andydunstall in #78
- admin: add GET /ready route by @andydunstall in #79
- upstream: log connected upstreams as info by @andydunstall in #80
New Contributors
- @dependabot made their first contribution in #75
Full Changelog: v0.3.0...v0.4.0
v0.3.0
v0.3.0 contains a rewrite of the agent to server protocol. Instead of forwarding individual HTTP requests and responses, the protocol transports raw TCP bytes multiplexed over a single outbound connection from the upstream to the server.
This has a few major benefits:
- It supports non-HTTP protocols in the future (particularly TCP)
- It supports WebSockets
- It supports a Go SDK in the future where clients can listen for connections from Piko like any other TCP listener (such as
net.Listener
in Go) - It makes the agent and server much simpler as they can treat the 'connection' to the upstream as any other TCP connection (even though the connection is actually multiplexed over the upstreams outbound connection to Piko)
This release also adds TLS support, both for the server and for the agent to configure custom root CAs to verify the servers TLS certificates. It also refactors the piko agent
command line and configuration.
What's Changed
- docs: add logo by @andydunstall in #46
- client: add go sdk interface by @andydunstall in #47
- agentv2: add agent cli and configuration by @andydunstall in #48
- agentv2: add endpoint interface by @andydunstall in #49
- agentv2: add endpoint reverse proxy by @andydunstall in #50
- conn: add websocket options by @andydunstall in #52
- tls: add tls support by @andydunstall in #53
- agentv2: add heartbeats by @andydunstall in #54
- docs: update logo by @andydunstall in #55
- client: register endpoint listener by @andydunstall in #56
- serverv2: add reverse proxy to forward requests to upstream by @andydunstall in #57
- agentv2: handle listener connections by @andydunstall in #58
- add docker package by @andydunstall in #59
- tests: use httptest.Server by @andydunstall in #60
- serverv2: add reverse proxy by @andydunstall in #61
- agentv2: add pkg/mux by @andydunstall in #62
- agentv2: add connection per listener by @andydunstall in #63
- agentv2: add config options by @andydunstall in #64
- serverv2: rewrite reverse proxy by @andydunstall in #65
- serverv2: load balance among connected upstreams by @andydunstall in #66
- piko: integrate agent/server v2 by @andydunstall in #67
- admin: add request forwarding by @andydunstall in #68
- status: add upstream endpoints status command by @andydunstall in #69
- server: add usage reporting by @andydunstall in #70
Full Changelog: v0.2.0...v0.3.0
v0.2.0
This release:
- Adds a basic Helm chart
- Fixes bugs in forwarding
- Improves Piko agent resilience and configuration
- Extends the admin server
What's Changed
- docs: add contributing.md by @andydunstall in #34
- helm: add piko helm chart by @andydunstall in #35
- server: extend http server configuration by @andydunstall in #36
- server: extend http metrics by @andydunstall in #37
- fix: forwarder copy body eof by @andydunstall in #38
- admin: add pprof endpoints by @andydunstall in #39
- agent: agent resilience by @andydunstall in #40
- docs: add github discussions to readme by @andydunstall in #41
- server: add usage reporting by @andydunstall in #44
Full Changelog: v0.1.0...v0.2.0
v0.1.0
First release of Piko.
While Piko is still a new project, it has been well tested so should be relatively stable.
What's Changed
- docs: update readme by @andydunstall in #3
- docs: update overview image by @andydunstall in #4
- add system tests by @andydunstall in #5
- docs: add demo by @andydunstall in #6
- docs: update overview by @andydunstall in #7
- docs: add arch docs by @andydunstall in #8
- docs: rename downstream client to proxy client by @andydunstall in #10
- server: add endpoint authentication by @andydunstall in #11
- gossip: add join retries by @andydunstall in #12
- workload: add workload tools by @andydunstall in #13
- cluster: rename 'netmap' to 'cluster state' by @andydunstall in #14
- docs: update readme by @andydunstall in #15
- docs: update architecture overview by @andydunstall in #18
- docs: add manage docs by @andydunstall in #19
- rename 'pico' to 'piko' by @andydunstall in #20
- docs: extend routing docs by @andydunstall in #21
- add documentation for cd to the piko dir by @insanity54 in #24
- go: update to v1.22 by @andydunstall in #25
- cli: extend docs by @andydunstall in #27
- docs: link to releases by @andydunstall in #26
Full Changelog: https://github.com/andydunstall/piko/commits/v0.1.0