Skip to content

Instantly share code, notes, and snippets.

@andrewjjenkins
andrewjjenkins / README.md
Last active Aug 20, 2019
Build oneliners
View README.md

Just a list of one-liners I keep using, forgetting and hunting for in history when building Envoy

bazel test //test/common/upstream/...
bazel test --test_output=errors //test/common/upstream:health_checker_impl_test
tools/bazel-test-gdb //test/common/upstream:health_checker_impl_test -c dbg --test_arg=--gtest_filter=TcpHealthCheckerImplTest.TimeoutAfterDisconnect
tools/bazel-test-gdb //test/common/upstream:health_checker_impl_test -c dbg
bazel build //source/exe:envoy-static -c dbg
bazel-bin/source/exe/envoy-static --config-path configs/google_com_proxy.v2.yaml --component-log-level connection:debug,upstream:debug
@andrewjjenkins
andrewjjenkins / cassandra.yaml
Created Feb 19, 2019
an example cassandra config that works for aspenmesh/istio 1.0.4
View cassandra.yaml
apiVersion: v1
kind: Namespace
metadata:
name: cassandra
---
apiVersion: v1
kind: Service
metadata:
labels:
app: cassandra
@andrewjjenkins
andrewjjenkins / gist:265fee1f342e8331152625c3712b47d0
Created Nov 2, 2018
/clusters for productpage talking to details
View gist:265fee1f342e8331152625c3712b47d0
outbound|9080||details.default.svc.cluster.local::default_priority::max_connections::1024
outbound|9080||details.default.svc.cluster.local::default_priority::max_pending_requests::1024
outbound|9080||details.default.svc.cluster.local::default_priority::max_requests::1024
outbound|9080||details.default.svc.cluster.local::default_priority::max_retries::3
outbound|9080||details.default.svc.cluster.local::high_priority::max_connections::1024
outbound|9080||details.default.svc.cluster.local::high_priority::max_pending_requests::1024
outbound|9080||details.default.svc.cluster.local::high_priority::max_requests::1024
outbound|9080||details.default.svc.cluster.local::high_priority::max_retries::3
outbound|9080||details.default.svc.cluster.local::added_via_api::true
@andrewjjenkins
andrewjjenkins / dynamo-egress.yaml
Last active Mar 22, 2018
Talk to dynamo from Istio mesh
View dynamo-egress.yaml
apiVersion: config.istio.io/v1alpha2
kind: EgressRule
metadata:
name: aws-dynamo-us-west-2-egress
namespace: default
spec:
destination:
service: dynamodb.us-west-2.amazonaws.com
ports:
- port: 443
@andrewjjenkins
andrewjjenkins / Dockerfile.minikube
Created Jan 23, 2018
Istio-Minikube and Jenkins
View Dockerfile.minikube
# Portions Copyright 2016 The Kubernetes Authors All rights reserved.
# Portions Copyright 2018 AspenMesh
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
@andrewjjenkins
andrewjjenkins / eof.c
Last active Aug 29, 2015
EOF is level triggered for read and for kevent
View eof.c
#include <stdio.h>
#include <strings.h>
#include <assert.h>
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/event.h>
#include <sys/time.h>
#include <sys/socket.h>
@andrewjjenkins
andrewjjenkins / infiniteServer.js
Last active Aug 29, 2015
Infinite HTTPS server
View infiniteServer.js
var https = require('https');
var cluster = require('cluster');
var fs = require('fs');
var url = require('url');
var core2Dir = process.env.CORE2DIR || '/build/cayman/andrew/lrs_release/core2';
var port = process.env.PORT || 443;
var numCPUs = process.env.NUMCPUS || ('' + (require('os').cpus().length - 1));
numCPUs = parseInt(numCPUs);
var reqSize = process.env.REQSIZE || ('' + 1024*1024*1024);
@andrewjjenkins
andrewjjenkins / infiniteClient.js
Last active Aug 29, 2015
HTTP client that POSTs arbitrarily large bodies.
View infiniteClient.js
var fs = require('fs');
var reqSize = process.env.REQSIZE || ('' + 1024*1024*1024);
reqSize = parseInt(reqSize);
var genericBlob = (new Array(10240 + 1)).join('0123456789');
//Client part.
function runClient() {
@andrewjjenkins
andrewjjenkins / timerdebug.js
Last active Aug 29, 2015
Ways to hack setTimeout and setInterval to help debug lingering timers.
View timerdebug.js
(function () {
var oldSetTimeout = GLOBAL.setTimeout;
GLOBAL.setTimeout = function () {
var e = new Error('Just for stack trace');
console.log('New timeout registered from %s', e.stack);
return oldSetTimeout.apply(this, arguments);
};
var oldSetInterval = GLOBAL.setInterval;
GLOBAL.setInterval = function () {
var e = new Error('Just for stack trace');
@andrewjjenkins
andrewjjenkins / rpi-node.sh
Last active Jan 27, 2020
Cross-compile node.js for Raspberry Pi
View rpi-node.sh
#!/usr/bin/env bash
# Based on https://github.com/needforspeed/Nodejs-ARM-builder/blob/master/cross-compiler.sh
# but updated to use the cross-compiling tools that Raspberry Pi recommends for the kernel.
# Only works for ARMv6.
# AJJ: Released into the public domain.
set -e
You can’t perform that action at this time.