Category: Opensource

  • Command Line Recording Goes SVG

    Term To SVG is lovely little utility to record a terminal session into a .svg animation. And below is a recording of how I installed termtosvg myself on Arch Linux.

  • Playing with Kubernetes Ingress Controller

    It’s very very easy to use Kubernetes(K8s) to provision an external service with AWS ELB, there’s one catch though(at least for now in 2018). AWS ELB is usually used with an auto scaling group and a launch configuration. However with K8s, EC2 instances won’t get spun directly, only pods will, which is call Horizontal Scaling.…

  • Time Machine for Arch Linux

    I’ve been using Arch Linux for some years, and it’s still my favorite Linux distribution. The feature that distinguished Arch from others is its rolling release which means there’s no such a thing called version in Arch. Using latest packages in Arch is the norm. However living on the edge means it’s not quite safe.…

  • Kubernetes External Service with HTTPS

    This is a quick example to assign an SSL certificate to a Kubernetes external service(which is an ELB in AWS). Tested with kops 1.8 and kubernetes 1.8. — apiVersion: v1 kind: Service metadata: name: my-https-service namespace: my-project labels: app: my-website-ssl annotations: service.beta.kubernetes.io/aws-load-balancer-ssl-cert: “arn:aws:acm:ap-southeast-2:xxx:certificate/xxx…” service.beta.kubernetes.io/aws-load-balancer-backend-protocol: “http” service.beta.kubernetes.io/aws-load-balancer-ssl-ports: “https” service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: ‘3600’ spec: type: LoadBalancer selector: app: my-website…

  • Get access to a container in Kubernetes cluster

    With Kubernetes(K8s), there’s no need to do ssh user@host anymore since everything is running as containers. There are still occasions when I need shell access to a container to do some troubleshooting. With Docker I can do It’s quite similar in K8s However in K8s containers have random IDs so I need to know the…

  • Notes: BuildKite and Kubernetes Rolling Update

    This is kind of a textbook case that container is much more efficient than VM. The CI pipeline in comparison uses AWS CloudFormation to build new VMs and drain old VMs to do a rolling update, which takes around 10 minutes for everything even if it’s just 1 line of code changed. I did a…

  • Adding Annotation to Grafana Dashboards, with InfluxDB

    It’s very easy to add this super powerful annotations to Grafana charts. I followed the below instructions and created my first annotation in a few minutes on an existing Grafana + InfluxDB setup. https://maxchadwick.xyz/blog/grafana-influxdb-annotations 🙂

  • Install Shutter in Arch Linux

    It’s quite unexpected that in Arch Linux’s package database I couldn’t find Shutter, which is generally available in other Linux distributions. Although, it’s still possible to install Shutter in Arch. First I use pacaur as my AUR helper. Installation of pacaur can refer to this. Then it’s quite easy to get Shutter installed because it’s in AUR…