Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abcdesktopio/helm
abcdesktopio Helm package
https://github.com/abcdesktopio/helm
Last synced: about 2 months ago
JSON representation
abcdesktopio Helm package
- Host: GitHub
- URL: https://github.com/abcdesktopio/helm
- Owner: abcdesktopio
- License: gpl-2.0
- Created: 2024-02-06T15:49:39.000Z (11 months ago)
- Default Branch: dev
- Last Pushed: 2024-03-19T13:26:48.000Z (10 months ago)
- Last Synced: 2024-05-14T00:45:32.144Z (8 months ago)
- Language: Smarty
- Size: 42 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ABCDesktop helm package
ABCDesktop is a cloud native desktopless service, and a complete work environment accessible from a simple HTML 5 web browser, without any installation. Have a look on [https://www.abcdesktop.io/](https://www.abcdesktop.io/) for more informations.
## ABCDesktop parametersThe following table contains the helm parameters:
|Name| Description|Value|
|---|---|---|
| namespace | default namespace |abcdesktop|
| image.pullpolicy | default image pull policy | IfNotPresent |
| memcached.image |memcached's image | memcached |
| memcached.tag |memcached's image tag |latest |
| openldap.image |openldap's image | abcdesktopio/oc.openldap |
| openldap.tag |openldap's image tag | 3.0 |
| speedtest.image |speedtest's image | abcdesktopio/oc.speedtest |
| speedtest.tag |speedtest's image tag | 3.0 |
| nginx.image |nginx's image | abcdesktopio/oc.nginx |
| nginx.tag |nginx's image tag | 3.2 |
| mongodb.image |mongodb's image | mongo |
| mongodb.tag |mongodb's image tag | 4.4 |
| pyos.image |pyos's image | oc.pyos |
| pyos.tag |pyos's image tag | 3.2 |
| secrets.jwtsigningkeys| name of the Secret containing signing key | "" |
| secrets.jwtpayloadkeys| name of the Secret containing payload key | "" |
| secrets.jwtusersigningkeys| name of the Secret containing user signing key | "" |
| secrets.jwtdesktopsigning| name of the Secret containing desktop signing key | "" |
| secrets.jwtdesktoppayload| name of the Secret containing desktop payload key | "" |
| config.default_host_url| public host url of the service|http://localhost|
| config.websocketrouting |describe which url is returned by od.py to reach the WebSocket server the more secured value is default_host_url | http_origin | "http_origin" |
| config.server.socket_host | od.py need an ip address and tcp port to listen |'0.0.0.0 |
| config.server.socket_port | the default tcp port to listen is 8000 | 8000 |
| config.server.default.ipaddr | | '127.0.0.1' |
| config.jwt_token_user | json description | |
| config.jwt_token_desktop | | |
| config.controllers | | |
| config.authmanagers | | |
| config.ldapconfig | | |
| config.OAUTHLIB_INSECURE_TRANSPORT | | True |
| config.OAUTHLIB_RELAX_TOKEN_SCOPE | | True |
| config.fail2ban |||
| config.auth.logmein|||
| config.auth.prelogin|||
| config.language|||
| config.webrtc.enable || False|
| config.webrtc.rtc_constraints
| config.K8S_BOUND_PVC_TIMEOUT_SECONDS|||
| config.K8S_CREATE_POD_TIMEOUT_SECONDS|||
| config.executeclasses||||
| config.desktop.release||||
| config.desktop.secretslocalaccount ||/etc/localaccount|
| config.desktop.pod |||
| config.logging | logging configuration (json format) ||Note Secrets and ConfigMap MUST exists before helm deployment.
## Build helm from sources
## Manual
The following commands are required ( installation depends of your operating system):
- **helm**
- **git**First clone the project on the build host:
~~~ bash
$ git clone https://github.com/abcdesktopio/helm.git
~~~and move to the project directory:
~~~ bash
$ cd helm
~~~and build package:
~~~ bash
$ helm package ./abcdesktop/
Successfully packaged chart and saved it to: abcdesktop-0.1.0.tgz
~~~The helm file **abcdesktop-0.1.0.tgz** is created.
Let's lint it:
~~~ bash
$ helm lint abcdesktop-0.1.0.tgz
==> Linting abcdesktop-0.1.0.tgz1 chart(s) linted, 0 chart(s) failed
========================================
~~~## Install helm package
### From local package
~~~ bash
$ helm upgrade --install abcdesktop --create-namespace ./abcdesktop-0.1.0.tgz -n abcdesktop
~~~## Uninstall
~~~ bash
$ helm uninstall abcdesktop -n abcdesktop
~~~where **abcdesktop** is the instance name.
## Makefile
The Makefile is used to build, test, deploy, and manage the abcdesktop Helm chart. It defines several targets for various tasks:
### doc
> `make doc`
> :displays the documentationThe `doc` target is used to display the documentation of this Makefile by
echoing out a formatted message.### build
> `make build`
> :builds Helm chart and lints itThe `build` target is used to build the Helm chart and run lint checks on it. This is accomplished through the `clean` and `helm lint` commands.
### debug
> `make debug`
> :debug generate the yaml template to debug buildThe `debug` target is used to debug the helm generating the template results as yaml files: `debug-1.yaml` as template application only and `debug-2.yaml` as full dry-run. The second step needs a kubernetes connexion.
### clean
> `make clean`
> :removes .tgz files generated during buildingThe `clean` target is used to remove any `.tgz` files that may have been generated during the build process.
### deploy
> `make deploy`
> :installs Helm chart in a Kubernetes clusterThe `deploy` target is used to install the Helm chart into a Kubernetes cluster. This is accomplished by using the `helm upgrade` command with the `--install` flag, which creates or updates a release. The `-n` flag is used to specify the namespace
for the deployment.### uninstall
> `make uninstall`
> :uninstalls Helm chart from a Kubernetes clusterThe `uninstall` target is used to uninstall the Helm chart from a Kubernetes cluster. This is accomplished by using the `helm uninstall` command with the name of the release and namespace.
### Usage
To use this Makefile, save it in the root directory of your Helm chart (i.e., the same directory as your `Chart.yaml` file), and then run `make` or specify a target, such as `make build`. For example:
```sh
$ make doc # displays available targets
$ make build # builds and lints Helm chart
$ make debug # generates the yaml files to help debbuging helm
$ make deploy # installs Helm chart in Kubernetes cluster
$ make uninstall # removes Helm chart from Kubernetes cluster
$ make clean # cleans up generated .tgz files
```