Skip to content

Instantly share code, notes, and snippets.

View everpeace's full-sized avatar
🏠

Shingo Omura everpeace

🏠
View GitHub Profile
@everpeace
everpeace / 00_README.md
Last active July 14, 2020 13:52
Buildkit TCP service behind Envoy Proxy

Architecture

Envoy filters out Prune/DiskUsage method. see envoy-config.yaml below.

              +-------+     +-----------+
buidctl <---->+ Envoy +<--->+ Buildkitd +
              +-------+     +-----------+
@everpeace
everpeace / demo_script.sh
Last active September 26, 2018 05:56
kubeflow meetup #1 - Kubeflow Operators
# please setup your kubernetes cluster and kubectl with admin permission (for deploying crd and operator)
# confirm ks version (0.11.0 or later)
$ ks version
# create kss app directory
$ ks init kflowmeetup
$ cd kflowmeetup
# add kubeflow ksonnet registry
$ ks registry add kubeflow github.com/kubeflow/kubeflow/tree/master/kubeflow
@everpeace
everpeace / kube-scheduler-configuration.yaml
Last active August 23, 2018 16:22
kube-scheduler's config file and policy config file (policy.cfg) (v1.11.1)
# This config scheme is based on Kubernetes v.1.11.1
# ref: https://github.com/kubernetes/kubernetes/blob/v1.11.1/pkg/apis/componentconfig/v1alpha1/types.go#L75-L112
# NOTE: You can dump default config yaml by this command:
# $ docker run -v $(pwd):/host gcr.io/google_containers/hyperkube-amd64:v1.11.1 kube-scheduler --write-config-to /host/config.yaml
# TypeMeta
apiVersion: componentconfig/v1alpha1
kind: KubeSchedulerConfiguration
# SchedulerName is name of the scheduler, used to select which pods
@everpeace
everpeace / gist:35ec86a9a67ada8c889d3d76a8180033
Last active March 13, 2018 08:17
using nominal type and structural type in self type annotation https://twitter.com/everpeace/status/973449957347753984
$ scala
Welcome to Scala 2.12.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_152).
Type in expressions for evaluation. Or try :help.
scala> trait Foo {}
defined trait Foo
# actually I wanted to write like this. But it doesn't compile
# trait Bar {
# self: { val someInt: Int } with Foo =>

Keybase proof

I hereby claim:

  • I am everpeace on github.
  • I am everpeace (https://keybase.io/everpeace) on keybase.
  • I have a public key ASAZY_STqf0Okff7CYzVSc9aRUuyXKv_asok9FZBwBlIbQo

To claim this, I am signing this object:

@everpeace
everpeace / docker-compose.yml
Last active December 31, 2023 16:21
kafka cluster in docker-compose.
# WARNING: This docker-compose.yml is only for testing purpose.
# Parameters:
# - name: CONFLUENT_PLATFORM_VERSION
# default: 3.0.0
# reference: https://hub.docker.com/u/confluentinc/
# Ports:
# - description: Major ports are exposed to host computer
# - zookeeper: 2181
# kafka1: 9091
# kafka2: 9092
@everpeace
everpeace / pod.yaml
Created May 11, 2017 16:31
test workload for GPU schedule with nodeAffinity
kind: Pod
apiVersion: v1
metadata:
name: gpu-pod
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
@everpeace
everpeace / Why People Want Microservices.md
Last active November 8, 2022 10:37
マイクロサービス化が進む背景について考えてみた

マイクロサービス化が進む背景について考えてみた

最近マイクロサービスって流行ってますよね。バズってると言ってもいいくらい。

個人的には、「マイクロサービスって結局何なの?」とか、「SOAと何が違うわけ?」とかいう議論は苦手です。

でも「なんでみんなマイクロサービスで作りたいのか?なんでマイクロサービスで作られるサービスが多いのか?」にはすごく興味があるんです。

僕は今、シリコンバレーにある日系SIerの小さな子会社で駐在員をやっていますが、このエリアに居ると、とにかく最近、

「サービス全体が、独立した小さなサービスの集合で構成されるようになってきている」

@everpeace
everpeace / Macros.scala
Last active December 14, 2015 02:59
ユーザから渡されたブロックにimplicit valを注入するマクロを組んでみたけどうまくいかない。
import reflect.macros.Context
object Macros{
// on(i){ ... }とやるとblockの中にiをimplicitとして注入するマクロ
def on[I, V](i:I)(block:V)= macro impl_on[I,V]
def impl_on[I, V](c:Context)(i:c.Expr[I])(block:c.Expr[V]):c.Expr[V] = {
import c.universe._
// type of block is
@everpeace
everpeace / sample.scala
Last active December 13, 2015 19:48
なぜ暗黙の型変換が適用されないのかわからない><
import scala.language.higherKinds
// 代数の型クラスの階層があって
trait Algebra[E]{ def op(e1:E,e2:E):E }
trait SubAlgebra[E] extends Algebra[E]
// ある代数の型クラスのオブジェクトがあって
object ConcreteAlgebra extends SubAlgebra[Int]{
def op(e1:Int, e2:Int) = e1+e2
}