Skip to content

Instantly share code, notes, and snippets.

View subnetmarco's full-sized avatar
🦍
Hiring, Thinking, Coding

Marco Palladino subnetmarco

🦍
Hiring, Thinking, Coding
View GitHub Profile
@subnetmarco
subnetmarco / kuma_040_releasenotes.md
Last active February 28, 2020 21:45
Kuma 0.4 Release Notes

Kuma 0.4 Released With L7 Tracing + Grafana Dashboards!

We are happy to announce the release of Kuma 0.4! This is a major release focused on significantly better observability capabilities, that also includes many new features and improvements across the board.

This release also marks the 10th release of Kuma since September 2019! We are very proud of the release momentum we have executed so far, and we are looking forward to accelerating the delivery of  more advanced L7 features within the next few months, as well as more advanced networking support for more complex Service Mesh deployments across hybrid environments.

Notable Features

  • A new Traffic Trace policy that allows to configure tracing on L7 HTTP traffic.
  • Three official Grafana dashboards to visualize traffic metrics collected by Prometheus.

Start Kong

helm install stable/kong --name kong --namespace kong --values https://bit.ly/2RgSRio --version 0.9.0

To check status: watch -n 1 kubectl get pod -n kong

Expose Kong

@subnetmarco
subnetmarco / webinar.md
Last active October 18, 2021 15:14
These are the instruction executed on the Kong webinar demonstrating Kong + Ingress + Prometheus/Grafana + Zipkin/Jaeger

Start Kong

helm install stable/kong --name kong --namespace kong --values https://bit.ly/2RgSRio --version 0.9.0

To check status: watch -n 1 kubectl get pod -n kong

Expose Kong

@subnetmarco
subnetmarco / make.sh
Created October 25, 2016 21:15
Building Serf "master" branch on OSX 10.12 with go1.7.3
$ make
/Users/marco/work/bin/gox
? github.com/hashicorp/serf/client [no test files]
ok github.com/hashicorp/serf/cmd/serf 0.015s
2016/10/25 14:11:51 [INFO] agent: Serf agent starting
2016/10/25 14:11:51 [INFO] serf: EventMemberJoin: 127.0.0.10 127.0.0.10
2016/10/25 14:11:51 [INFO] agent: Serf agent starting
2016/10/25 14:11:51 [INFO] serf: EventMemberJoin: 127.0.0.11 127.0.0.11
2016/10/25 14:11:51 [INFO] agent: Received event: member-join
2016/10/25 14:11:51 [INFO] agent: Received event: member-join

This document is a logical reasoning that takes elements from our meetings, a brainstorming that evolves from the beginnign to the end. Don't make any assumptions until you reach the end. Because the argument is very complex, it incrementally address the whole picture step by step.

This Gist comes from the realization that plugin mappings can also be adapted to consumers, and that grouping and filters would be available for both consumers and plugin configurations.

It specifically covers the topic of plugin and consumer mapping from the user's perspective, thus the interface and not the internals.

Consumers

Let's suppose that by default every consumer can consume any API:

Kong Benchmark

Kong 0.6.0 introduces Clustering and a new in-memory core cache invalidation strategy which dramatically improves the performance of the system. The following benchmark measures the in-memory caching improvements of Kong 0.6.0 compared to the previous Kong 0.5.4 which still uses the old time-based expiration strategy.

The test involves consuming an API running on a separate machine, that returns a simple 200 OK JSON response with the following body:

{"message": "hello world"}
#!/bin/bash
set -e
export LUA_VERSION=luajit-2.1
export CASSANDRA_VERSION=2.2.4
export LUAROCKS_VERSION=2.2.2
export OPENSSL_VERSION=1.0.2e
export OPENRESTY_VERSION=1.9.3.1
export SERF_VERSION=0.7.0
@subnetmarco
subnetmarco / install-kong.sh
Last active August 29, 2015 14:26
Kong one-file installer script, with OS auto-detection.
#!/bin/bash
set -o errexit
# Force bash
if [ -z "$BASH_VERSION" ]
then
exec bash "$0" "$@"
fi
$ busted -o spec/busted-print.lua --coverage spec/ spec/
spec/integration/admin_api/admin_api_spec.lua:
Admin API / should return Kong's version and a welcome message ... ●
Admin API / should have a Server header ... ●
Admin API POST application/x-www-form-urlencoded should not create with an invalid application/x-www-form-urlencoded body ... ●
Admin API POST application/x-www-form-urlencoded should create an entity with an application/x-www-form-urlencoded body ... ●
Admin API POST application/x-www-form-urlencoded should not create with an invalid application/x-www-form-urlencoded body ... ●
Admin API POST application/x-www-form-urlencoded should create an entity with an application/x-www-form-urlencoded body ... ●
Admin API POST application/x-www-form-urlencoded should not create with an invalid application/x-www-form-urlencoded body ... ●