teknoo / east-paas
Universal package, following the #East programming philosophy, build on Teknoo/East-Foundation (and Teknoo/Recipe) to implement a custom PaaS manager like platform.sh, compatible with Docker and Kubernetes
Fund package maintenance!
Patreon
TeknooSoftware
Installs: 4 065
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- php: ^8.2
- ext-dom: *
- ext-json: *
- ext-libxml: *
- php-di/php-di: ^7.0.7
- psr/http-client: ^1.0.3
- teknoo/east-common: ^3
- teknoo/east-foundation: ^8
- teknoo/immutable: ^3.0.18
- teknoo/recipe: ^6
- teknoo/states: ^6.4.1
Requires (Dev)
- behat/behat: ^3.13
- doctrine/common: ^3.4.3
- doctrine/mongodb-odm: ^2.9
- doctrine/mongodb-odm-bundle: ^4.7||^5
- doctrine/persistence: ^3.4||^4
- guzzlehttp/guzzle: ^7.9.2
- laminas/laminas-diactoros: ^3.5
- league/flysystem: ^3.29.1
- nikic/php-parser: ^4.18||^5
- php-http/discovery: ^1.20
- php-http/mock-client: ^1.6.1
- phpseclib/phpseclib: ^3.0.42
- phpstan/extension-installer: ^1.4.3
- phpstan/phpstan: ^1.12.7
- phpunit/phpunit: ^11.4.3
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: ^3.10.3
- symfony/config: ^6.3||^7
- symfony/console: ^6.3||^7
- symfony/dependency-injection: ^v6.3||^7
- symfony/error-handler: ^6.3||^7
- symfony/finder: ^6.3||^7
- symfony/form: ^6.3||^7
- symfony/framework-bundle: ^6.3||^7
- symfony/http-client: ^6.3||^7
- symfony/http-kernel: ^6.3||^7
- symfony/messenger: ^6.3||^7
- symfony/options-resolver: ^6.3||^7
- symfony/process: ^6.3||^7
- symfony/property-access: ^6.3||^7
- symfony/property-info: ^6.3||^7
- symfony/psr-http-message-bridge: ^2.3.1||^6.4||^7
- symfony/routing: ^6.3||^7
- symfony/security-bundle: ^6.3||^7
- symfony/security-core: ^6.3||^7
- symfony/security-http: ^6.3||^7
- symfony/serializer: ^6.0.6||^7
- symfony/translation: ^6.3||^7
- symfony/validator: ^6.3||^7
- symfony/var-exporter: ^6.3||^7
- symfony/yaml: ^6.3||^7
- teknoo/bridge-phpdi-symfony: ^6.1
- teknoo/kubernetes-client: ^1.7
- dev-master
- 4.2.3
- 4.2.2
- 4.2.1
- 4.2.0
- 4.1.0
- 4.0.0
- 3.4.5
- 3.4.4
- 3.4.3
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.7
- 3.3.6
- 3.3.5
- 3.3.4
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.0
- 3.1.1
- 3.1.0
- 3.0.1
- 3.0.0
- 2.8.2
- 2.8.1
- 2.8.0
- 2.7.1
- 2.7.0
- 2.6.0
- 2.5.3
- 2.5.2
- 2.5.1
- 2.5.0
- 2.4.9
- 2.4.8
- 2.4.7
- 2.4.6
- 2.4.5
- 2.4.4
- 2.4.3
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.0
- 2.3.0-beta1
- 2.2.9
- 2.2.8
- 2.2.7
- 2.2.6
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.2.0-beta3
- 2.2.0-beta2
- 2.2.0-beta1
- 2.1.1
- 2.1.0
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0.0-beta1
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.1
- 1.7.0
- 1.6.1
- 1.6.0
- 1.5.4
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.1
- 1.4.0
- 1.3.1
- 1.3.0
- 1.2.0
- 1.1.0
- 1.0.0
- 0.0.136
- 0.0.135
- 0.0.134
- 0.0.133
- 0.0.132
- 0.0.131
- 0.0.130
- 0.0.129
- 0.0.128
- 0.0.127
- 0.0.126
- 0.0.124
- 0.0.123
- 0.0.122
- 0.0.119
- 0.0.118
- 0.0.117
- 0.0.116
- 0.0.115
- 0.0.114
- 0.0.113
- 0.0.112
- 0.0.111
- 0.0.110
- 0.0.109
- 0.0.108
- 0.0.107
- 0.0.106
- 0.0.105
- 0.0.104
- 0.0.103
- 0.0.102
- 0.0.101
- 0.0.100
- 0.0.99
- 0.0.98
- 0.0.97
- 0.0.96
- 0.0.95
- 0.0.94
- 0.0.93
- 0.0.92
- 0.0.91
- 0.0.90
- 0.0.89
- 0.0.88
- 0.0.87
- 0.0.86
- 0.0.85
- 0.0.84
- 0.0.83
- 0.0.81
- 0.0.80
- 0.0.79
- 0.0.78
- 0.0.77
- 0.0.76
- 0.0.75
- 0.0.74
- 0.0.73
- 0.0.72
- 0.0.71
- 0.0.70
- 0.0.68
- 0.0.67
- 0.0.66
- 0.0.65
- 0.0.64
- 0.0.63
- 0.0.62
- 0.0.61
- 0.0.60
- 0.0.59
- 0.0.58
- 0.0.57
- 0.0.56
- 0.0.55
- 0.0.54
- 0.0.53
- 0.0.52
- 0.0.51
- 0.0.50
- 0.0.49
- 0.0.48
- 0.0.47
- 0.0.46
- 0.0.45
- 0.0.44
- 0.0.43
- 0.0.42
- 0.0.41
- 0.0.40
- 0.0.39
- 0.0.38
- 0.0.37
- 0.0.36
- 0.0.35
- 0.0.34
- 0.0.33
- 0.0.32
- 0.0.31
- 0.0.30
- 0.0.29
- 0.0.28
- 0.0.27
- 0.0.26
- 0.0.25
- 0.0.24
- 0.0.23
- 0.0.22
- 0.0.21
- 0.0.20
- 0.0.19
- 0.0.18
- 0.0.17
- 0.0.16
- 0.0.15
- 0.0.14
- 0.0.13
- 0.0.12
- 0.0.11
- 0.0.10
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
This package is auto-updated.
Last update: 2024-12-18 07:19:08 UTC
README
East PaaS
is a universal package, following the #East programming philosophy, build on
Teknoo East Foundation and
Recipe to implement a custom
PaaS manager like Platform.sh.
This library is able to fetch a project on a source repository (like Git
) in a temporary folder, reads a deployment
file (by default, called .paas.yaml
) run some hooks to install vendors (with composer
, npm
, pip
, etc..),
compiles (make
, symfony console
), warmup cache, creates OCI image (with buildah
or docker build
) and deploy the
project them in a cluster (kubernetes
, but with non bundled driver, Docker Swarm
).
The deployment on Kubernetes
includes :
Namespace
ReplicaSets
orDeployments
(withPods
)ConfigMap
andSecrets
Service
andIngress
Quota
Teknoo East PaaS
is compatible with Docker
or any OCI implementation
(like BuildAh
) and Kubernetes
.
Implementation of other cluster orchestration like Docker Swarm
can be added.
Teknoo East PaaS
is bundled with a default implementation with Symfony
6.4 or newer and Doctrine ODM MongoDB
to
persist data.
Documentation
The documentation, about the architecture of this library and its behavior is available here
Example with Symfony
An example of integration with Symfony
file is available here
Example of .paas.yaml configuration file present into git repository to deploy
An example of the .paas.yaml
file is available here
Support this project
This project is free and will remain free. It is fully supported by the activities of the EIRL. If you like it and help me maintain it and evolve it, don't hesitate to support me on Patreon or Github.
Thanks :) Richard.
Credits
EIRL Richard Déloge - https://deloge.io - Lead developer. SASU Teknoo Software - https://teknoo.software
About Teknoo Software
Teknoo Software is a PHP software editor, founded by Richard Déloge, as part of EIRL Richard Déloge. Teknoo Software's goals : Provide to our partners and to the community a set of high quality services or software, sharing knowledge and skills.
License
Space is licensed under the MIT License - see the licenses folder for details.
Installation & Requirements
To install this library with composer, run this command :
composer require teknoo/east-paas
This library requires :
* PHP 8.1+
* A PHP autoloader (Composer is recommended)
* Teknoo/Immutable.
* Teknoo/States.
* Teknoo/Recipe.
* Teknoo/East-Foundation.
* Optional: Symfony 6.3+ (for administration)
Contribute :)
You are welcome to contribute to this project. Fork it on Github