Cert-Manager Audit
In Expired Certificates: Incident Review, I listed a future action: “Audit the cluster to see if there are any other TLS secrets that aren’t using cert-manager.” Here’s how I did it using Elixir Livebook.
In Expired Certificates: Incident Review, I listed a future action: “Audit the cluster to see if there are any other TLS secrets that aren’t using cert-manager.” Here’s how I did it using Elixir Livebook.
I’ve written some code in Elixir Livebook, and I’d like to write some unit tests for it. Here’s how I did it.
I’d like to run Livebook on my cluster. Here’s how I went about doing that.
If you want to access the Kubernetes API from Elixir, you should probably just use the k8s package, but here’s how to do it without taking that dependency.
If you’ve got separate dev, test and prod environments, it can help to use colour to tell you which one you’re logged
into. Here’s how to colour the iex
prompt appropriately.
Distributed Erlang and Elixir applications use a shared secret called a “cookie”. It’s just a string of alphanumeric characters. All nodes in the cluster must use the same cookie. Let’s take a look at what that means in a Kubernetes context.
I’m still on the hunt for a way to connect Erlang nodes in a Kubernetes cluster by using pod names.
I’m looking at setting up an Erlang/Elixir cluster in my Kubernetes cluster, using libcluster, and I’m trying to get my head around some of the implied constraints.
I need to secure my Docker registry. Because OpenSSL sucks, I’m using an Elixir script that uses the ‘x509’ library.
** (Mix) Could not start application example_server: ExampleServer.Application.start(:normal, []) returned an error: shutdown: failed to start child: {:ranch_embedded_sup, :example_server}
** (EXIT) shutdown: failed to start child: :ranch_server_proxy
** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
Note: This is basically the same as the node.js server.
Quick reference for installing Erlang and Elixir on a Raspberry Pi, using the Erlang Solutions packages.
use
is a way that you can inject code into your module. Elixir uses this for boilerplate in GenServer
, and Phoenix uses it for metaprogramming.
At Electric Imp, we manage our Elixir versions with kiex.
\curl -sSL https://raw.githubusercontent.com/taylor/kiex/master/install | bash -s
To integrate direnv
with kiex
, add the following to ~/.direnvrc
: