(TODO) Ideas for blog posts...

TL;DR Ideas/topics for blog posts that will come in the future.

[< 75th Post] Documented on Trello

[75th Post] Playing with Trello & Python with py-trello

TL;DR Needed to send some info to a friend, which I had in Trello cards. Lazy as I am, I decided to automate that process This post lays out the detailed steps for consuming Trello’s API from Python.

Post image:
https://images.pexels.com/photos/1181494/pexels-photo-1181494.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940

Step by Step instructions

To get your Trello API Keys, follow instructions from:

https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/#:~:text=You%20can%20get%20your%20API,comprised%20of%20random%20alphanumeric%20characters.
https://trello.com/app-key

To setup up py-trello, follow these instructions:
https://pypi.org/project/py-trello/

The official documentation of py-trello (sadly the docs are no good :( )):
https://py-trello.readthedocs.io/en/latest/

Documentation for devs?
https://py-trello-dev.readthedocs.io/en/latest/trello.html#module-trello.card

[76th Post] Develop extensions for VS Code

TL;DR I wanted/needed (lazy as I am) to open a file from an URL on the Internet in VS Code to be able to edit the file locally. In this tutorial, we will learn to develop a VS Code extension by solving this problem.

NOTE: Probably at the beginning we will only solve the problem for simple HTTP URLs, maybe in the future we can expand it for SSH, FTP and other protocols.

Examples to use as guidance:

NOTE: We could solve some developer’s concern like this one (https://stackoverflow.com/questions/58967325/can-i-open-a-url-as-a-file-in-vscode).

[77th Post] Develop on Docker containers in VS Code

TL;DR Wanted to develop inside containers because switching between Linux and Windows 10 + WSL 2 to make the switch as seemless as possible.

Instructions: https://code.visualstudio.com/docs/remote/containers

For the issues communicating the containers, these are the approaches:

Approach 1: Use host.internal.docker

Access host port from inside docker container: https://stackoverflow.com/questions/31324981/how-to-access-host-port-from-docker-container

Another link (Answer it on Stack Overflow, it’s probably the IP Tables rule missing): https://stackoverflow.com/questions/65362926/from-inside-one-docker-container-how-to-connect-to-the-port-of-another-docker-c

Approach 2: Make containers be part of a separate network

Instructions: https://stackoverflow.com/a/58764482/2766396

To verify that the containers are on the same network: https://stackoverflow.com/a/43904733/2766396

For example, this is how we find the containers on the host network (running with –network host):
docker network inspect host -f

““

How to access the containers?

You can connect using the container’s name. Some DNS resolution is done (search for a better explanation reference that tutorial) and we can use the following URL:

container-name:container-port

Remove the network when there still endpoints

Instructions: https://github.com/moby/moby/issues/17217#issuecomment-196607597

Example:
$ docker network inspect qq-network | grep endpoint
$ docker network disconnect -f qq-network backend-service
$ docker network disconnect -f qq-network frontend-service
$ docker network rm qq-network
qq-network

Approach 3: User the host’s network

Using the host network: https://docs.docker.com/network/network-tutorial-host/
Testing that with command: sudo netstat -tulpn | grep :port

Connecting Firefox for Developers (include it here on another post?)

The only difference is that we need to provide firefox’s binary location on the launch.json config

Troubleshooting (containers do not communicate)

Cannot access a container from inside another

IP Table rule to allow traffic to docker0 interface: https://forums.docker.com/t/configuring-iptables-to-let-docker-containers-access-out/41176

Firefox/Chrome cannot connect to the debugger

NOTE: Still don’t know why Chrome can’t connect to debugger. Firefox can.

Connection reset by peer when when hitting Docker container

Troubleshooting the issue: https://www.javaer101.com/es/article/49770319.html
Using the host network: https://docs.docker.com/network/network-tutorial-host/
Testing that with command: sudo netstat -tulpn | grep :port

[78th Post] Docker Networking

Start with links gathered in my Trello board Study > Docker > Networking.

[79th Post] Cheapest K8s Cluster ~1USD a day

https://georgepaw.medium.com/how-to-run-the-cheapest-kubernetes-cluster-at-1-per-day-9287abb90cee
https://georgepaw.medium.com/how-to-run-the-cheapest-kubernetes-cluster-at-1-per-day-tutorial-9673f062b903

[80th Post] Microservices development (yes… development) with Kubernetes

Debugging and Developing microservices communicating with other services in a K8s cluster:

https://erkanerol.github.io/post/debugging-k8s-services/
https://www.telepresence.io/

Okteto: A Tool to Develop Applications on Kubernetes
https://github.com/okteto/okteto

An out-of-tree solution for troubleshooting running pods,
https://github.com/aylei/kubectl-debug#install-the-kubectl-debug-plugin

Telepresence:

[81th Post] Configuring Secrets on Kubernetes

Links:

[82nd Post] Automate Python development environment

[83th Post] Install ytfzf with by-product

[84th Post] Modelling business/software user cases/requirements with Finite State Automatons

[85th Post] Jobs & CronJobs in Kubernetes

[86th Post] Work queues in Kubernetes with Celery and RabbitMQ

[86th Post] Kubernetes & VS Code Development Workflows

[87th Post] Profiling NodeJs app

[88th Post] ML & DA meets Kubernetes

[89th Post] Node.js OpenTracing/OpenCensus Instrumentation

[90th Post] Kubernetes StatefulSets with PostgreSQL

[91th Post] Instrumenting with Prometheus

[92nd Post] Monotoring MongoDB with Mongo Exporter in Kubernetes

[93th Post] OpenTelemetry/Zipkin

[94th Post] Ephemeral Containers

[95th Post] KinD issues after docker/host restart

Walkthrough for my tests troubleshooting this issue (add my captures of these troubleshooting steps): https://cameron-manavian.medium.com/how-to-debug-a-502-on-kubernetes-c2b0bc1f7490

[96th Post] Kubeflow 101

[97th Post] CodeStream in VS Code

[97th Post] Chaos Engineering with Istio in Kubernetes

[98th Post] Resilient Microservices with Istio Circuit Breaker

[99th Post] Mongo Express and MongoDB on Kubernetes

[100th Post] Istio Traffic Management

https://istio.io/latest/docs/concepts/traffic-management/

[101th Post] Secure Control of Egress Traffic in Istio

think that one of the talks by meghan o’keefe or the sand lord has a demo of this.

[102th Post] Istio External Authorization

https://istio.io/latest/blog/2021/better-external-authz/

[103th Post] Leveraging Istio Ingress Gateway with NGINX Ingress

[104th Post] Which is the right choice: Kubernetes Ingress, Istio Gateway or API Gateway

[105th Post] Vault on Kubernetes

[106th Post] Tracing with Kiali

[107 Post] Youtube-dl and some cool stuff

  • How to install
  • Usage
  • automate download lists, etc.

[108 Post] Malware analysis on Chrome extensions

Case study:

View source code of extension:

Malware Analysis for chrome extensions:

[109 Post] Kubernetes CIS Benchmarks for Auditing

Talk about the benchmarks
Talk about Aqua and NueVector implementations
Talk about how to exploit failing benchmarks?
Talk about how to do it in a cronjob and alert via Prometheus or another alerting mechanism:

[110 Post] Kubernetes Networking [Demistified | in depth | from zero to hero ]

[111 Post] KinD support for insecure registries

[112 Post] Kubernetes Network Policies

  • Take from my brainstorming document

[113 Post] Should I get a CKA, CKAD, CKS, LFS260 certifications?

https://github.com/cncf/curriculum
https://www.reddit.com/r/kubernetes/comments/nejmo5/my_views_on_cka/
killer.sh

CKAD:

CKS:

LFS260:

DOFD:

[114 Post] Consuming the API Server with cURL

[115 Post] kubelet authentication and authorization

[116 Post] Develop browser extensions/add-ons

[117 Securing Kubernetes: CAP_NET_RAW

Do the video with Kubehunter, etc. Try to fix CAP_NET_RAW?? Does it makes sense to do so?

[118 Post] Manage cloud pricing for Kubernetes cluster

[119 Post] KinD cluster configuration

Components to be configured:

Configurations:

https://github.com/kubernetes/kubeadm/issues/552#issuecomment-353368971

https://github.com/kubernetes-sigs/kind/issues/1839
https://github.com/kubernetes/kubernetes/issues/60896

[120 Post] Install Albert

[121 Post] Kritis and Grafeas tutorial

  • Do a real scenario of exploitation. Create a vulnerable image. deployit to the cluster and exploit it
  • Talk about the necessity of these tools and explain them
  • Do the setup/tutorial to mitigate these threats.

References:

  • Section for ‘Security in the Software Supply Chain’

[122 Post] App for relative voting