Project ideas from Hacker News discussions.

A skeptic's first contact with Kubernetes (2024)

📝 Discussion Summary (Click to expand)

1. Pain of YAML‑based templating and string interpolation
Many commenters lament that configuring Kubernetes with YAML and Helm’s templating is fragile and hard to maintain.

“It's very error prone to describe a hierarchy of versioned software packages and configuration with shell scripts and yaml.” – Gravityloss
“They say they don't want it but every configuration format eventually ends up becoming turing complete at some point.” – majormajor

2. Preference for structured, typed, or programmatic configuration
Several users argue that infrastructure should be expressed with real programming languages, types, or data‑centric tools instead of plain text templates.

“The point is there should be no strings at all. These are computer programs, so they should use normal objects.” – nvme0n1p1
“Using nix to generate k8s yaml is actually quite pleasant. You avoid all the string templating bullshit.” – tkz1312
“I use exclusively jsonnet (through kubecfg) when I can.” – p_l

3. Infrastructural complexity and cultural mismatch
The discussion also highlights a broader sentiment that managing Kubernetes feels like working in a “parallel world” where industry best practices (types, databases, etc.) haven’t penetrated, leading to frustration and burnout.

“The whole managing of software infrastructure is a strange culture… the infrastructure side of the software industry lives partially in a parallel world.” – Gravityloss
“K8s is a reconciliation engine… hating on yaml… is missing the point.” – ianjbutler
“I got moved from a software role to a devops/platform engineering role … it's miserable.” – red_candle_wax


🚀 Project Ideas

InfraTyped: Type‑Safe Functional Configuration Language for Infrastructure

Summary

  • A statically typed, functional DSL (inspired by Dhall/Jsonnet/Cue) that compiles directly to Kubernetes/YAML/JSON manifests.
  • Provides built‑in schema validation, IDE language server, and compile‑time guarantees that generated configs are syntactically and semantically correct.

Details

Key Value
Target Audience Platform engineers, DevOps teams, and SREs who author or maintain Kubernetes/Helm manifests
Core Feature Write infrastructure as pure functions with types; the compiler validates against CRD schemas and emits ready‑to‑apply YAML/JSON
Tech Stack Rust (core compiler), WASM for playground, Language Server Protocol (LSP) server, VS Code extension, GitHub Actions
Difficulty Medium
Monetization Hobby (open‑source core) – optional hosted CI service Revenue‑ready: SaaS plan $15/user/mo for private registry & advanced policy checks
#### Notes
- HN commenters lamented “string interpolation in Helm” and wished for “typed config languages like Dhall, Jsonnet, Cue” (gustavus, ashkankiani, jimbokun). InfraTyped gives them a compile‑time safe alternative.
- Enables discussion around moving from yaml templating to functional config generation, reducing “lost sanity” from nindent errors (sgarland).
- Practical utility: teams can adopt incrementally by compiling existing Helm values to InfraTyped functions, catching schema mismatches before they hit the cluster.

Helm2Typed: Automated Migration from Helm Charts to Type‑Safe Config Modules

Summary

  • A CLI tool that inspects existing Helm charts, extracts templates and values, and generates equivalent Jsonnet (or Cue) modules with explicit types.
  • Eliminates Helm’s string interpolation while preserving functionality, allowing teams to keep their current charts but gain type safety.

Details

Key Value
Target Audience Teams using Helm who want to reduce yaml‑templating pain without a full rewrite
Core Feature Chart‑to‑Jsonnet/Cue transpiler that renders values as strongly typed structs and provides linting for missing or mismatched fields
Tech Stack Go (chart parsing), Jinja2‑like template AST, Jsonnet library, Docker‑based test harness, CI integration
Difficulty Medium
Monetization Hobby (open‑source) – optional enterprise support Revenue‑ready: Per‑seat license $10/mo for private binaries & priority support
#### Notes
- Commenters noted Helm’s popularity but also its “templating cruelty” (9dev, robert-brown) and desire for “jsonnet… pleasant” (robert-brown). Helm2Typed directly addresses that pain.
- Provides a migration path that satisfies both camps: those who like Helm’s ecosystem and those who crave type‑safe configs.
- Enables practical utility: chart maintainers can publish a typed variant alongside the classic chart, letting consumers choose safety without losing compatibility.

ConfigAPI: Hosted Typed Configuration Store for Infra as Code

Summary

  • A managed service that stores infrastructure configuration as typed objects (JSON Schema/OpenAPI) and exposes a REST/GraphQL API to generate, validate, and version manifests.
  • Enables CI pipelines to fetch config objects programmatically instead of rendering yaml templates, guaranteeing type safety and change auditing.

Details

Key Value
Target Audience Platform teams managing multi‑cluster, multi‑environment setups who rely on git‑ops or CI‑driven deployments
Core Feature Typed config CRUD API with schema enforcement, diff generation, and webhook triggers for automated manifest production
Tech Stack PostgreSQL (typed storage), Go/Node.js API server, OpenAPI validator, GraphQL gateway, Pulumi/Terraform provider plugin, Kubernetes operator for sync
Difficulty High
Monetization Hobby (self‑hostable open‑source core) – Revenue‑ready: Usage‑based pricing $0.001 per config API call + $50/mo for HA & audit logs
#### Notes
- HN discussion highlighted the desire to “use normal objects” instead of strings (nvme0n1p1) and the pain of “yaml as a database” (Gravityloss). ConfigAPI treats config as first‑class data.
- Enables discussion around moving infra from text‑file‑in‑git to API‑driven, type‑safe sources, aligning with the call for “types, programming languages, relational databases” in infra (Gravityloss).
- Practical utility: reduces drift, provides instant rollback via versioned config objects, and lets AI agents work with structured data rather than parsing indentation‑sensitive yaml (SOLAR_FIELDS, nvme0n1p1).

Read Later