commodore
by
projectsyn

Description: Commodore provides opinionated tenant-aware management of Kapitan inventories and templates. Commodore uses Kapitan for the heavy lifting of rendering...

View on GitHub ↗

Summary Information

Updated 25 minutes ago
Added to GitGenius on October 18th, 2024
Created on December 17th, 2019
Open Issues & Pull Requests: 24 (+0)
Number of forks: 8
Total Stargazers: 50 (+0)
Total Subscribers: 9 (+0)

Issue Activity (beta)

Open issues: 10
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,702 days
Stale 30+ days: 10
Stale 90+ days: 10

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (53)
  • bug (17)
  • RFC (6)
  • UX (4)
  • good first issue (3)
  • documentation (2)
  • change (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Repository Insights (GitGenius)

Median issue/PR response: 925.9 days
Mean response time: 1070.4 days
90th percentile: 1509.0 days
Tracked items: 5

Most active contributors

Detailed Description

Commodore is a Python-based tool that provides opinionated tenant-aware management of Kapitan inventories and templates as part of the Project Syn ecosystem. The tool leverages Kapitan for template rendering and hierarchical configuration resolution while adding a layer of abstraction and automation on top. Written primarily in Python and available on PyPI as syn-commodore, Commodore is designed to streamline configuration management workflows in Kubernetes environments, with particular emphasis on GitOps practices and multi-tenant scenarios.

The core functionality of Commodore centers on the concept of components, which are bundles containing Kapitan templates and associated Kapitan classes that describe how to render those templates. When a configuration requires specific components, Commodore automatically fetches them and establishes symlinks so Kapitan can locate the component classes. This abstraction simplifies the management of complex, modular configurations. Beyond basic template rendering, Commodore supports additional post-processing operations on Kapitan output, such as patching desired namespaces into Helm charts that have been rendered using helm template.

System requirements include Python 3.10 through 3.14 with development headers and virtual environment support, along with jsonnet-bundler for dependency management. The project recommends using the projectsyn fork of jsonnet-bundler, which parallelizes dependency fetching to significantly improve performance and provides fixes for more deterministic dependency resolution. Commodore requires a running instance of Lieutenant, the Project Syn API component, to function properly.

The repository supports multiple deployment and development approaches. Users can install Commodore directly from PyPI into a virtual environment, run it with Poetry 2.0.0 or later for development purposes, or execute it within Docker containers using the provided docker-compose setup. The Docker approach includes automatic SSH agent configuration for repository access and mounts the user's SSH directory by default. Development workflows follow test-driven development practices with Black code formatting enforced through continuous integration.

GitGenius activity data reveals that this repository experiences relatively slow issue and pull request response latencies, with a median response time of 22221.4 hours and mean of 25688.6 hours across tracked items. Enhancement requests represent the most common issue type with five tracked instances, alongside one RFC discussion. The contributor simu has been the most active triager and contributor with seven recorded events. The repository shares overlapping contributors with several other significant projects including apollographql/apollo-client, crossplane/crossplane, and argoproj/argo-cd, indicating cross-pollination of expertise within the broader infrastructure and configuration management communities.

Documentation is written in Asciidoc and Antora format, organized according to the Divio documentation structure, and can be previewed locally using the make docs-serve command. The project maintains a BSD-3-Clause license and welcomes contributions through its established CONTRIBUTING guidelines. Pre-built Docker images are available on DockerHub under the projectsyn organization, and release changelogs are published on GitHub Releases.

commodore
by
projectsynprojectsyn/commodore

Repository Details

Fetching additional details & charts...