Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lhns/kubedeploy
A vendor-neutral way to deploy your App
https://github.com/lhns/kubedeploy
continuous-deployment curl devops docker docker-swarm gitops k8s kubernetes portainer webservice
Last synced: about 2 months ago
JSON representation
A vendor-neutral way to deploy your App
- Host: GitHub
- URL: https://github.com/lhns/kubedeploy
- Owner: lhns
- License: apache-2.0
- Created: 2022-03-20T01:33:03.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-09T00:24:29.000Z (3 months ago)
- Last Synced: 2024-10-11T00:09:16.657Z (2 months ago)
- Topics: continuous-deployment, curl, devops, docker, docker-swarm, gitops, k8s, kubernetes, portainer, webservice
- Language: Scala
- Homepage:
- Size: 183 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# kubedeploy
[![Docker Workflow](https://github.com/lhns/kubedeploy/workflows/build/badge.svg)](https://github.com/lhns/kubedeploy/actions?query=workflow%3Abuild)
[![Release Notes](https://img.shields.io/github/release/lhns/kubedeploy.svg?maxAge=3600)](https://github.com/lhns/kubedeploy/releases/latest)
[![Apache License 2.0](https://img.shields.io/github/license/lhns/kubedeploy.svg?maxAge=3600)](https://www.apache.org/licenses/LICENSE-2.0)A vendor-neutral and modular way to deploy your App with `curl` from a CI/CD-Pipeline to your Container Cluster of
choice.## Example
```shell
curl -sSf -H "Authorization: Bearer " -d "{
\"resource\": \"my-app\",
\"actions\": [{\"env\": {
\"IMAGE\": \"ghcr.io/my/app:1.0.0\"
}}]
}" http://my-kubedeploy:8080/deploy/
```## Actions
### Env
```json
{
"env": {
"IMAGE": "myimage:latest"
}
}
```### Yaml
```json
{
"yaml": {
"path": [
"services",
"test",
"image"
],
"value": "myimage:latest"
}
}
```### Json
```json
{
"json": {
"path": [
"services",
"test",
"image"
],
"value": "myimage:latest"
}
}
```### Regex
```json
{
"regex": {
"find": "(?<=image: ).*?(?=\\r?\\n|$)",
"replace": "myimage:latest"
}
}
```### Stack Config
```yaml
version: '3.8'services:
kubedeploy:
image: ghcr.io/lhns/kubedeploy:latest
environment:
CONFIG: |
{
"targets": [
{
"id": "",
"secret": "",
"portainer": {
"url": "http://my-portainer",
"username": "",
"password": ""
}
}
]
}
ports:
- "8080:8080"
```## Supported
- Docker Swarm via Portainer API
- doesn't support deployment status yet
- GitOps
- doesn't support deployment status yet (via Argo CD, Flux or Kubernetes API)## Planned
- Docker Swarm via Docker API
- Kubernetes API## License
This project uses the Apache 2.0 License. See the file called LICENSE.