This document is a collection of "start here" kind of links for common topics we encounter on our team. One of the aims of this document is to equip the engineer to get easily started with a specific domain. The domain covers everything that FP Complete works on i.e. Rust, Haskell, Kubernetes etc.

If you don't have access to any of the internal materials linked below, contact Michael or Sibi to get the relevant access.

Rust

Terraform

Kubernetes

Logging best practices

Generally, we follow the 12 factor app's recommendations on logging. A basic overview:

  • Logs should be sent to either stdout or stderr.
  • DevOps is responsible for capturing that output and ingesting into a logging system.
  • Use best-in-class libraries per-language. In Rust, for example, we recommend using the tracing library.
  • What to log
    • Anything that might potentially be useful to know
    • Don't be afraid to add debug level output
    • If you're not sure if you should log it, log it
    • Limiting factor: logging should not be the bottleneck of the application

Haskell