AmitKumarDas / fun-with-programming

ABC - Always Be Coding
2 stars 2 forks source link

[sticky] what's up #14

Closed AmitKumarDas closed 1 year ago

AmitKumarDas commented 3 years ago
// deep code // fellow // deep work // staff work
//
// https://github.com/praetorian-inc/gokart/blob/main/analyzers/rsa.go
// https://github.com/istio/istio/issues/8772 // code gen // api // protoc // openapi // crd // k8s
// https://github.com/banzaicloud/kurun [imp]
// https://github.com/kubernetes-sigs/kube-storage-version-migrator
// https://kube-vip.io/
// https://github.com/gorilla/websocket
// https://github.com/inlets
// https://github.com/ghostunnel
// https://kubernetes.io/docs/tasks/debug-application-cluster/audit/
// integrate governance toolkit with keptn.sh 
// https://kubernetes.io/docs/reference/using-api/server-side-apply/
// https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/
// Areas / Research
//
// Content Defined Chunking [todo]
// DB Design Book [todo]
// Designing Data Intensive Apps [todo]
// Blog, CFP, Talks,...
//
// The only retrospective .. path of features or path of outcomes
// Testing.. let's not forget the basics
// Governance season 1 : Reduce the guesswork and focus on learning
// Governance season 2 :  Outages are coming
// A blueprint for effective Design Sprints
// Spec is the new API / API has a new home
// Controller-RunKit 
// --Self Servicing Controllers
// --Controllers for the masses
// --Controllers built around Clean Architecture
// Simple Go designs for your needs - Part 1, Part 2, .. [wip]
// open source training
//
// https://github.com/todogroup/ospo101
AmitKumarDas commented 3 years ago
// sd
//
// daniel mangum blogs - low level - dsa - 
// read the fb last email
// https://medium.com/swlh/developing-a-microservice-to-handle-over-30k-requests-per-second-at-ifood-3e2d7b822b0e
// https://dilfuruz.medium.com/data-consistency-in-microservices-architecture-5c67e0f65256
// https://medium.com/pragmatic-programmers/build-a-commit-log-prototype-e2f91c234957
// http://blevesearch.com/
// https://www.gobeyond.dev/packages-as-layers/ // author of BoltDB
// https://blog.questionable.services/article/kubernetes-admission-control/  // k8s
// https://peter.bourgon.org/blog/2021/04/02/dont-use-build-tags-for-integration-tests.html
// https://github.com/golang/proposal/blob/master/design/24543-non-cooperative-preemption.md
// https://mtlynch.io/litestream/
// https://medium.com/@fzambia/building-real-time-messaging-server-in-go-5661c0a45248
// https://blog.klauspost.com/
// https://entgo.io/blog/2021/05/04/announcing-schema-imports/
// https://swarch.blog/golang-a-new-generics-implementation-proposal/
// https://golang.design/history
// https://encore.dev/guide/go.mod
// https://medium.com/bumble-tech/bpf-and-go-modern-forms-of-introspection-in-linux-6b9802682223
// https://medium.com/swlh/developing-a-microservice-to-handle-over-30k-requests-per-second-at-ifood-3e2d7b822b0e
// https://medium.com/@thejasbabu/concurrency-patterns-golang-5c5e1bcd0833
// https://medium.com/pragmatic-programmers/make-your-service-observable-141730d4e922
// https://medium.com/pragmatic-programmers/discover-services-with-serf-926086d0430d
// https://medium.com/airbnb-engineering/himeji-a-scalable-centralized-system-for-authorization-at-airbnb-341664924574
// https://levelup.gitconnected.com/implement-a-finite-state-machine-in-golang-f0438b6bc0a8
// https://sharma1612harshit.medium.com/back-pressure-rate-limiting-9ed9d544409e
// https://medium.com/root-node/design-in-memory-file-system-96ee6c484616
// https://dev.to/frosnerd/writing-a-simple-tcp-server-using-kqueue-cah
// https://blog.golang.org/context-and-structs
// https://medium.com/coinmonks/operational-transformations-as-an-algorithm-for-automatic-conflict-resolution-3bf8920ea447
// https://blog.twitter.com/engineering/en_us/topics/insights/2021/sharing-learnings-about-our-image-cropping-algorithm.html

// dsa
//
// https://github.com/keep-practicing/leetcode-go
// https://github.com/austingebauer/go-leetcode
// https://www.techiedelight.com/
AmitKumarDas commented 3 years ago
// data
//
// https://www.singlestore.com/blog/replication-system-of-record-memsql-7-0/
// https://github.com/aclements/go-rabin // content defined chunking
// https://www.freecodecamp.org/news/how-to-implement-the-change-data-capture-pattern-using-kafka-streams/
// https://eng.lyft.com/building-an-adaptive-multi-tenant-stream-bus-with-kafka-and-golang-5f1410bf2b40
// https://www.confluent.io/blog/using-logs-to-build-a-solid-data-infrastructure-or-why-dual-writes-are-a-bad-idea/
// https://engineering.linkedin.com/research/2012/all-aboard-the-databus-linkedlns-scalable-consistent-change-data-capture-platform
// https://netflixtechblog.com/dblog-a-generic-change-data-capture-framework-69351fb9099b
// https://restic.net/blog/2015-09-12/restic-foundation1-cdc/
// https://dev.to/thiagosilvaf/gocdc-and-postgres-1m4m
// https://debezium.io/blog/2020/02/10/event-sourcing-vs-cdc/
// https://dilfuruz.medium.com/data-consistency-in-microservices-architecture-5c67e0f65256
// https://medium.com/root-node/design-in-memory-file-system-96ee6c484616
// https://timothystepro.medium.com/visualizing-kafka-20bc384803e7
// https://groups.google.com/g/redis-db/c/1ES8eGaJvek   // redis disk store designs
// http://coding-geek.com/how-databases-work/
// https://litestream.io/blog/why-i-built-litestream/
// https://www.notion.so/blog/data-model-behind-notion
// https://medium.com/coinmonks/operational-transformations-as-an-algorithm-for-automatic-conflict-resolution-3bf8920ea447
// https://engineering.fb.com/2016/08/31/core-data/myrocks-a-space-and-write-optimized-mysql-database/
// https://engineering.fb.com/2021/07/22/data-infrastructure/mysql/
AmitKumarDas commented 3 years ago
// net
//
// https://kinvolk.io/blog/2019/05/performance-benchmark-analysis-of-istio-and-linkerd/
AmitKumarDas commented 3 years ago
// perf
//
// https://www.notion.so/Improving-performance-at-scale-432a23dc5607416cafb5f82360e5f157
// https://talawah.io/blog/extreme-http-performance-tuning-one-point-two-million/
// https://blog.cloudflare.com/recycling-memory-buffers-in-go/
// https://blog.questionable.services/article/using-buffer-pools-with-go/
// https://golang.org/doc/effective_go#leaky_buffer
// https://dave.cheney.net/high-performance-go-workshop/gophercon-2019.html
// https://go.googlesource.com/proposal/+/master/design/35112-scaling-the-page-allocator.md
// https://mattnakama.com/blog/go-branchless-coding/
// https://tailscale.com/blog/netaddr-new-ip-type-for-go/
// https://crawshaw.io/blog/go-and-sqlite
// https://turriate.com/articles/making-sqlite-faster-in-go
// https://brunocalza.me/discovering-and-exploring-mmap-using-go/
// https://brunocalza.me/but-how-exactly-databases-use-mmap/
// http://www.goldsborough.me/go/2020/12/06/12-24-24-non-blocking_parallelism_for_services_in_go/
// https://rauljordan.com/2021/01/05/reuse-expensive-computation-with-in-progress-caches.html
// https://dzone.com/articles/memory-pooling-in-go-where-why-and-how
// https://syslog.ravelin.com/bytes-buffer-i-thought-you-were-my-friend-4148fd001229
// https://blog.usejournal.com/why-you-should-like-sync-pool-2c7960c023ba
// https://blog.golang.org/slices-intro
// https://www.captaincodeman.com/2017/06/02/golang-buffer-pool-gotcha
// https://groups.google.com/g/golang-nuts/c/n_By5xPzDho/discussion
// https://adtac.in/2021/04/23/note-on-worker-pools-in-go.html
// https://blog.klauspost.com/an-async-read-ahead-package-for-go/
// https://blog.kowalczyk.info/article/d/improving-speed-of-smaz-compressor-by-2.6x1.5x.html
// https://blog.kowalczyk.info/article/n/fuzzing-markdown-parser-written-in-go.html
// https://blog.kowalczyk.info/article/JyRZ/generating-good-unique-ids-in-go.html
// https://medium.com/a-journey-with-go/go-inlining-strategy-limitation-6b6d7fc3b1be
// https://medium.com/bumble-tech/bitmap-indexes-in-go-unbelievable-search-speed-bb4a6b00851
// https://syafdia.medium.com/go-concurrency-pattern-semaphore-9587d45f058d
// https://marksalpeter.com/concurrent-api-patterns-in-go-52fcb5a9c681
// https://medium.com/a-journey-with-go/go-asynchronous-preemption-b5194227371c
// https://teivah.medium.com/a-closer-look-at-go-sync-package-9f4e4a28c35a
// https://teivah.medium.com/go-and-cpu-caches-af5d32cc5592
// https://applied-math-coding.medium.com/golangs-golden-pattern-of-parallel-computing-1b130b03bbdb
// https://medium.com/swlh/bad-go-frivolous-sprintf-2ad28fedf1a0
// https://medium.com/swlh/bad-go-not-sizing-slices-aed1b01cff83
// https://arunsworld.medium.com/structured-concurrency-in-go-b800c7c4434e
// https://medium.com/a-journey-with-go/go-what-does-a-goroutine-switch-actually-involve-394c202dddb7
// https://medium.com/a-journey-with-go/go-finalizers-786df8e17687
// https://medium.com/a-journey-with-go/go-string-conversion-optimization-767b019b75ef
// https://applied-math-coding.medium.com/golangs-golden-pattern-of-parallel-computing-1b130b03bbdb
// https://baihuqian.github.io/2018-02-24-golang-memory-allocation/
// https://www.timqi.com/2020/05/14/why-we-need-scheduler/
// https://www.timqi.com/2020/08/02/lock-in-golang/ // instead of channel
// https://www.timqi.com/2020/05/15/how-does-gmp-scheduler-work/
// https://www.timqi.com/2020/06/11/golang-memory-management/
// https://www.altoros.com/blog/golang-internals-part-1-main-concepts-and-project-structure/
// https://www.altoros.com/blog/golang-internals-part-6-bootstrapping-and-memory-allocator-initialization/
// https://segment.com/blog/allocation-efficiency-in-high-performance-go-services/
// https://blog.kowalczyk.info/article/JyRZ/generating-good-unique-ids-in-go.html
// https://blog.kowalczyk.info/article/u5o7/speeding-up-go-with-custom-allocators.html
// https://medium.com/@panjf2000/releasing-a-high-performance-and-lightweight-event-loop-networking-library-in-go-c36be3c9d87d
// https://medium.com/techverito/golang-struct-size-and-memory-optimisation-b46b124f008d
// https://www.mailgun.com/blog/golangs-superior-cache-solution-memcached-redis/
// https://dev.to/davidsbond/golang-creating-distributed-systems-using-memberlist-2fa9
// https://levelup.gitconnected.com/implement-a-finite-state-machine-in-golang-f0438b6bc0a8
// https://itnext.io/breaking-down-and-fixing-etcd-cluster-d81e35b9260d
// https://fractalideas.com/blog/how-fast-can-you-go/
// https://brunocalza.me/how-buffer-pool-works-an-implementation-in-go/
// https://adayinthelifeof.nl/2021/03/04/go-map-vs-switch.html
// http://labix.org/gommap
// https://blog.labix.org/2010/11/28/removing-seatbelts-with-the-go-language-for-mmap-support
// https://dave.cheney.net/2015/10/09/padding-is-hard
// http://vsdmars.blogspot.com/2019/01/golang-golangs-memory-management-eben.html
AmitKumarDas commented 3 years ago
// code // go // language // dsa // design
//
// https://storj.io/blog/a-tale-of-two-copies
// https://github.com/crawshaw/sqlite
// https://github.com/couchbase/go-slab
// https://golang.org/src/runtime/malloc.go
// https://github.com/dgryski/go-tinymap
// https://github.com/dgryski/go-bits
// https://github.com/dgryski/go-abitvec
// https://github.com/dgryski/go-shardedkv
// https://github.com/dgryski/go-tinylfu
// https://github.com/dgryski/go-tsz // time series compression // FB
// https://github.com/icza/dyno // dynamic objects
// https://github.com/icza/kvcache
// https://github.com/dgryski/go-jump // consistent hashing
// https://github.com/icza/bitio  // bit reader / writer
// https://github.com/yourbasic/fenwick   // prefix sums
// https://github.com/yourbasic/radix   // string sorting
// https://github.com/yourbasic/bloom // probabilistic set datastructure
// https://github.com/yourbasic/bit
// https://github.com/k-sone/critbitgo  // sorted map / IP routing
// https://github.com/bearmini/bitstream-go
// https://github.com/go-kratos/kratos  // framework for microservices
// https://github.com/climech/grit  // multitree personal task manager
// https://github.com/dgryski/awesome-consensus
// https://github.com/dgryski/go-perfbook
// https://github.com/tailscale/tailscale
// https://github.com/bfenetworks/bfe // layer 7 load balancer
// https://github.com/lni/dragonboat // multi group raft
// https://github.com/foxcpp/maddy // cgo sqllite
// https://github.com/juicedata/juicefs  // s3 & redis
// https://entgo.io/  // entity framework from Facebook
// https://github.com/geohot/minikeyvalue // distributed kv under 1000 lines
// https://github.com/karrick/gosync
// https://github.com/karrick/go-atomic-float
// https://github.com/karrick/gosort
// https://github.com/karrick/gobptree
// https://github.com/karrick/gopool
// https://github.com/karrick/tsync  // better than rsync
// https://github.com/karrick/gohm // http middleware + bitmask + buffer
// https://github.com/karrick/godirwalk
// https://github.com/linkedin/goavro // buffer vs []byte
// https://github.com/karrick/goswarm // memoization
// https://github.com/karrick/gobls // buffered line scanner
// https://github.com/karrick/bufpool // freelist of byte buffers
// https://github.com/ziutek/mymysql
// https://github.com/go-sql-driver/mysql
// https://github.com/aclements/go-rabin // core go contributor // content defined chunking
// https://github.com/codenotary/immudb
// https://github.com/lukechampine/few  // fastest encoder
// https://github.com/lukechampine/mjson  // modify json fast
// https://github.com/lukechampine/jj   // json journal
// https://github.com/lukechampine/noescape // no heap
// https://github.com/lukechampine/merkle  // in various languages
// https://github.com/lukechampine/blake3  // cryptographic hash // merkle
// https://github.com/lukechampine/uint128
// https://github.com/lukechampine/frand
// https://github.com/tinylib/msgp  // message pack
// https://github.com/Vivino/rankdb // ranked lists // real time
// https://github.com/klauspost/readahead
// https://github.com/klauspost/asmfmt
// https://github.com/klauspost/cpuid
// https://github.com/klauspost/pgzip
// https://github.com/klauspost/reedsolomon // erasure coding
// https://github.com/klauspost/compress
// https://golang.org/pkg/compress/
// https://github.com/google/uuid/blob/master/uuid.go
// https://github.com/satori/go.uuid/blob/master/uuid.go // bit
// https://github.com/SigNoz/signoz // monitor vs. DataDog
// https://github.com/restic/chunker
// https://github.com/scylladb/scylla-cdc-go
// https://github.com/ThiagoSilvaF/gocdc
// https://github.com/dgraph-io/ristretto  // memory bound go cache
// https://github.com/poonai/aran  // kv on ranged LSM tree
// https://github.com/t3rm1n4l/nitro-lsm
// https://github.com/derekparker/trie // fast prefix/fuzzy string search
// https://github.com/stathat/rotate
// https://github.com/stathat/ramcache
// https://github.com/stathat/consistent
// https://github.com/petar/GoLLRB
// https://github.com/stathat/treap
// https://github.com/zond/treap
// https://github.com/perdata/treap // persistent immutable sorted sets
// https://github.com/couchbase/moss // kv ordered persisted 
// https://github.com/couchbase/mossScope
// https://github.com/couchbase/cbgt // data shards across servers
// https://github.com/steveyen/gkvlite  // kv ordered persisted 
// https://github.com/steveyen/gtreap // immutable treap
// https://github.com/crawshaw/asm // assembler in go
// https://github.com/crawshaw/crux
// https://github.com/crawshaw/readmap
// https://github.com/crawshaw/iox
// https://github.com/crawshaw/fs
// https://github.com/google/gvisor/tree/go
// https://github.com/emersion/go-message   // stream mail
// https://github.com/magma/magma // modular network services
// https://github.com/uber/cadence  // distributed + async + long running logic
// https://github.com/spiral/roadrunner
// https://github.com/k0sproject/k0s  // zero friction k8s
// https://github.com/TykTechnologies/tyk // api gateway
// https://github.com/google/gapid/blob/master/core/memory/arena/arena.go
// https://github.com/google/gapid/tree/master/core/data
// https://github.com/google/gapid/tree/master/core/event
// https://github.com/google/gapid/tree/master/core/memory_tracker
// https://github.com/google/gvisor/tree/master/pkg/buffer
// https://github.com/microsoft/mimalloc
// https://github.com/elliotchance/orderedmap
// https://github.com/peterbourgon/diskv
// https://github.com/google/btree
// https://github.com/Aigent/nq // streaming
// https://github.com/Aigent/nq/blob/main/pool.go
// https://github.com/Aigent/nq/blob/main/ringbuf.go
// https://github.com/mailgun/mailgun-go  // distributed / redis / memcached
// https://github.com/iwanbk/bcache // eventually consistent distributed inmemory cache
// https://github.com/hashicorp/memberlist
// https://github.com/thrift-iterator/go
// https://github.com/libp2p/go-libp2p-pubsub
// https://github.com/libp2p/go-libp2p-swarm // streaming
// https://github.com/libp2p/go-buffer-pool
// https://github.com/oxtoacart/emsort
// https://github.com/oxtoacart/bpool
// https://github.com/gobwas/radix
// https://github.com/valyala/gheap
// https://github.com/valyala/fastrand
// https://github.com/valyala/bytebufferpool
// https://github.com/VictoriaMetrics/fastcache   // minimizes GC overhead
// https://github.com/valyala/fasthttp   // 0 mem allocations in hot path
// https://github.com/tidwall/btree
// https://github.com/miekg/dns
// https://github.com/256dpi/lungo // mongodb compatible // embed
// https://github.com/inlets/inlets // tunnel
// https://github.com/armon/go-radix
// https://github.com/hashicorp/go-immutable-radix
// https://github.com/antirez/rax
// https://github.com/vmxdev/tkvdb
// https://github.com/plar/go-adaptive-radix-tree
// https://github.com/gbrlsnchs/radix
// https://github.com/dominikh/go-tools [fellow]
// https://github.com/blevesearch/mmap-go
// https://github.com/aclements/go-perf
// https://github.com/cenkalti/backoff
// https://github.com/nsqio/nsq
// https://github.com/bitly/go-hostpool
// https://github.com/golang/go/tree/master/src/go/ast
// https://github.com/gogo/protobuf
// https://github.com/syndtr/goleveldb
// https://github.com/golang/leveldb
// https://github.com/bradfitz/art
// https://github.com/dshulyak/art // fellow
// https://github.com/dshulyak/urkeltrie // fellow - db - merkle
// https://github.com/dshulyak/uring
// https://github.com/dshulyak/raft
// https://github.com/dshulyak/rapid // distributed membership
// https://github.com/dshulyak/testing-paxos
// https://github.com/r3labs/sse
// https://github.com/r3labs/broadcast
// https://github.com/r3labs/composable // git & docker compose
// https://github.com/r3labs/statemachine
// https://github.com/draganm/missing-container-metrics // cli, http, prometheus, metrics, oom, crash
// https://paulyeo21.medium.com/golang-underscore-struct-field-f0aecabc72ae // underscore in go
// https://github.com/Netflix/p2plab/blob/master/benchmark.go // test, infra, interface, design, ctx
// https://github.com/Netflix/rend // memcached, data chunking, L1 & L2 cache, SSD
// https://github.com/netflix/rend-lmdb // LMDB
// https://github.com/nsqio/nsq // distributed, realtime, message queue
// https://github.com/dahernan/breaker // circuit breaker
// https://github.com/dahernan/token // emit secure tokens
// https://github.com/dahernan/ratelimiter // rete limiting via redis sorted sets, leaky buckets
// https://github.com/dahernan/auth // auth route & middleware for http
// https://github.com/dahernan/backoff // backoff & retries
// https://github.com/dahernan/memtask // in-memory async task execution
// https://github.com/open-policy-agent/opa/blob/main/rego // DSL, assertion language
// https://github.com/alibaba/pouch // container engine
// https://github.com/dragonflyoss/Dragonfly // image & file distribution // containers
// https://github.com/didi/nightingale // performance monitoring system
// https://github.com/koderover/zadig // testing, k8s, testing as a service
// https://github.com/chaosblade-io/chaosblade // testing, go, c++, java, language spec, alibaba
// https://pkg.go.dev/hash/maphash@go1.16.7
// https://github.com/segmentio/fasthash // fast implementation of std hash
// https://blog.golang.org/gob // transmit go data structure across network or store into file, encode, decode
// https://golang.org/src/encoding/gob/doc.go // deep work, design, fellow
// https://github.com/mitchellh/hashstructure // hash go structures, visit, walk, reflect, kind
// https://blog.golang.org/gob // newsletter?
// https://github.com/fastly/go-fastly/blob/main/Makefile
// https://khanakia.medium.com/go-1-17-compiler-got-faster-and-go-mod-api-changed-71f35267d616
// https://flugel.it/kubernetes/kubernetes-nginx-ingress-consistent-hash-subset-load-balancer/ // dsa
// https://letscode.blog/2021/06/26/go-modules-and-private-git-repositories/
// http://fast4ward.online/posts/a-guide-to-interfaces-in-go/ // design
// https://github.com/kubernetes/apimachinery/blob/master/pkg/api/errors/errors.go // errors
// https://github.com/kubernetes-sigs/controller-runtime/blob/master/pkg/client/options.go // design
// https://github.com/mitchellh/hashstructure/ // design // reflect
// https://travix.io/errors-derived-from-constants-in-go-fda6748b4072 // error constants
// https://dave.cheney.net/2016/04/07/constant-errors // error constants
// entgo blog // design // functional go // library
// https://github.com/praetorian-inc/gokart // static analysis // secure code // tool // lint // design
// https://eli.thegreenplace.net/2021/plugins-in-go/
// https://github.com/DataDog/go-profiler-notes/blob/main/guide/README.md // performance // heap // memory // cpu // goroutine
// https://brandur.org/sqlc // orm // database // postgres
// https://golang.design/research/zero-alloc-call-sched/ // fellow // memory // heap // goroutine // benchmark // thread
// https://neilalexander.dev/2021/08/29/go-pass-by-value.html // slice // map // channel // struct // threadsafe // data race
// https://go.googlesource.com/proposal/+/master/design/45713-workspace.md // module // workspace // proposal
// https://github.com/FiloSottile/age // encryption
// https://github.com/Dreamacro/clash // http // https // socks // authentication // http server // dns // iptables // load balance // rules
// // https://medium.com/@rifqiakrm/goroutine-without-channel-and-waitgroup-is-a-disaster-a2d2130a6c0a // channel // waitgroup // goroutine
// https://medium.com/@michalkowal567/rules-pattern-in-golang-425765f3c646 // rules // filters // matches // select
// https://blog.chuie.io/posts/synconce/ // sync once // singleton // mutex // caching // fellow // various styles // design // til
// https://github.com/go-errors/errors // stacktrace // errors
// https://github.com/traefik/yaegi // golang interpreter // scripting // eval // compile time // runtime
AmitKumarDas commented 3 years ago
// lang/tool
//
// https://dave.cheney.net/high-performance-go-workshop/gophercon-2019.html
// https://medium.com/swlh/go-profile-your-code-like-a-master-1505be38fdba
// https://ozdinc-celikel.medium.com/go-tooling-essentials-7df967f02965
// https://scattered-thoughts.net/writing/mmio-in-zig/
// https://medium.com/swlh/5-mistakes-ive-made-in-go-75fb64b943b8
// https://medium.com/@romanyx90/testing-database-interactions-using-go-d9512b6bb449
// https://medium.com/a-journey-with-go/go-asynchronous-preemption-b5194227371c
// https://levelup.gitconnected.com/static-code-analysis-for-golang-5f24b555d227
// https://www.ins1gn1a.com/basics-registers-stack-heap/
// https://leogtzr.medium.com/how-to-use-makefiles-for-your-golang-development-b4c438fe0bdd
// https://medium.com/a-journey-with-go/go-goroutine-leak-detector-61a949beb88
// https://blog.kowalczyk.info/article/wOYk/advanced-command-execution-in-go-with-osexec.html
// https://github.com/elliotchance/tf // testing
// https://github.com/dgryski/awesome-go-style
// https://github.com/icza/mighty // testing
// https://francis.begyn.be/blog/rtnetlink-xdp // bug // debug // encode // decode
AmitKumarDas commented 3 years ago
// dsa
//
// http://www.cse.yorku.ca/~ruppert/papers/lfll.pdf // lockfree LL & skiplists
// https://www.singlestore.com/blog/common-pitfalls-in-writing-lock-free-algorithms/
// https://eileen-code4fun.medium.com/log-structured-merge-tree-lsm-tree-implementations-a-demo-and-leveldb-d5e028257330
// https://pavpanchekha.com/blog/treap.html
// https://medium.com/trick-the-interviwer/rotting-oranges-e09ca22f6e24
// PebblesDB paper
// https://dev.to/douglasmakey/implementation-of-dijkstra-using-heap-in-go-6e3
//
// // radix
//
// https://blog.sqreen.com/demystifying-radix-trees/
// https://en.wikipedia.org/wiki/Radix_tree
// https://medium.com/@wetter.j/tries-radix-trees-and-ethereum-4625a702a51b
// https://news.ycombinator.com/item?id=18921058
// https://www.programmersought.com/article/32831894519/
// https://www.the-paper-trail.org/post/art-paper-notes/
// https://www.hariguchi.org/art/art.pdf
// https://db.in.tum.de/~leis/papers/ART.pdf
// https://15721.courses.cs.cmu.edu/spring2017/papers/08-oltpindexes2/leis-damon2016.pdf
// http://sites.computer.org/debull/A19mar/p73.pdf
//
// // merkle
//
// https://handshake.org/files/handshake.txt
AmitKumarDas commented 3 years ago
// product
//
// https://productcoalition.com/why-we-dont-interview-product-managers-anymore-ba1dd0031c0b
// escape the build trap - book
// shape up - book
AmitKumarDas commented 3 years ago
// platform // k8s // infra // newsletter // blogs
//
// http://lwkd.info/ // last week in kubernetes development
// https://www.cncf.io/kubeweekly/ // cncf kubernetes weekly
// https://blog.tilt.dev/ // cloud native tooling
//
// blogs // k8s // infra
//
// https://itnext.io/why-everyone-builds-internal-kubernetes-platforms-284c2cf76226
// https://loft.sh/docs/guides/onboarding
// https://github.com/loft-sh/devspace
// https://loft.sh/blog/kubernetes-development-workflow-3-critical-steps/
// https://medium.com/faun/kubernetes-cost-savings-by-reducing-the-number-of-clusters-336378680995
// https://loft.sh/blog/building-an-internal-kubernetes-platform
// https://loft.sh/blog/kubernetes-development-environments-comparison/
// https://dev.to/ethanjjackson/why-eventbrite-runs-a-700-node-kube-cluster-just-for-development-2l9p
// https://www.youtube.com/watch?v=vLrxOhZ6Wrg -- spotify
// https://youtu.be/4YanEWCAPlk?t=544 -- datadog
// https://loft.sh/docs/self-service/sleep-mode
// https://loft.sh/blog/building-an-internal-kubernetes-platform/
// https://github.com/kiosk-sh/kiosk
// https://static.sched.com/hosted_files/kccnceu20/a8/Toolchains%20v3.pdf - datadog - pg 25
// https://www.youtube.com/watch?v=cpIO5h7EuEE - box
// https://loft.sh/blog/why-adopting-kubernetes-is-not-the-solution/
// https://static.sched.com/hosted_files/kccnceu20/a8/Toolchains%20v3.pdf
// https://engineering.atspotify.com/2021/03/01/designing-a-better-kubernetes-experience-for-developers/
// https://github.com/GoogleContainerTools/kaniko // build dockerfile in k8s
// https://loft.sh/blog/the-journey-of-adopting-cloud-native-development/ // imp
// https://jonathanbeber.github.io/post/smi-traffic-split/
// https://github.com/tomhuang12/awesome-k8s-resources // awesome
// https://codefresh.io/kubernetes-tutorial/kubernetes-antipatterns-1/ [fellow]
// https://humanitec.com/platform-api
// https://itnext.io/kubernetes-what-are-endpoints-3cc9e769b614 // endpoint // fqdn // service // ip table // load balance
// https://rtfm.co.ua/en/kubernetes-clusterip-vs-nodeport-vs-loadbalancer-services-and-ingress-an-overview-with-examples/
//
// podcast // blogs // articles // staff // leadership
//
// https://leaddev.com/
// https://podcast.staffeng.com/
//
// cncf // blogs // k8s // multi-cluster
// https://kubernetes.io/blog/2021/10/08/capi-clusterclass-and-managed-topologies/ // cluster // topology // provider // k8s in k8s // big tent model // schema // design // yaml
// https://cloud.google.com/kubernetes-engine/docs/how-to/multi-cluster-ingress // ingress
// https://github.com/kubernetes-sigs/gateway-api/tree/master/examples/v1alpha2 // gateway // traffic split
// https://docs.google.com/document/d/1cWcdB40pGg3KS1eSyb9Q6SIRvWVI8dEjFp9RI0Gk0vg/edit#heading=h.u7jfy9wqpd2b // work API // multi cluster
// https://github.com/moule3053/mck8s // multi cluster // traffic routing mesh // serf // proximity aware
//
// load balancer
// https://medium.com/thermokline/kubernetes-v1-22-ends-cloud-provider-loadbalancer-lock-in-80ed7907695e
//
// cloud formation // terraform
// https://gswallow.medium.com/do-not-use-aws-cloudformation-7cf61f58bd5f
AmitKumarDas commented 2 years ago
// newsletters, deep work, books
//
// https://github.com/rust-lang/this-week-in-rust [code/git]
// https://staffeng.com/
// https://dok.community/schedule/
// https://downtimeproject.com/
// http://lwkd.info/
// https://leaddev.com/
AmitKumarDas commented 2 years ago
// e2e // testing // k8s // troubleshoot // runbook // code
//
// https://github.com/kubernetes-sigs/e2e-framework // makefile
// https://docs.google.com/document/d/11JKqcnUOrw5Lk98f_ylJXBXyxWSW1z3CZu27OLX1CbM/ // k8s, e2e v2
// https://docs.google.com/document/d/1ZtN58kU8SKmDDkxeBKxR9Un76eqhszCVcZuqhs-fLIU/ // k8s, client-go util
// https://github.com/knative-sandbox/reconciler-test
// https://github.com/projectcontour/integration-tester
// https://github.com/kubernetes-sigs/application/blob/master/e2e/main_test.go
//
// https://github.com/arrikto/oidc-authservice/blob/master/e2e/e2e_test.go
// -- https://github.com/arrikto/oidc-authservice/#e2e-tests
// -- https://github.com/arrikto/oidc-authservice/blob/2b450a015406290476b1c08467a29ec6c1e269b0/.github/workflows/go.yaml
//
// https://cluster-api.sigs.k8s.io/developer/e2e.html
// -- https://github.com/kubernetes-sigs/cluster-api/tree/master/test
//
// https://github.com/stretchr/testify
// https://github.com/go-check/check
// https://posener.github.io/order/
// https://go.libhunt.com/go-cmp-alternatives
// https://github.com/gotestyourself/gotestsum
// https://github.com/cweill/gotests // generate table driven tests
// github.com/nsf/jsondiff // full match, subset / superset match
// https://github.com/r3labs/diff // pure diff, change log
// https://github.com/google/go-cmp // custom comparison 
// https://github.com/alexpantyukhin/go-pattern-match
// https://github.com/dastergon/vegeta-operator
// https://github.com/rancher/k3d
// https://evilmartians.com/chronicles/build-images-on-github-actions-with-docker-layer-caching
// https://github.com/jgroeneveld/schema // json, match
// https://github.com/banzaicloud/bank-vaults/blob/master/hack/acceptance-test.sh
// https://github.com/banzaicloud/dast-operator
// https://github.com/banzaicloud/k8s-objectmatcher/tree/master/tests // [fellow], // 3 way merge // apply
// https://github.com/linkerd/linkerd2/tree/main/pkg/healthcheck // [fellow]
// https://github.com/zalando-incubator/kubernetes-on-aws/blob/dev/test/e2e/
//
// https://www.datadoghq.com/knowledge-center/synthetic-testing/
// https://www.datadoghq.com/blog/test-creation-best-practices/
// 
// https://gist.github.com/balajismaniam/7c2d57b2f526a56bb79cf870c122a34c // stress container/pod
// https://gist.github.com/balajismaniam/fac7923f6ee44f1f36969c29354e3902 // parsec benchmark suite
// https://gist.github.com/bobrik/2030ff040fad360327a5fab7a09c4ff1 // cpu throttling
//
// https://www.inovex.de/de/blog/illuminatio-kubernetes-network-policy-validator/ 
// https://github.com/inovex/illuminatio // network validation
//
// dynamic client // yaml // json // code // discovery
// https://ymmt2005.hatenablog.com/entry/2020/04/14/An_example_of_using_dynamic_client_of_k8s.io/client-go
//
// integrate governance toolkit with keptn.sh 
// github repo - efficientgo/e2e - framework
//
// https://rtfm.co.ua/en/kubernetes-clusterip-vs-nodeport-vs-loadbalancer-services-and-ingress-an-overview-with-examples/
// https://build.thebeat.co/a-curious-case-of-aws-nlb-timeouts-in-kubernetes-522bd88a3399 // timeout
// https://github.com/pact-foundation/pact-go // http api // contract testing
// https://medium.com/@ahmetb/mastering-kubeconfig-4e447aa32c75 // kubeconfig // context // client // config // tool
// https://medium.com/@kubiquityapp/kubiquity-a-kubernetes-error-monitoring-tool-385b41bea0c0 // debug // time travel // error message
// https://brandur.org/fragments/go-xerror // stack traces
//
// pipelines as code // grpc // plugin // go plugin // hashicorp // support multiple languages
//
// https://github.com/gaia-pipeline/gaia // ci cd // pipeline
// https://github.com/sieve-project/sieve // testing // e2e // controller // python // feature // scenario // gherkin style
AmitKumarDas commented 2 years ago
// specs // api // k8s // infra
//
// https://github.com/servicemeshinterface/smi-spec/tree/main/apis // design
// https://carvel.dev/kapp-controller/docs/latest/app-spec/
// https://github.com/servicemeshinterface/smi-spec
// https://blog.argoproj.io/introducing-the-applicationset-controller-for-argo-cd-982e28b62dc5
//
// OAM // specs // api // infra
//
// https://oam.dev/
// https://kubevela.io/ // cue, oam
// https://docs.google.com/document/d/1cLPGweVEYrVqQvBLJg6sxV-TrE5Rm2MNOBA_cxZP2WU/edit
// https://docs.google.com/document/d/1RmHXdLhNbyOWPW_AtnnowaRfGejw-qlKQIuLKQWlwzs/edit
// https://github.com/verrazzano/verrazzano // oracle, oam, operator
AmitKumarDas commented 2 years ago
// tools // controller // k8s // infra // operator // github // repo // code
//
// Eventbrite's yak
// Spotify's tugboat
//
// https://github.com/kubernetes-sigs/controller-runtime/blob/master/pkg/client/patch.go
// https://ymmt2005.hatenablog.com/entry/2020/04/14/An_example_of_using_dynamic_client_of_k8s.io/client-go [good] [unstruct] [decode] [yaml]
// https://github.com/crossplane/oam-kubernetes-runtime/blob/master/pkg/oam/discoverymapper/
// https://github.com/crossplane/oam-kubernetes-runtime/tree/master/pkg/webhook/
// https://github.com/yannh/kubeconform
// https://github.com/tilt-dev/ctlptl
// https://github.com/loft-sh/jspolicy  // learn using controller-runtime
// https://github.com/okteto/okteto   // learn to build developer tooling
// https://github.com/loft-sh/devspace // learn to build developer tooling
// https://github.com/kubernetes-sigs/e2e-framework
// https://docs.google.com/document/d/11JKqcnUOrw5Lk98f_ylJXBXyxWSW1z3CZu27OLX1CbM/
// https://github.com/knative-sandbox/reconciler-test
// https://github.com/pulumi/pulumi-kubernetesx // k8s // api
// https://erkanerol.github.io/post/how-kubectl-exec-works/
// https://github.com/okteto/okteto/blob/master/pkg/k8s/exec/exec.go
// https://www.wikiwand.com/en/SPDY
// https://github.com/intel/intel-device-plugins-for-kubernetes
// https://github.com/derailed/popeye // testing // pure go // sanitiser // security check
// https://github.com/corneliusweig/rakkess // access matrix // kubectl plugin
// https://github.com/FairwindsOps/rbac-manager
// https://github.com/FairwindsOps/rbac-lookup
// https://github.com/FairwindsOps/goldilocks
// https://github.com/IBM/argocd-vault-plugin
// https://tutorials.keptn.sh/tutorials/keptn-full-tour-prometheus-08/index.html // SLO gating // Prometheus 
// https://github.com/keptn/gh-action-ci-prepare-keptn-cluster // gh actions // spin GKE // API token 
// https://github.com/keptn/gh-action-extract-branch-name
//
// https://github.com/argoproj-labs/argocd-operator/blob/master/pkg/apis/argoproj/v1alpha1/argocd_types.go
// // all in one
//
// https://github.com/argoproj-labs/argocd-operator/tree/master/examples
// https://github.com/cruise-automation/rbacsync // security
// https://github.com/cruise-automation/k-rail // policy
// https://github.com/openkruise/kruise // advanced k8s controllers
// https://github.com/fluxcd/image-automation-controller // git, image, tag
// https://github.com/fluxcd/image-reflector-controller // metadata, scan, image
// https://github.com/stakater/Reloader/blob/master/internal/pkg/controller/controller.go // k8s, common
// https://github.com/stakater/Reloader/blob/master/internal/pkg/controller/controller_test.go // testing
// https://github.com/stakater/Reloader // configmap, secret, watch, controller, k8s
// https://github.com/fabric8io/configmapcontroller // k8s, controller, env
// https://github.com/open-policy-agent/gatekeeper // constraints & constraint templates
// https://github.com/kubernetes-sigs/hierarchical-namespaces
// https://github.com/open-policy-agent/cert-controller
// https://github.com/kubernetes-sigs/cluster-proportional-autoscaler
// https://github.com/kubernetes-sigs/minibroker
// https://github.com/medik8s // single responsibility principle // srp // design // strategy
// https://github.com/Dreamacro/clash // http // https // socks // authentication // http server // dns // iptables // load balance // rules
// https://github.com/kcp-dev/kcp/compare/main...imjasonh:namespace-scheduler // namespace // kcp // scheduler // design // fellow
// https://github.com/knative-sandbox/discovery/blob/main/docs/proposal.md // discovery
// https://horizontal-pod-autoscaler.readthedocs.io/en/latest/ // custom hpa
// https://github.com/jthomperoo/custom-pod-autoscaler // custom // hpa // digital ocean
// https://stevesloka.com/watch-for-resources-in-a-kubernetes-namespace/ // watch // http // without client go
// https://github.com/jthomperoo/custom-pod-autoscaler
AmitKumarDas commented 2 years ago
// provider // k8s // infra
//
// https://github.com/sighupio 
// https://goteleport.com/gravity/docs/
// https://github.com/kubernetes-sigs/controller-runtime/blob/master/examples/scratch-env/main.go 
//
// provider // k3s // K8s // infra
//
// https://www.suse.com/support/kb/doc/?id=000020082
// https://thenewstack.io/ruckstack-containerized-package-management-for-kubernetes/
// https://github.com/loft-sh/devspace
// https://rancher.com/docs/k3s/latest/en/installation/install-options/server-config/ // k3s, config, options
//
// KIND // k8s // provider // infra
//
// https://d2iq.com/blog/running-kind-inside-a-kubernetes-cluster-for-continuous-integration
// https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/
// https://github.com/kubernetes-sigs/kind/issues/303 // run KIND in a K8s Pod
// https://sookocheff.com/post/kubernetes/local-kubernetes-development-with-kind/
// https://afritzler.github.io/posts/using-kind-together-with-a-local-docker-registry/
//
// local // dev // provider // setup // bring your own k8s // testing
//
// https://github.com/tilt-dev/ctlptl
// https://github.com/tilt-dev/kind-local // kind
// https://github.com/tilt-dev/k3d-local-registry // k3d
// https://github.com/tilt-dev/minikube-local // minikube
//
// provider // k0s // air gapped
//
// https://medium.com/k0sproject/k0s-ready-for-production-20255c4b0791
// https://itnext.io/k0s-cluster-without-internet-access-ac0dda08aa63
// https://itnext.io/k0s-multi-node-cluster-with-k0sctl-922fc2cb4dc8
//
// kubernetes in kubernetes // inception // api // ecosystem // kcp // provider // virtual cluster
//
// https://kubernetes.io/blog/2017/01/how-we-run-kubernetes-in-kubernetes-kubeception/
// https://www.ovh.com/blog/kubinception-using-kubernetes-to-run-kubernetes/
// https://thenewstack.io/running-kubernetes-kubernetes/
// https://github.com/kcp-dev/kcp // apiserver without kubernetes
// https://github.com/kcp-dev/kcp/blob/main/docs/investigations/logical-clusters.md
// https://github.com/kubernetes-sigs/multi-tenancy/tree/master/incubator/virtualcluster
// https://gist.github.com/csams/d5a703730aae91ababc88aef64d33c45 // kcp in kine // postgres // sqlite, cockroachdb
//
// provider // platform // idp
//
// https://internaldeveloperplatform.org/what-is-an-internal-developer-platform/
//
// provider // aws // eks
// https://github.com/maddevsio/aws-eks-base // terraform // helm // terragrunt
// https://github.com/poseidon/typhoon // aws // azure // gcp // fedora // coreos
//
// multi cluster // provider // aws // gce // azure
//
// https://blog.turbonomic.com/a-brief-history-of-multicluster-kubernetes // ubernetes // history
// https://github.com/kubernetes/kubernetes/blob/8813c955182e3c9daae68a8257365e02cd871c65/release-0.19.0/docs/proposals/federation.md // history
// https://kccncna2021.sched.com/event/lV67/here-be-services-beyond-the-cluster-boundary-with-multicluster-services-laura-lorenz-google-stephen-kitt-red-hat?iframe=no // need // why
AmitKumarDas commented 2 years ago
// bugs // k8s // infra
//
// https://github.com/helm/helm/issues/6378 // overwrite, immutable, recreate
// https://github.com/istio/istio/issues/8772 // code gen // api // protoc // openapi // crd // k8s
//
// charts // k8s // helm // infra
//
// https://github.com/kubernetes/ingress-nginx/tree/master/charts/ingress-nginx
// https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/crds
// https://github.com/polymatic-systems/helm-charts // generic // helm charts
AmitKumarDas commented 2 years ago
// web hooks // k8s // infra
//
// https://dev.to/douglasmakey/implementing-a-simple-k8s-admission-controller-in-go-2dcg
// github - sse-secure-systems/connaisseur - admission controller - image sign verification - in python
//
// KYVERNO // webhook // k8s // infra
//
// https://neonmirrors.net/post/2021-02/kubernetes-policy-comparison-opa-gatekeeper-vs-kyverno/
AmitKumarDas commented 2 years ago
// samples // examples // awesome // k8s // infra // how to do // rtfm
//
// https://github.com/ContainerSolutions/kubernetes-examples
// https://www.kubernetesbyexample.com/concept/pods
// https://github.com/kubernauts/practical-kubernetes-problems
// https://github.com/NodyHub/docker-k8s-resources/tree/master/k8s-pods // security
// https://github.com/kubernetes/examples/
// https://rtfm.co.ua/en/kubernetes-clusterip-vs-nodeport-vs-loadbalancer-services-and-ingress-an-overview-with-examples/
// https://rtfm.co.ua/en/istio-shared-ingress-aws-alb-helm-chart-with-conditions-istio-and-externaldns/
// https://github.com/kubernetes-sigs/gateway-api/tree/master/examples/v1alpha2 // traffic split // route // tls // tcp // http // gateway // cross namespace
AmitKumarDas commented 2 years ago
// security // k8s // infra
//
// https://github.com/NodyHub/docker-k8s-resources
// https://github.com/banzaicloud/bank-vaults // all-in-one, inject, unseal, auto renewal
// https://github.com/hashicorp/cap
// https://github.com/Shopify/kubeaudit
// repo - armosec/kubescape - hardening guides nsa, cisa
// https://cloud.redhat.com/blog/using-kubernetes-operators-to-manage-lets-encrypt-ssl-tls-certificates-for-red-hat-openshift-dedicated
// https://medium.com/swlh/free-ssl-certs-with-lets-encrypt-for-grafana-prometheus-operator-helm-charts-b3b629e84ba1
// https://runnable.com/blog/how-to-use-lets-encrypt-on-kubernetes
// https://medium.com/containers-101/how-to-handle-secrets-like-a-pro-using-gitops-f3b812536434 // sealed secrets
// https://github.com/caddyserver/certmagic // go // certificate management // https // dns // queue // lock // retry // exponential backoff
// https://caddyserver.com/ // k8s // ingress // certificate renewal // reverse proxy // api gateway // certificate management // health check // circuit break // caching // web sockets
// https://www.ory.sh/oathkeeper/docs/ // policy // service to service auth
// https://github.com/brancz/kube-rbac-proxy // certificate // rbac // webhook // kubebuilder
AmitKumarDas commented 2 years ago
// ingress // api gateway // k8s // dns // network // infra
//
// https://www.getambassador.io/products/api-gateway/ // emissary ingress
// https://betterprogramming.pub/how-to-manage-traffic-using-istio-on-kubernetes-cd4b96e00b57
// https://betterprogramming.pub/kubernetes-services-over-https-with-istios-secure-gateways-210b2ce91b71 // security // certificate // mutual tls
// https://betterprogramming.pub/traffic-mirroring-in-kubernetes-using-istio-dad0976b4e1 // traffic split // shadowing
// https://github.com/apex/gateway // http // gateway // lamda
// https://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/ // alias // dns // custom // rewrite // port forward
// https://medium.com/swlh/serving-bind-dns-in-kubernetes-8639fce37448 // bind container // cytopia/bind // nslookup
// https://coredns.io/plugins/forward/
// https://medium.com/@kumar_pravin/local-dns-solution-using-coredns-dc44b68d4d12 // dig
// https://docs.google.com/presentation/d/1-BEpCs5JE_l6EDfEmbuXcT2WapCqUk387nJN1LkOypw/ // basics // 101 // multi cluster dns
AmitKumarDas commented 2 years ago
// k8s // container // registry // infra // image // docker // podman // cri
//
// https://blog.container-solutions.com/installing-a-registry-on-kubernetes-quickstart
// https://github.com/ContainerSolutions/trow
// https://developers.redhat.com/blog/2019/08/14/best-practices-for-running-buildah-in-a-container#running_buildah_inside_a_container
// https://developers.redhat.com/blog/2019/04/04/build-and-run-buildah-inside-a-podman-container#running_a_buildah_container_inside_of_a_podman_container
// https://mkdev.me/en/posts/dockerless-part-3-moving-development-environment-to-containers-with-podman
// https://github.com/genuinetools/img
// https://github.com/moby/buildkit
// blog - using a configmap as an oci image cache - by daniel mangum
// -- crossplane, design, composition, emptyDir for cache, init container to load from configmap to volume,
// --integration tests, local run uses hostPath PV, kubectl cp, kubectl exec, configmap has binary data
// https://medium.com/nttlabs/containerd-and-lima-39e0b64d2a59 // alternative to docker
// https://pariharideepak21.medium.com/why-docker-is-so-fast-how-kubernetes-dropped-it-adopted-cri-o-podman-f54c85a53579
// https://medium.com/dictcp/docker-desktop-is-no-longer-free-and-replacement-lima-vm-2c568d692a3c
// https://github.com/rancher/kim // k3s // buildkit // kubelet // socket // grpc // daemonset // containerd
// https://docs.tilt.dev/choosing_clusters.html // kind // k3d // microk8s // registry // registry inside k8s 
// https://maelvls.dev/docker-proxy-registry-kind/ // registry // caching // local // kind // docker
// https://iximiuz.com/en/posts/kubernetes-kind-load-docker-image/ // kind // local // registry
// https://iximiuz.com/en/posts/you-dont-need-an-image-to-run-a-container/ // fellow // containerd // oci // runc
// https://iximiuz.com/en/posts/you-need-containers-to-build-an-image/ // build image // no dockerfile
// https://iximiuz.com/en/posts/container-networking-is-simple/ // networking // iptables // nsenter // veth // bridge // ip routing // masquerading
// https://iximiuz.com/en/posts/not-every-container-has-an-operating-system-inside/
AmitKumarDas commented 2 years ago
// REGO // k8s // language // tool
//
// https://github.com/ameydev/styra-das-demo/blob/main/Validating/rules.rego
// https://github.com/ameydev/styra-das-demo/blob/main/Mutating/rules.rego
// https://github.com/open-policy-agent/conftest -- testing, like datadog,
AmitKumarDas commented 2 years ago
// Day 2 // troubleshooting // runbook // failure stories // k8s // infra
//
// https://kubernetes.io/blog/2018/07/24/feature-highlight-cpu-manager/
// https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies
// https://www.ekervhen.xyz/posts/2021-02/troubleshooting-longhorn-and-dns-networking/ // dig, coredns, traefik
// https://docs.harness.io/article/1qfb4gh9e8-set-up-kubernetes-traffic-splitting
// https://amixr.io/blog/what-wed-do-to-save-from-the-well-known-k8s-incident/ // CPU
// https://loft.sh/blog/kubernetes-readiness-probes-examples-common-pitfalls/
// https://blog.devgenius.io/ultimate-kubernetes-resource-planning-guide-449a4fddd1d6 // CPU, memory
// https://github.com/nicolaka/netshoot [troubleshoot] [network]
// https://github.com/Praqma/Network-MultiTool [troubleshoot] [network] [certificate] [LetsEncrypt]
// https://github.com/tylertreat/comcast [chaos] [network]
// https://blog.codecentric.de/en/2020/07/debugging-kubernetes-network-policies-with-ephemeral-containers/ [network] [debug] [troubleshoot]
// https://www.digitalocean.com/community/tutorials/how-to-inspect-kubernetes-networking [fellow]
// https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/ [good]
// https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#what-things-get-dns-names [tip] [til]
// https://github.com/kubernetes/examples/tree/master/staging/cluster-dns [awesome] [example] [e2e] [dns]
// https://github.com/kubernetes/examples/tree/master/staging [awesome] [examples] [e2e] [fellow]
// https://kubernetes.io/docs/tasks/debug-application-cluster/audit/
// https://rtfm.co.ua/en/kubernetes-metrics-server-401-unauthorized-amd-kubelet-stopped-posting-node-status/
// https://rtfm.co.ua/en/istio-a-cause-and-solution-of-the-sqlstate-connection-refused/
//
// ---
// tracing // open telemetry // grafana // prometheus // debug // monitor
// ----
// https://github.com/google/cadvisor/issues/2026 // cpu // prometheus // query // cadvisor
// https://medium.com/infracloud-technologies/tracing-in-grafana-with-tempo-and-jaeger-ffdf59ca6659
// https://github.com/google/cadvisor/issues/2026#issuecomment-486134079 // query // prom // cpu // container // usage as percentage
// https://github.com/google/cadvisor/issues/2026#issuecomment-512966950 // ecs // eks // aws // cpu percentage
// https://github.com/google/cadvisor/issues/2026#issuecomment-574076642
// https://github.com/google/cadvisor/issues/2026#issuecomment-575371208 
// ---
// cron
// ----
// https://eng.lyft.com/improving-kubernetes-cronjobs-at-scale-part-1-cf1479df98d4
// https://eng.lyft.com/how-we-learned-to-improve-kubernetes-cronjobs-at-scale-part-2-of-2-dad0c973ffca
//
// -------
// dns // http // timeout
// -------
// https://blog.cloudflare.com/the-complete-guide-to-golang-net-http-timeouts/ // golang // fellow
// https://github.com/kubernetes/kubernetes/issues/89898 // liveness // startup // readiness // httpGet // curl // exec // timeout // dns // timeout
// https://github.com/rancher/k3d/issues/209 // k3d // coredns // configmap // /etc/resolv.conf
// https://blog.heptio.com/configuring-your-linux-host-to-resolve-a-local-kubernetes-clusters-service-urls-a8c7bdb212a7 // sample // dns // configmap
// https://github.com/docker/for-win/issues/1534 // dns // proxy // vpn // timeout // fellow
// -- Client.Timeout exceeded while awaiting headers
//
// ingress // dns // elb
// https://medium.com/@ManagedKube/kubernetes-troubleshooting-ingress-and-services-traffic-flows-547ea867b120
AmitKumarDas commented 2 years ago
// best practices // k8s // infra // idea // innovate
//
// https://aws.amazon.com/de/organizations/getting-started/best-practices/
// https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/networking.html
// https://aws.amazon.com/well-architected-tool/
// https://aws.github.io/aws-eks-best-practices/security/docs/
// https://aws.amazon.com/well-architected-tool/
// https://codefresh.io/kubernetes-tutorial/unlimited-preview-environments/ // fellow // DevOps loop
AmitKumarDas commented 2 years ago
// kubectl // cli // troubleshoot // debug // tips // tricks // til
// kubectl get horizontalpodautoscalers.v2beta2.autoscaling // fqdn // fully qualified
// kubectl get horizontalpodautoscalers.v2beta2.autoscaling php-apache -o yaml > ./hpa-v2beta2.yaml
// kubectl api-resources
// kubectl config // provides the kubeconfig loading order
// kubectl cluster-info --context kind-kind // kind
// kubectl config use-context k3d-k3s-default // k3d
kubectl get --raw \
  "/apis/custom.metrics.k8s.io/v1beta1/namespaces/myapplication/pods/*/myapplication_api_response_time_avg" \
  | jq .
# refer - https://towardsdatascience.com/kubernetes-hpa-with-custom-metrics-from-prometheus-9ffc201991e
AmitKumarDas commented 2 years ago
// crd // design
//
// https://groups.google.com/g/kubernetes-sig-multicluster/c/zV3jH-WJ1i0 // crd deployment