Replies: 4 comments 9 replies
Yes. I've been thinking about it myself for a while. In fact, I have developed an little operator, written in Python based on https://github.com/flant/shell-operator, for managing Seq API keys. My goal was to synchronise Seq API keys from Kubernetes secrets. This allowed me to manage Seq API keys with an external key vault, next automatically import them into Kubernetes Secrets using https://external-secrets.io, then import/update/delete into/in Seq from Kubernetes secrets. I also introduced custom annotations for my Kubernetes secrets with Seq API keys like This experience made me think about a full-fledged operator for managing the lifecycle of Seq, like the Flux Operator or others.
I fully understand your point. The currently available Seq stack is not quite Kubernetes-native and if one aims for automation to configure Seq, it does take some gymnastics to manage Seq deployment. That, and an existing context, made me decide to do it with Terraform:
That would be it. I hope it helps. Kubernetes OperatorHowever, I'm very keen in developing Kubernetes operator and here are the basic available options, that I have been thinking about:
Terraform ProviderBy the way, I've been planning to resurrect the Seq provider for Terraform originally developed by Innovation Norway, which I contacted a while ago and managed to fork it, https://github.com/mloskot/terraform-provider-datalust-seqseq, but I haven't managed to find time to work on it yet. The Innovation Norway also provided me with their old Go client for Seq, https://github.com/mloskot/go-seq-obsolete, which possible could serve as basis for an updated Go client for Seq developed as part of the option 2. above. Plan?I think, it would also be good to know what is the sentiment about the Kubernetes operator for Seq within the Seq team. |
|
Yeah, so if I did this, it'd probably be in C# using KubeOps. I've used that before. I wrote an auth0 operator in it. It works fine. And I don't really want to do Go. I'd probably start by considering it as management-only as a first pass: being able to create and manage entities in an existing Seq instance given a hostname and initial password. Once that worked good enough, I'd graft on the ability to deploy new Seq instances. But, for me, that would be an optional second-step since I currently use Flux and HelmRelease to deploy Seq just fine. |
|
Sorry we haven't commented yet on what's been happening here; but have been following along. My experience from maintaining the Helm repository so far has been that we don't currently have the bandwidth or experience internally to dedicate to maintaining product-level Kubernetes integration. The Helm chart itself is largely unguided and I've never been particularly satisfied with it or Helm in general. Am I right that an operator would be a successor to the Helm chart? The fact that the operator you've been building @wasabii is largely C#-based rather than YAML templating is certainly very appealing. For us, I think we should be aiming to push the product and its tooling in a direction that makes these higher-level stack-specific integrations as easy as possible to pull together. What I think that means in the immediate term is ensuring If there's anything you run into that makes this difficult or that you need to work around please do create issues for them and we'll see if we can improve things 👍 |
|
Just to let ya'll here know, the operator I built in like a week is up and working. ;) |
Uh oh!
There was an error while loading. Please reload this page.
Would anybody else be interested in this? I've been having a terrible time trying to get the Seq helm chart deployed in K8s, with proper configuration, etc. Like, getting it installed isn't a problem. But then figuring out how to run something to add users, change the default password, and then apply configuration, has been a pretty terrible.
All reactions