PHPackages                             kytoonlabs/laravel-helm - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. kytoonlabs/laravel-helm

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

kytoonlabs/laravel-helm
=======================

Laravel wrapper for HELM v3

1.0.2(2y ago)0116Apache-2.0PHPPHP ^8.2|^8.3

Since Feb 24Pushed 2y agoCompare

[ Source](https://github.com/kytoonlabs/laravel-helm)[ Packagist](https://packagist.org/packages/kytoonlabs/laravel-helm)[ GitHub Sponsors](https://github.com/kytoonlabs)[ RSS](/packages/kytoonlabs-laravel-helm/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (4)Versions (4)Used By (0)

Laravel Helm Package
====================

[](#laravel-helm-package)

[![GitHub License](https://camo.githubusercontent.com/c5f2112d6b2b03d3ababe11e3cbd5c85853f28afbfce5be7ac3b1ea2e1fa66ea/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6b79746f6f6e6c6162732f6c61726176656c2d68656c6d)](https://github.com/kytoonlabs/laravel-helm/blob/main/LICENSE)[![Codecov](https://camo.githubusercontent.com/3e878e0284c2d1ab59ab9144891f4fca6967d96bcc6d8eb00a473e09b3e81278/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6b79746f6f6e6c6162732f6c61726176656c2d68656c6d)](https://app.codecov.io/gh/kytoonlabs/laravel-helm)[![Packagist Version](https://camo.githubusercontent.com/f83224910fedea72bd9d6892225cbf53432bbcb71b56a541444261fc70ad3ff8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b79746f6f6e6c6162732f6c61726176656c2d68656c6d)](https://packagist.org/packages/kytoonlabs/laravel-helm)

This package provides a wrapper to invoke HELM commands using PHP code.

Installing
----------

[](#installing)

Installing can be done through a variety of methods, although Composer is recommended.

### Composer (recommended)

[](#composer-recommended)

Include the following snipped into the *composer.json* file.

```
"require": {
  "kytoonlabs/laravel-helm": "^1.0"
}
```

or by using the `composer require` command:

```
composer require kytoonlabs/laravel-helm
```

### Github

[](#github)

Releases are available on [Github](https://github.com/kytoonlabs/laravel-helm/releases).

Configuration
-------------

[](#configuration)

In order to use the Laravel Helm package, is required to setup the right path where the HELM binary is located on the server.

Laravel Helm uses the path `/usr/local/bin/helm` by default, but it can be configured using an environment variable defined into the `.env`

```
HELM_BINARY_PATH=/path/to/helm/bynary
```

### Other configurations

[](#other-configurations)

```
# Set the internal `Process` timeout, default=3600
HELM_PROCESS_TIMEOUT=3600
```

How to use
----------

[](#how-to-use)

The current version of the package implements the following commands:

- helm version
- helm install
- helm upgrade
- helm delete

Also implements a method `rawCommand` where any other command can be executed.

### Helm::version

[](#helmversion)

```
use Kytoonlabs\LaravelHelm\Helm;
...
$helm = Helm::version();
$helm->run();
// Prints the command response for the command 'helm version'
$version = $helm->getOutput();
...
```

### Helm::install($name, $chart, $options, $envs)

[](#helminstallname-chart-options-envs)

Parameters:

- name: installation name (**required**)
- chart: helm chart (**required**)
- options: options array (**optional**)
- envs: environment variables array (**optional**)

```
use Kytoonlabs\LaravelHelm\Helm;
...
$helm = Helm::install(
    'releasename',
    'oci://registry-1.docker.io/bitnamicharts/redis',
    [
        "--version" => '16.18.2'
    ]
);
$helm->run();
// To check the command was executed successfully
if ($helm->isSuccessful()) {
    // HELM app installed
    ...
}
...
```

### Helm::upgrade($name, $chart, $options, $envs)

[](#helmupgradename-chart-options-envs)

Parameters:

- name: installation name (**required**)
- chart: helm chart (**required**)
- options: options array (**optional**)
- envs: environment variables array (**optional**)

```
use Kytoonlabs\LaravelHelm\Helm;
...
$helm = Helm::upgrade(
    'releasename',
    'oci://registry-1.docker.io/bitnamicharts/redis',
    [
        "--version" => '16.18.2',
        '--install'
    ]
);
$helm->run();
// To check the command was executed successfully
if ($helm->isSuccessful()) {
    // HELM app upgraded
    ...
}
...
```

### Helm::delete($name, $options, $envs)

[](#helmdeletename-options-envs)

Parameters:

- name: installation name (**required**)
- options: options array (**optional**)
- envs: environment variables array (**optional**)

```
use Kytoonlabs\LaravelHelm\Helm;
...
$helm = Helm::delete('releasename');
$helm->run();
// To check the command was executed successfully
if ($helm->isSuccessful()) {
    // HELM app uninstalled
    ...
}
...
```

### Helm::rawCommand($command, $options, $envs)

[](#helmrawcommandcommand-options-envs)

Parameters:

- command: string command to be executed (**required**)
- options: options array (**optional**)
- envs: environment variables array (**optional**)

```
use Kytoonlabs\LaravelHelm\Helm;
...
// Example using simple commands
$helm = Helm::rawCommand('list');
$helm->run();

// Example using commands with parameters
$helm = Helm::rawCommand('list --all');
$helm->run();

// Example combining with $options
$helm = Helm::rawCommand('list --output json', ['--all']);
$helm->run();
...
```

Parsing $options array
----------------------

[](#parsing-options-array)

The most of the methods for the Helm object uses the `$options` array. This is an example how the option are being parsed:

```
use Kytoonlabs\LaravelHelm\Helm;
...
// Define options array
$options = [
    '--version' => '1.0.0', // include parameters using --name=value
    '--create-namespace', // include single --parameters
    'app.host' => 'https://10.0.0.1', // values from values.yaml file
    '-n' => 'default', // -name value parameters
    '-A', // single - parameters
    'dry-run' // fix invalid inputs
];
$helm = Helm::install(
    'myredis',
    'oci://registry-1.docker.io/bitnamicharts/redis',
    $options
);
$helm->run();
// the command parsed will be:
// helm install myredis oci://registry-1.docker.io/bitnamicharts/redis --version=1.0.0
//   --create-namespace --set app.host=https://10.0.0.1 -n default -A --dry-run
...
```

Injecting environment variables using $envs
-------------------------------------------

[](#injecting-environment-variables-using-envs)

If is required to include environment variables to the helm execution context, this can be done using the `$envs` array.

```
use Kytoonlabs\LaravelHelm\Helm;
...
// List all helm applications pointing to a different cluster
$helm = Helm::rawCommand(
    'list --all',
    [],
    [
        'KUBECONFIG' => '/path/to/another/cluster/kubeconfig'
    ]
);
// Executing helm with the KUBECONFIG env vars enabled
$helm->run();
...
```

Testing
-------

[](#testing)

In order to validate that the package is fully functional always we can run:

```
composer test
```

License
-------

[](#license)

Laravel Helm package is licensed under the Apache 2.0. See the LICENSE file for details.

Support
-------

[](#support)

Issues can be opened directly in Github.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

3

Last Release

803d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d308ca50c5110e5f87b495d95565d10f78588689adab6e653efa1be8c555087e?d=identicon)[kytoonlabs](/maintainers/kytoonlabs)

---

Top Contributors

[![epdl](https://avatars.githubusercontent.com/u/6341099?v=4)](https://github.com/epdl "epdl (22 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/kytoonlabs-laravel-helm/health.svg)

```
[![Health](https://phpackages.com/badges/kytoonlabs-laravel-helm/health.svg)](https://phpackages.com/packages/kytoonlabs-laravel-helm)
```

###  Alternatives

[wnx/laravel-stats

Get insights about your Laravel Project

1.8k1.8M7](/packages/wnx-laravel-stats)[illuminate/pipeline

The Illuminate Pipeline package.

9446.6M213](/packages/illuminate-pipeline)[illuminate/pagination

The Illuminate Pagination package.

10532.5M862](/packages/illuminate-pagination)[spatie/laravel-mix-preload

Add preload and prefetch links based your Mix manifest

169176.0k2](/packages/spatie-laravel-mix-preload)[mrmarchone/laravel-auto-crud

Laravel Auto CRUD helps you streamline development and save time.

28711.8k2](/packages/mrmarchone-laravel-auto-crud)[interaction-design-foundation/laravel-geoip

Support for multiple Geographical Location services.

17221.0k3](/packages/interaction-design-foundation-laravel-geoip)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
