No description
  • Go 40.6%
  • TypeScript 31.2%
  • Elixir 25.6%
  • Python 1%
  • Makefile 0.4%
  • Other 1.1%
Find a file
github-actions[bot] 33bd5f751d
Compatibility Matrix Update 2026-06-15 (#3719)
Co-authored-by: michaeljguarino <3838088+michaeljguarino@users.noreply.github.com>
2026-06-15 09:54:37 -04:00
.cursor Streamline chatbot management (#3647) 2026-06-03 09:32:38 -04:00
.githooks feat: guarantee codegen targets are executed on pre-commit (#1258) 2024-08-09 11:34:51 +02:00
.github feat: Add modes for crons/webhooks/chatbots/etc (#3687) 2026-06-11 17:42:17 -04:00
.vscode Prevent review spam on agent run prs (#3116) 2026-01-28 18:26:43 -05:00
assets refactor(metrics): centralize graph rendering logic (#3720) 2026-06-15 09:54:14 -04:00
bin fix(security): upgrade gnutls to 3.8.12-r0 for CVE double-free vulnerability (#3259) 2026-02-25 12:02:59 -05:00
charts Release v0.12.25 (#3713) 2026-06-13 11:46:58 -04:00
config Prep v0.12.25 (#3706) 2026-06-12 20:27:17 -04:00
docker/postgres Add blob store support (#3606) 2026-05-26 09:20:57 -04:00
dockerfiles fix: upgrade OpenSSL to 3.5.7-r0 to fix QUIC DoS vulnerability (#3704) 2026-06-11 19:03:46 -04:00
go Prep v0.12.25 (#3706) 2026-06-12 20:27:17 -04:00
lib Prep v0.12.25 (#3706) 2026-06-12 20:27:17 -04:00
priv Prep v0.12.25 (#3706) 2026-06-12 20:27:17 -04:00
proto Implement workbench model selection (#3679) 2026-06-08 11:50:25 -04:00
rel Prep v0.12.25 (#3706) 2026-06-12 20:27:17 -04:00
releases Add release notes for v0.12.25 (#3712) 2026-06-13 11:47:17 -04:00
schema Prep v0.12.25 (#3706) 2026-06-12 20:27:17 -04:00
src Add vulnerability info to workbenches (#3506) 2026-05-06 21:12:08 -04:00
static Compatibility Matrix Update 2026-06-15 (#3719) 2026-06-15 09:54:37 -04:00
templates fix: Enclose key and identity values in quotes in values.yaml.liquid (#3201) 2026-02-11 09:59:15 -05:00
test Prep v0.12.25 (#3706) 2026-06-12 20:27:17 -04:00
test-apps Troubleshoot vector indexing (#1958) 2025-03-04 15:12:45 -05:00
testdata Cost modeling first pass (#1661) 2024-12-10 14:18:47 -05:00
utils feat: add bigbang scraper (#3650) 2026-06-05 09:56:18 -04:00
.dockerignore enhancement: Sync K8s versions (#1805) 2025-01-29 16:57:42 +01:00
.editorconfig chore: Move kubernetes-agent and polly codebases to go/ and add Docker compose files (#3266) 2026-03-04 11:21:21 +01:00
.gitignore Console release notes script (#3465) 2026-05-09 12:43:04 -04:00
.sobelow-skips Continuous Deployments CRUD (#415) 2023-11-12 20:09:48 -05:00
.tool-versions Migrate from asdf dev setup to mise (#3657) 2026-06-03 11:51:41 -04:00
AGENT_VERSION Prep v0.12.25 (#3706) 2026-06-12 20:27:17 -04:00
AGENTS.md feat: Sentinel postrun scripts (#3591) 2026-05-22 22:42:57 -04:00
CHANGELOG.md Add release notes for v0.12.25 (#3712) 2026-06-13 11:47:17 -04:00
CLAUDE.md updated homepage for workbenches (#3496) 2026-05-02 13:19:35 -04:00
docker-compose.test.yml Add blob store support (#3606) 2026-05-26 09:20:57 -04:00
docker-compose.yml Add blob store support (#3606) 2026-05-26 09:20:57 -04:00
Dockerfile feat: Misc improvements (#3659) 2026-06-05 21:39:00 -04:00
graphql.config.yml utilization heatmaps (#2135) 2025-04-15 20:33:20 -04:00
KUBE_VERSION Compatibility Matrix Update 2025-12-18 (#2979) 2025-12-18 10:21:19 -05:00
LICENSE clean up README, alter license 2021-11-24 23:38:22 -05:00
Makefile fix: Fix agent release target (#3562) 2026-05-15 14:29:02 +02:00
mix.exs Prep v0.12.25 (#3706) 2026-06-12 20:27:17 -04:00
mix.lock Prep v0.12.25 (#3706) 2026-06-12 20:27:17 -04:00
README.md docs: fix README maintenance typo (#3684) 2026-06-08 10:17:19 -04:00
renovate.json Update renovate.json 2022-11-10 14:34:12 +01:00
SECURITY.md add security.md file 2022-02-22 23:03:41 -05:00

Plural Console

Console

The Plural Console is the core control plane of the Plural fleet-management platform. It has a number of key features:

  • State management for Fleet-scale Continuous Deployment (CD), tying in with https://github.com/pluralsh/deployment-operator. This includes a number of key concerns
    • maintaining sharded git caches on top of erlang processes
    • maintaining sharded helm repo caches like above
    • driving pipeline execution
    • driving observer execution
  • Management of terraform/pulumi/general IaC execution, tying into the git management for CD
  • Handling the Pull Request Automation APIs driving self-service workflows w/in Plural
  • Notification Routing, allowing for fine grained notification delivery to slack/teams/email targeted by event or affected resource
  • Handling core information gathering and querying for all AI-related functionality w/in Plural

It provides a low-maintenance, all-in-one solution for virtually any devops task that might be associated w/ managing Kubernetes infrastructure, in a package that can be hosted naturally anywhere, whether it be in your own cloud, or on our own infrastructure using Plural Cloud.

Contributor Program

We are currently trying to aggregate compatibility and dependency information for many CNCF add-ons within the kubernetes ecosystem. You can see some early examples in static/compatibilities and are hoping to get community support getting these built out and keeping them up-to-date. We are focused on properly compensating any contributions to the Plural platform, which includes a bounty for either adding the compatibility info for a net-new application, or updating the information alongside a new version that has been released. Currently the rewards are:

  • $50 for adding compatibilities for a specific version of an application
  • $150 for adding a new application and all to-date compatibility information
  • $300 for a new compatibility scraper (these are all defined in utils/compatibility/scrapers)

To be eligible for the upgrade bounty you'll need to submit a PR to this repo with the changes and a link to whatever documentation confirms the correctness of the information. We'll then review and if it's correct and useful for the broader community, you'll be eligible for the reward once merged. A quality PR for compatibility tables includes:

  1. The table itself at static/compatibilities
  2. A scraper to automatically generate them in the future at utils/compatibility/scrapers
  3. A link to the docs in PR description proving the logic in 1-2 is sound
  4. Ensure the following are provided (you can use either argo-cd or ingress-nginx as decent examples to imitate): a. helm repository url b. brand icon (add dark icon if necessary when standard icon is only dark colors) c. git repository url d. release url

To claim the reward, you should get in touch with us on our discord at https://discord.gg/pluralsh and we'll simply need to confirm that you did the work (easy way to do that is linking your discord handle on the relevant PRs) and we'll give you the bounty you've earned.

Development

There are three core components in this repo:

  • server core - written in elixir, mainly exposing a graphql api
  • react frontend - lives under /assets and is bundled in the elixir server docker image to make self-hosting simple
  • go/* - a number of golang projects, the main one being go/controller, which manages the operator for defining all kubernetes CRDs that control the GitOps experience of using Plural.

Developing Web

To begin developing the web app, install npm & yarn, then run:

cd assets
yarn install
yarn start:cd # or any other yarn target, we often test on different Console instances

Developing Server

To make changes to the server codebase, you'll want to install elixir and rust (for nif compilation) on your machine. For Mac desktops, we do this via mise, which can be done simply at the root of the repo like so:

brew install mise
mise install

Once elixir/rust is available, all server dependencies are managed via docker-compose, and tests can be run via mix, like so:

make testup
mix local.hex
mix deps.get
mix test

Git Hooks

Custom Git hooks are stored in .githooks directory. They ensure that when controller or client files are changed, automated code generation targets are executed. In order to enable git hooks for this repo run:

make install-git-hooks

Troubleshooting

Installing Erlang

If mise install fails with cannot find required auxiliary files: install-sh config.guess config.sub then run:

brew install autoconf
autoconf -V

(this was more of an issue with asdf but possibly an issue with mise installs of erlang/elixir as well, keeping around for posterity)

You can read more here: https://github.com/asdf-vm/asdf-erlang?tab=readme-ov-file#osx# Registry cache test - run 1