Work Learnings Journal#
Kubernetes#
initContainers(forDaemonSet) - step by step short lived containers, can be used to fixing privileges and setup tasksKubernetes hostPath ownership are set based on kubelet’s
Kubernetes pod logs are stored under
/var/log/containers/<pod-name>*<container-id>/*.log(by container runtime)
Linux#
list users :
/etc/passwdlist groups :
/etc/groupmembers of group :
lid <group-name>owning directory (recursively)
chown -R <uid>:<gid> <dir-path>
Go#
go mod init <current-module-name>- initializing module for a new app/projectgo get <dep-name>- install dependencies manuallyMakefile general target structure
target : dependency1 dependency2 recipe-command1 recipe-command2
Makefile forcefully run without checking dependency build
.PHONY all: clean build coverage run
it does not matter if any of the above dependencies are unsatisfied/failed, the whole command will still forcefully be executed
TODOs#
Linux Services - sigterm, sigkill
AWS - ECS - EC2 (setup), ECS Fargate, ELB, VPC
k8s - resource limits vs requests
go - build flags (and commented tags etc.), cgo, select, channels concurrency etc.
docker - host specific builds, golang-crossbuild
python - pipenv, venv
OAuth2
TLS, mTLS
HTTP2, gRPC
Yearly Learning Journal#
2024#
TLS
2023#
AWS Kinesis Firehose - buffering, processor lambda (lambda buffering), output, intput (kinesis data streams, direct put), failure etc.
AWS Cloudformation - custom event, constants, conditions, roles, resources, output, parameters, custom lambda (init processing)
AWS S3 events - triggering Lambdas
Lambda - cloudwatch loggroup, logstream, event, timeout, cost calc, cold-start and lambda (container) level caching.
Eventbridge rules and schedules
AWS VPC and Subnets
AWS Secrets Manager
Linux packages - deb, rpm
Oauth2
AWS ECS (EC2) - cluster bootstrapping (joining), task-def, service, task, daemon, execution role, volumes and mounts
AWS EFS
Docker - inspects contents, download files from containers, live debugging and inspection
Wrapping executor application with piping STDOUT output and taking input
Go - Cobra, flag, options etc.
2022#
Kubernetes (kubectl), Daemonset, ConfigMap, Service, Deployment, ServiceAccount, ClusterRole, ClusterRoleBindings
Kubernetes Operators (pattern), Go Operator SDK
Go, Go string templates
Helm charts, Helm templates, Helm repos
Kubectx
OTel protocol, SDK - logs, metrics
OTel collector - receivers (otlp, filelog), exporters (otlp, logging, prometheus), processors (batch, resourcedetection, attribute), extensions
OpAMP protocol, SDK - client, server, deployment patterns
Elastic Filebeat
2021#
Java Agents, Java Instrumentation, Java Bytecode Injection
Java Vertx framework internals
Java remote debugging, conditional breakpoints, thread debugging
Angular, RxJS, Typescript, Jest
2020#
React, Redux
2019#
Spring Boot, Spring Batch, Spring-Kafka, Spring Data JPA, Spring Data JDBC, Kafka Consumers
Apache Camel (pipelines) with Kafka, batch etc.
Oracle, MS SQL Server, Stored Procedures
Apache Livy
Maven