freedomtech-hosting / ft-lagoon-php
The Freedom Tech Lagoon PHP library
Installs: 479
Dependents: 3
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/freedomtech-hosting/ft-lagoon-php
Requires
- softonic/graphql-client: ^3.0
- spatie/ssh: ^1.10
- symfony/process: ^7.1.7
This package is auto-updated.
Last update: 2025-10-06 00:23:14 UTC
README
⚠️ Warning: Experimental Project
FT-Lagoon-PHP is currently in active development and has not yet reached a stable production release. This project should be considered experimental.If you are interested in using FT-Lagoon-PHP in a production setting, please contact Bryan Gruneberg (bryan@workshoporange.co) from Workshop Orange, one of the sponsoring organizations.
A PHP client library for interacting with the Lagoon API.
Requirements
- PHP 8.0+
- Composer
- Access to a Lagoon (https://lagoon.sh) instance. Shameless plug: https://amazee.io has cloud and dedicated solutions.
Installation
composer require freedomtechhosting/ft-lagoon-php
Usage
$lagoon = new \FreedomtechHosting\FtLagoonPhp\Client( [ 'ssh_user' => 'lagoon', 'ssh_server' => 'ssh.lagoon.amazeeio.cloud', 'ssh_port' => '32222', 'endpoint' => 'https://api.lagoon.amazeeio.cloud/graphql', 'ssh_private_key_file' => getenv('HOME') . '/.ssh/id_rsa' ] );
Table of supported API functions:
| Function | Description | 
|---|---|
| Project Management | |
| createLagoonProject | Create a new Lagoon project | 
| createLagoonProjectInOrganization | Create a new Lagoon project within an organization | 
| getAllProjects | Get all projects from the API | 
| getProjectByName | Get a project by name | 
| Project Variables | |
| getProjectVariablesByName | Get all variables for a project | 
| getProjectVariableByName | Get a specific variable for a project | 
| addOrUpdateScopedVariableForProject | Add/update a variable with specific scope for project | 
| addOrUpdateGlobalVariableForProject | Add/update a global variable for project | 
| deleteProjectVariableByName | Delete a variable from project | 
| Environment Variables | |
| addOrUpdateScopedVariableForProjectEnvironment | Add/update scoped variable for environment | 
| getProjectVariablesByNameForEnvironment | Get all variables for environment | 
| getProjectVariableByNameForEnvironment | Get specific variable for environment | 
| deleteProjectVariableByNameForEnvironment | Delete variable from environment | 
| Environment Management | |
| deleteProjectEnvironmentByName | Delete a project environment | 
Examples
For examples of how to use the client, see the demo implementation at https://github.com/Freedomtech-Hosting/ft-lagoon-php-cli
Sponsoring Organizations
- Workshop Orange - Project Delivery Professionals
- amazee.io - Enterprise Hosting
- Freedomtech Hosting - Decentralized Hosting
Contributing
Contributions are welcome! Please feel free to submit an issue or a PR.
License
This project is licensed under the MIT License - see the LICENSE file for details.