Skip to content

Project History ​

This page documents the history of the cuppett/php-k8s fork and its relationship with the upstream renoki-co/php-k8s project.

Timeline ​

2020: Upstream Project Created ​

The original renoki-co/php-k8s project was created by Alex Renoki, providing a PHP-native way to interact with Kubernetes clusters.

Key Features:

  • PHP-based Kubernetes client
  • Support for core Kubernetes resources
  • YAML import/export
  • Watch API implementation
  • Laravel integration

2021-2023: Growth and Maturity ​

The upstream project grew to support:

  • Multiple Kubernetes versions
  • Expanded resource types
  • Improved authentication methods
  • WebSocket operations (exec, attach, logs)
  • JSON Patch support

2024: Fork Created ​

The cuppett/php-k8s fork was created to:

  1. Continue Active Development - Ensure ongoing maintenance and support
  2. Modernize for PHP 8.3+ - Leverage new language features
  3. Enhance Type Safety - Add enums and strict type hints
  4. Expand Documentation - Provide comprehensive guides and examples

Current State ​

Both projects continue to exist:

  • Upstream (renoki-co/php-k8s) - Original project by Alex Renoki
  • Fork (cuppett/php-k8s) - PHP 8.3+ modernized version by Stephen Cuppett

Rationale for Fork ​

Why Fork Instead of Contributing Upstream? ​

The decision to fork was made after considering several factors:

  1. PHP Version Requirements - Breaking changes for PHP 8.3+ minimum
  2. Enum Migration - Significant API changes from strings to enums
  3. Maintenance Velocity - Need for faster iteration and updates
  4. Modern Features - Full adoption of PHP 8.3+ features
  5. Community Needs - Specific requirements for active Kubernetes users

Strategic Independence ​

The fork provides:

  • Decoupled Release Cycle - Independent versioning and releases
  • Modern PHP Focus - Commitment to latest PHP versions
  • Documentation Ownership - Self-hosted comprehensive docs
  • Community Control - Direct responsiveness to user needs

Relationship with Upstream ​

This fork maintains a respectful relationship with upstream:

What We Preserve ​

  • ✅ Original architecture and design patterns
  • ✅ Core API structure
  • ✅ Apache-2.0 License
  • ✅ Attribution to original author
  • ✅ Compatible method names (where possible)

What We Enhance ​

  • 🚀 PHP 8.3+ modern syntax
  • 🚀 Type-safe enums
  • 🚀 Enhanced documentation
  • 🚀 Additional resource types
  • 🚀 Active maintenance

Contribution Philosophy ​

Where appropriate, improvements that benefit both projects may be contributed back upstream, ensuring the broader PHP Kubernetes community benefits.

Technical Evolution ​

PHP Version Support Evolution ​

Upstream:    PHP 7.4+ → 8.0+ → 8.1+
                               ↓
Fork:                        8.3+ → 8.4+ → 8.5+

Feature Adoption Timeline ​

FeatureUpstreamFork
PHP 8.0 Features✅✅
PHP 8.1 Features✅✅
PHP 8.2 FeaturesPartial✅ Full
PHP 8.3 Features❌✅ Full
Enums❌✅
Readonly Properties❌✅
Match ExpressionsLimited✅ Extensive

Governance ​

Upstream Project ​

Fork Project ​

Community ​

User Base ​

  • Upstream Users - Those using PHP 8.0-8.1 or preferring established stability
  • Fork Users - Those using PHP 8.3+ and wanting modern features

Both communities are valued and supported.

Communication Channels ​

Looking Forward ​

Fork Roadmap ​

  1. Maintain PHP 8.3+ Support - Keep current with latest PHP versions
  2. Expand Resource Coverage - Support new Kubernetes resources
  3. Enhance Documentation - Continuous improvement of guides
  4. Community Engagement - Responsive to user feedback
  5. Performance Optimization - Leverage PHP 8.3+ performance gains

Long-Term Vision ​

The fork aims to:

  • Serve as the go-to Kubernetes client for modern PHP applications
  • Maintain compatibility where possible with upstream
  • Provide exceptional documentation and developer experience
  • Build a vibrant community around PHP and Kubernetes

Credits and Acknowledgments ​

Original Creator ​

Alex Renoki (@rennokki)

  • Created the original php-k8s library
  • Established the architecture and patterns
  • Built the foundation we build upon

Fork Maintainer ​

Stephen Cuppett (@cuppett)

  • Fork maintenance and modernization
  • Documentation overhaul
  • PHP 8.3+ enhancements

Contributors ​

Both projects benefit from community contributions. See:

Frequently Asked Questions ​

Will the fork merge back with upstream? ​

The fork maintains its own trajectory focused on PHP 8.3+ and modern features. However, improvements that benefit both projects may be contributed upstream.

Can I migrate from upstream to fork? ​

Yes! See the Upstream to Fork Migration Guide for detailed instructions.

Which should I use? ​

See Fork Differences for a comparison to help decide.

How can I contribute? ​

Both projects welcome contributions:

License ​

Both the upstream project and this fork are released under the Apache-2.0 License, ensuring open-source freedom and compatibility.


This fork exists to serve the PHP and Kubernetes communities with modern, well-documented tooling. We're grateful to stand on the shoulders of the excellent upstream work.

Released under the Apache-2.0 License. Originally from renoki-co/php-k8s.