Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. k8s

k8s

MITElixir2.8.0

A Kubernetes API client for Elixir featuring autodiscovery, multiple cluster support, and comprehensive authentication.

GitHubGitHub
343 stars50 forks0 contributors

What is k8s?

K8s is a full-featured Kubernetes API client library for the Elixir programming language. It provides a robust and intuitive interface for interacting with Kubernetes clusters, enabling developers to build operators, schedulers, and other cloud-native tools directly in Elixir. The library automatically discovers Kubernetes resources, groups, and CRDs at boot time without requiring swagger files.

Target Audience

Elixir developers building cloud-native applications, Kubernetes operators, schedulers, or tools that require programmatic interaction with Kubernetes clusters. It is particularly suited for teams leveraging Elixir's concurrency and fault-tolerance features in Kubernetes environments.

Value Proposition

Developers choose K8s for its human-centric API design that prioritizes developer experience with an intuitive Elixir interface, while offering autodiscovery of Kubernetes resources, support for multiple clusters and authentication methods, and macro-free performance for fast compilation and startup.

Overview

Kubernetes API Client for Elixir

Use Cases

Best For

  • Building Kubernetes operators or schedulers in Elixir using frameworks like Bonny.
  • Developing custom cloud-native tools that require programmatic interaction with Kubernetes APIs from Elixir applications.
  • Managing multiple Kubernetes clusters with various authentication methods (e.g., service accounts, tokens, certificates) from a single codebase.
  • Automating Kubernetes resource management (e.g., creating, listing, getting deployments) with an Elixir-native interface.
  • Integrating Kubernetes API interactions with Elixir's telemetry for observability and monitoring.
  • Parsing and utilizing kubeconfig files to establish connections to Kubernetes clusters programmatically in Elixir.

Not Ideal For

  • Scripting or one-off automation tasks where using kubectl or Python scripts is more practical
  • Polyglot microservices teams that rely on consistent Kubernetes clients across multiple languages like Go or Java
  • Legacy Kubernetes clusters running versions older than 1.10, as compatibility is untested

Pros & Cons

Pros

Automatic Resource Discovery

Kubernetes resources, groups, and CRDs are autodiscovered at boot time without requiring swagger files, reducing manual configuration and errors.

Flexible Cluster Management

Supports connections to multiple clusters with various authentication methods, including service accounts and certificates, as shown in the connection examples.

Elixir-Native API Design

Prioritizes developer experience with an intuitive Elixir interface, making it seamless for Elixir developers to interact with Kubernetes APIs.

Performance Optimized

Macro-free design ensures fast compilation and startup times, beneficial for applications needing quick deployment cycles.

Cons

Niche Ecosystem Dependency

Ties projects to the Elixir ecosystem, which may not align with teams using other technologies or requiring broader tooling support beyond Elixir.

Limited Community Resources

Compared to Kubernetes clients in languages like Go or Python, the Elixir community has fewer pre-built integrations or extensive documentation, potentially increasing development time for custom needs.

Steeper Learning Curve for Non-Elixirists

Developers unfamiliar with Elixir or Mix may find setup and usage more complex than using kubectl or clients in more common languages, despite the human-centric API.

Frequently Asked Questions

Quick Stats

Stars343
Forks50
Contributors0
Open Issues11
Last commit2 months ago
CreatedSince 2019

Tags

#kubeconfig#elixir#devops#authentication#telemetry#kubernetes#api-client#crd#cloud-native

Built With

E
Elixir

Included in

Elixir13.1k
Auto-fetched 1 day ago

Related Projects

libclusterlibcluster

Automatic cluster formation/healing for Elixir applications

Stars2,162
Forks201
Last commit1 year ago
ex_awsex_aws

A flexible, easy to use set of clients AWS APIs for Elixir

Stars1,345
Forks577
Last commit1 month ago
erlclouderlcloud

AWS APIs library for Erlang (Amazon EC2, S3, SQS, DDB, ELB and etc)

Stars653
Forks443
Last commit11 months ago
awsaws

AWS clients for Elixir

Stars595
Forks137
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub