Try to embed logos
This commit is contained in:
151
README.md
151
README.md
@@ -1,7 +1,10 @@
|
|||||||
<div style="text-align:center; margin: auto 0 4em 0" align="center">
|
<div style="text-align:center; margin: auto 0 4em 0" align="center">
|
||||||
<img src="./doc/docs/statics/logo-vertical.svg" alt="Katenary Logo" style="max-width: 90%" align="center"/>
|
<img src="./doc/docs/statics/logo-vertical.svg" alt="Katenary Logo" style="max-width: 90%" align="center"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
[](https://katenary.readthedocs.io/en/latest/?badge=latest)
|
||||||
|
[](https://goreportcard.com/report/github.com/metal3d/katenary)
|
||||||
|
[](https://github.com/metal3d/katenary/releases)
|
||||||
|
|
||||||
🚀 Unleash Productivity with Katenary! 🚀
|
🚀 Unleash Productivity with Katenary! 🚀
|
||||||
|
|
||||||
@@ -21,6 +24,18 @@ Katenary is a tool to help to transform `docker-compose` files to a working Helm
|
|||||||
> doesn't propose as many features as what can do Kubernetes. So, we strongly recommend to use Katenary as a "bootstrap"
|
> doesn't propose as many features as what can do Kubernetes. So, we strongly recommend to use Katenary as a "bootstrap"
|
||||||
> tool and then to manually enhance the generated helm chart.
|
> tool and then to manually enhance the generated helm chart.
|
||||||
|
|
||||||
|
|
||||||
|
Today, it's partially developped in collaboration with [Klee Group](https://www.kleegroup.com). Note that Katenary is
|
||||||
|
and **will stay an opensource and free (as freedom) project**. We are convinced that the best way to make it better is to
|
||||||
|
share it with the community.
|
||||||
|
|
||||||
|
|
||||||
|
<div style="width: 100%">
|
||||||
|
<img src="./logo.svg" alt="Katenary Logo" style="width: 100%" align="center"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
The main developer is [Patrice FERLET](https://github.com/metal3d).
|
||||||
|
|
||||||
# Install
|
# Install
|
||||||
|
|
||||||
You can download the binaries from the [Release](https://github.com/metal3d/katenary/releases) section. Copy the binary
|
You can download the binaries from the [Release](https://github.com/metal3d/katenary/releases) section. Copy the binary
|
||||||
@@ -84,25 +99,25 @@ source <(katenary completion bash --no-description)
|
|||||||
source <(katenary completion zsh)
|
source <(katenary completion zsh)
|
||||||
|
|
||||||
# fish in ~/.config/fish/config.fish
|
# fish in ~/.config/fish/config.fish
|
||||||
katenary completion fish | source
|
katenary completion fish | source
|
||||||
|
|
||||||
# powershell (as we don't provide any support on Windows yet, please avoid this...)
|
# powershell (as we don't provide any support on Windows yet, please avoid this...)
|
||||||
```
|
```
|
||||||
|
|
||||||
# Usage
|
# Usage
|
||||||
|
|
||||||
```
|
```
|
||||||
Katenary is a tool to convert compose files to Helm Charts.
|
Katenary is a tool to convert compose files to Helm Charts.
|
||||||
|
|
||||||
Each [command] and subcommand has got an "help" and "--help" flag to show more information.
|
Each [command] and subcommand has got an "help" and "--help" flag to show more information.
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
katenary [command]
|
katenary [command]
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
katenary convert -c docker-compose.yml -o ./charts
|
katenary convert -c docker-compose.yml -o ./charts
|
||||||
|
|
||||||
Available Commands:
|
Available Commands:
|
||||||
completion Generates completion scripts
|
completion Generates completion scripts
|
||||||
convert Converts a docker-compose file to a Helm Chart
|
convert Converts a docker-compose file to a Helm Chart
|
||||||
hash-composefiles Print the hash of the composefiles
|
hash-composefiles Print the hash of the composefiles
|
||||||
@@ -110,77 +125,77 @@ Available Commands:
|
|||||||
help-labels Print the labels help for all or a specific label
|
help-labels Print the labels help for all or a specific label
|
||||||
version Print the version number of Katenary
|
version Print the version number of Katenary
|
||||||
|
|
||||||
Flags:
|
Flags:
|
||||||
-h, --help help for katenary
|
-h, --help help for katenary
|
||||||
-v, --version version for katenary
|
-v, --version version for katenary
|
||||||
|
|
||||||
Use "katenary [command] --help" for more information about a command.
|
Use "katenary [command] --help" for more information about a command.
|
||||||
```
|
```
|
||||||
|
|
||||||
Katenary will try to find a `docker-compose.yaml` or `docker-compose.yml` file inside the current directory. It will
|
Katenary will try to find a `docker-compose.yaml` or `docker-compose.yml` file inside the current directory. It will
|
||||||
check *the existence of the `chart` directory to create a new Helm Chart inside a named subdirectory. Katenary will ask
|
check *the existence of the `chart` directory to create a new Helm Chart inside a named subdirectory. Katenary will ask
|
||||||
you if you want to delete it before recreating.
|
you if you want to delete it before recreating.
|
||||||
|
|
||||||
It creates a subdirectory inside `chart` that is named with the `appname` option (default is `MyApp`)
|
It creates a subdirectory inside `chart` that is named with the `appname` option (default is `MyApp`)
|
||||||
|
|
||||||
> To respect the ability to install the same application in the same namespace, Katenary will create "variable" names
|
> To respect the ability to install the same application in the same namespace, Katenary will create "variable" names
|
||||||
> like `{{ .Release.Name }}-servicename`. So, you will need to use some labels inside your docker-compose file to help
|
> like `{{ .Release.Name }}-servicename`. So, you will need to use some labels inside your docker-compose file to help
|
||||||
> katenary to build a correct helm chart.
|
> katenary to build a correct helm chart.
|
||||||
|
|
||||||
What can be interpreted by Katenary:
|
What can be interpreted by Katenary:
|
||||||
|
|
||||||
- Services with "image" section (cannot work with "build" section)
|
- Services with "image" section (cannot work with "build" section)
|
||||||
- **Named Volumes** are transformed to persistent volume claims - note that local volume will break the transformation
|
- **Named Volumes** are transformed to persistent volume claims - note that local volume will break the transformation
|
||||||
to Helm Chart because there is (for now) no way to make it working (see below for resolution)
|
to Helm Chart because there is (for now) no way to make it working (see below for resolution)
|
||||||
- if `ports` and/or `expose` section, katenary will create Services and bind the port to the corresponding container port
|
- if `ports` and/or `expose` section, katenary will create Services and bind the port to the corresponding container port
|
||||||
- `depends_on` will add init containers to wait for the depending on service (using the first port)
|
- `depends_on` will add init containers to wait for the depending on service (using the first port)
|
||||||
- `env_file` list will create a configMap object per environemnt file (⚠ to-do: the "to-service" label doesn't work with
|
- `env_file` list will create a configMap object per environemnt file (⚠ to-do: the "to-service" label doesn't work with
|
||||||
configMap for now)
|
configMap for now)
|
||||||
- some labels can help to bind values, see examples below
|
- some labels can help to bind values, see examples below
|
||||||
|
|
||||||
Exemple of a possible `docker-compose.yaml` file:
|
Exemple of a possible `docker-compose.yaml` file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: "3"
|
version: "3"
|
||||||
services:
|
services:
|
||||||
webapp:
|
webapp:
|
||||||
image: php:7-apache
|
image: php:7-apache
|
||||||
environment:
|
environment:
|
||||||
# note that "database" is a service name
|
# note that "database" is a service name
|
||||||
DB_HOST: database
|
DB_HOST: database
|
||||||
expose:
|
expose:
|
||||||
- 80
|
- 80
|
||||||
depends_on:
|
depends_on:
|
||||||
# this will create a init container waiting for 3306 port
|
# this will create a init container waiting for 3306 port
|
||||||
# because it's the "exposed" port
|
# because it's the "exposed" port
|
||||||
- database
|
- database
|
||||||
labels:
|
labels:
|
||||||
# expose the port 80 as an ingress
|
# expose the port 80 as an ingress
|
||||||
katenary.v3/ingress: |-
|
katenary.v3/ingress: |-
|
||||||
hostname: myapp.example.com
|
hostname: myapp.example.com
|
||||||
port: 80
|
port: 80
|
||||||
# make adaptations, DB_HOST environment is actually the service name
|
# make adaptations, DB_HOST environment is actually the service name
|
||||||
# to hit (note the yaml style, start with "|")
|
# to hit (note the yaml style, start with "|")
|
||||||
katenary.v3/mapenv: |-
|
katenary.v3/mapenv: |-
|
||||||
DB_HOST: '{{ .Release.Name }}-database'
|
DB_HOST: '{{ .Release.Name }}-database'
|
||||||
database:
|
database:
|
||||||
image: mariadb:10
|
image: mariadb:10
|
||||||
env_file:
|
env_file:
|
||||||
# this will create a configMap
|
# this will create a configMap
|
||||||
- my_env.env
|
- my_env.env
|
||||||
environment:
|
environment:
|
||||||
MARIADB_USER: foo
|
MARIADB_USER: foo
|
||||||
MARIADB_ROOT_PASSWORD: foobar
|
MARIADB_ROOT_PASSWORD: foobar
|
||||||
MARIADB_PASSWORD: bar
|
MARIADB_PASSWORD: bar
|
||||||
labels:
|
labels:
|
||||||
# no need to declare this port in docker-compose
|
# no need to declare this port in docker-compose
|
||||||
# but katenary will need it
|
# but katenary will need it
|
||||||
katenary.v3/ports: |-
|
katenary.v3/ports: |-
|
||||||
- 3306
|
- 3306
|
||||||
# these variables are secrets
|
# these variables are secrets
|
||||||
katenary.v3/secrets: |-
|
katenary.v3/secrets: |-
|
||||||
- MARIADB_ROOT_PASSWORD
|
- MARIADB_ROOT_PASSWORD
|
||||||
- MARIADB_PASSWORD
|
- MARIADB_PASSWORD
|
||||||
```
|
```
|
||||||
|
|
||||||
# Labels
|
# Labels
|
||||||
|
1
doc/docs/statics/klee.svg
Normal file
1
doc/docs/statics/klee.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 47 KiB |
19
logo.svg
Normal file
19
logo.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg viewBox="0 0 600 300" width="600" height="300" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<foreignObject width="100%" height="100%">
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
height: 100vh;
|
||||||
|
width: 100vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<img src="/doc/docs/statics/klee.svg"/>
|
||||||
|
</div>
|
||||||
|
</foreignObject>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 445 B |
Reference in New Issue
Block a user