← Înapoi la Urmăritori

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 63
  1. Our container platform moved from Amazon Linux 2 (AL2) to Bottlerocket.

  2. I recently reviewed code that let a dynamic set of goroutines wait for updates from a single writer.

  3. I was getting an arm64 build of our Bottlerocket variant ready for production on Graviton EC2 instances.

  4. What is an ABI? Break one to find out

    I used NVIDIA's go-dcgm to read GPU health data and stats.

  5. A while ago I debugged a resource leak caused by a service stuck in a restart loop.

  6. We run an OpenTelemetry Collector (otel-collector) as a systemd service on Bottlerocket.

  7. Don't hardcode fsync in your library

    I recently ran into an issue after upgrading the containerd client library to v2.3.0.

  8. A container platform shipped a change to detect CPU architecture mismatches at image pull time.

  9. If you build software that runs in someone else's environment, anything that isn't a SaaS you operate yourself, the following code can break your customers: 1if not hostname.endswith("."): 2 hostname += "."

  10. I recently ran into a Go test timeout that turned out to be a deadlock.

  11. Replacing socat with systemd-socket-proxyd

    Bottlerocket v11.0.0 dropped the socat package from bottlerocket-core-kit (#742).

  12. CGO_ENABLED defaults to 1.

  13. We run a container platform.

  14. Avoid using 2D map for transition table in Go

    This post is part 1 of a series of learnings from nilaway. nilaway is a static analysis tool that detects potential nil panics in Go code.

  15. WaitGroup and channels are two powerful primitives in Go for synchronizing goroutines.

  16. I recently encountered IMDS (Instance Metadata Service) request failures with this error: 1"caller": "actor/actor.go:101", 2"error": "operation error ec2imds: GetMetadata, failed to get rate limit token, retry quota exceeded, x available, y requested The…

  17. Simplify device path on boot with udev

    While prototyping Bottlerocket, I discovered it doesn't recognize additional EBS volumes specified through Block device mappings on Xen.

  18. I recently debugged a resource leak where a systemd service kept restarting while leaving a process behind after each restart.

  19. I recently debugged a mysterious latency issue: after migrating a systemd service from path-activation to socket-activation, there was a consistent ~1 second time-to-available latency.

  20. When I first moved building Bottlerocket AMI from an EC2 host to AWS CodeBuild, I was hit by a very slow build.

  21. A bug caused around 0.5% of container workloads to fail to start during load test.

  22. Early this year, we migrated containerd from v1.7 to v2.0.5.

  23. In Detect and fix rare cases where the primary ENI does not serve default traffic , we used IMDS "meta-data/mac" to get the primary ENI's MAC address.

  24. Who Modified My Program in Bottlerocket?

    There are a few programs we install in Bottlerocket that cannot be built from source.

  25. Bottlerocket is a Linux-based operating system optimized for hosting containers.

  26. Tips for Building Bottlerocket AMIs

    Bottlerocket is a Linux-based operating system optimized for hosting containers.

  27. Working Knowledge of Linux Memory: Concepts

    I recently dealt with a server livelock issue caused by memory page thrashing.

  28. During testing, we encountered a rare scenario when launching EC2 instances with multiple ENIs: the primary ENI (device index 0) does not serve default network traffic.

  29. SELinux Concepts

    Security-Enhanced Linux (SELinux) is a mandatory access control (MAC) system that enhances Linux security.

  30. Modern Go idioms

    Go is known for its backward compatibility, simplicity, and six-month release cycle.

  31. A Few Shell Surprises

    Shell scripts are infamous for security issues and surprising behavior, so when possible, it's better to avoid using shell.

  32. I recently worked on getting amazon-ssm-agent to run inside containers on Bottlerocket.

  33. A recent faulty release disrupted service for some customers.

  34. GPG is still in use to verify downloads

    This week, I needed to install the Amazon SSM Agent and was surprised to find that GPG (GNU Privacy Guard) was the only way to verify the download.

  35. We've been using journald-to-cwl to ship journal logs from EC2 instances to CloudWatch Logs.

  36. While debugging memory bloat in a Go application recently, I found that removing the GOMEMLIMIT soft memory limit and disabling transparent huge pages partially mitigated the issue.

  37. It's a beautiful day, and it started with a simple code review: 1# tools/foo/main.go 2- fmt.Println("found it") 3+ log.Println("found it") The author explained the advantages of using a logging library over plain printf.

  38. AL2023 vs. AL2: less disk space with ext4?

    We started migrating from Amazon Linux 2 (AL2) to Amazon Linux 2023 (AL2023) a month ago.

  39. Ways Go programs die

    Our Go programs recently triggered an alarm due to excessive panics.

  40. As Amazon Linux 2 (AL2) approaches its End of Life on June 30, 2025, we have started migrating our container platform from AL2 to Bottlerocket.

  41. I've been building a service for a month, and the day finally arrived when I had the artifact - an EC2 AMI.

  42. Monotonicity: Find 1-3-2 Pattern

    Given an array of numbers A, find out whether it contains a 1-3-2 pattern.

  43. Tony Hoare invented QuickSort in 1961.

  44. No More Confusion of Upstream and Downstream

    I often find myself confused by "upstream" and "downstream", in the context of software development.

  45. Modern CPUs operate significantly faster than memory.

  46. Binary Search in Go standard library

    Given a non-decreasing array and a target value, we can find the target in logarithmic time using binary search.

  47. Problem Given an integer array A, in one step, remove all elements A[i] where A[i-1] > A[i].

  48. Problem In a connected network consisting of N nodes, each node is connected to either one or two neighbors, forming a line topology.

  49. Problem An event consists of multiple properties, each defined as a key-value pair, where the key is a string and the value is of a primitive type such as numbers or strings.

  50. ClickHouse is a popular OLAP database.