# Kubernetes Ecosystem Notes by @directxman12 * How do we e.g. have an object validator * Went looking, found 2, second b/c first didn’t work well enough * How do we enable people to build tools that consume and assist with working with Kubernetes * Kube-fuse, validatators, etc * How do we make those discoverable * Difficult to find via GitHub search * Difficult to find via search engines (find blog posts, etc, and not the tools) * Proposal: structured content (tags, categories, search) for registering and discoverability * Are there examples of ecosystems that we can follow * Package managers (PyPI, crates.io, NPM) * Doesn’t quite fit one-to-one b/c some stuff is best practices, etc * Docs, stuff like CNI plugins, etc doesn’t actually work well the same view as things that run on Kubernetes * At the basic point, just need to find what’s there * Traditional package managers focus on consuming the packages * If you don’t have packaging, it’s hard to approach (see also: Freshmeat problems) * Hadoop: classes that map the Hadoop ecosystem, infographs * Wordpress, Drupal are good examples * Ansible Galaxy * Chrome Extensions/Eclipse plugins * Look for things tagged, if comments say "broken" and last update is old, don’t use it * Packagist (PHP package repository) * Integrates with GitHub, pulls in details about updates, README, extensibility, etc from GitHub * Just helps with discoverability * Steam * Has curated lists by users * Opinion: End users need focused, distributable bundles * Most people don’t need to do all of everything * Different systems for apps vs critical infrastructure * Critical infrastructure doesn’t change much * Still need to discover when initially building out your system * Issue: people get overwhelmed with choice * We don’t want to endorse things -- users should choose * We could let people rank/vote/etc * For example, what’s wrong with an "awesome list" * Need to look at human-consumable media, not necessarily machine-consumable * Question: do we curate * Do we require "discoverable" things to be maintained/use a CLA/etc? * Opinion: no, we can’t possibly curate everything ourselves * It’s problematic if you can discover new things, but they’re not supported by your Kubernetes distros * Not as much a problem for apps stuff, but harder for infrastructure * Doesn’t GitHub have labels, stars, etc * Yes! * We could just say "always label your GitHub repo with a XYZ label if you’re a CRI plugin" * Comes a bit back to curration to discover benefits of each * Enterprises, gitlab make this infeasible * Core infrastructure is a bit of an edge case, perhaps focus on addons like logging, monitoring, etc * Still comes back to: "if distro doesn’t support well, will it still work" * Issue: there’s things people don’t know they can choose * E.g. external DNS providers * Have a partially curated list of topics, but not curate actual content * Maybe leave that up to distros (have different collections of options -- e.g. open-source only, etc) * Have "awesome-kubernetes" * Let SIGs curate their lists? * Having all the SIG be different is difficult and confusing * SIG leads don’t necessarily want to be the gatekeepers * We don’t necessarily want to tempt SIG leads with being the gatekeepers * If we have something "official", people will assume that stuff is tested, even if it’s not * Can we just have distributions that have way more options (a la Linux distros) * There are currently 34 conformant distros * If we have ecosystem.k8s.io it’s really easy for people to find how to find things, otherwise could be hard * E.g. people don’t necessarily know awesome lists are a thing to search for * Someone should do a prototype, and then we can have the conversation * Question: where should this convo continue * SIG Apps? * Breakout group from SIG Apps?