An open API service indexing awesome lists of open source software.

https://github.com/teragrep/adp_01

Automatic Deployment Package
https://github.com/teragrep/adp_01

Last synced: 5 months ago
JSON representation

Automatic Deployment Package

Awesome Lists containing this project

README

          

= Teragrep Cluster Helm Charts

The documentation and repository aims to:
- Provide everything necessary to run the whole Teragrep Cluster and associated components.
- Make development and rapid iterations easy for the developers.
- Make multiple parallel deployments possible.

The user is expected to have `Helm` and supported version of `Kubernetes` cluster installed with basic know-how how to operate them.

Tested on link:https://minikube.sigs.k8s.io/docs/drivers/kvm2/[Minikube with KVM2 driver.]

== Requirements

- link:https://helm.sh/docs/topics/version_skew/#supported-version-skew[Helm 3.x.x and supported version of Kubernetes running.]

== Configurations

The `config.yaml` values file contains all "meta" and shareable configuration lines and is needed by `Helm`.

The `shareable` module contains all shareable configuration files.

The application-specific configurations for all modules can be found inside `${MODULE}/config` directories.

== Usage

All helm related files can be found in directory `helm/`.

Run `./recreate.sh` to create the cluster in correct order. Convenience script, internally uses `stop.sh` and `install.sh` scripts.

Run `./stop.sh` to destroy the cluster. Convenience script, internally uses `uninstall.sh` script.

Run `./install.sh module-name` to (re-)install a module. Existing installation will be uninstalled first.

Run `./uninstall.sh module-name` to uninstall a module.

== Tips

It is helpful to run `kubectl config set-context --current --namespace=teragrep` to avoid having to run `--namespace teragrep` on every step. Alternatively start minikube with `--namespace=teragrep` argument.

You might need to increase `fs.inotify.max_user_instances` in case of `Failed to create inotify object: Too many open files` happening.

== Development

The rpm files have to be provided by the user as this repository do not contain them directly. All other files for building container images can be found under `dockerfiles` directory.

Expected files to be inside `dockerfiles/rpms/` directory:

- `ajs_01.rpm`
- `bos_01.rpm`
- `hdp_03.rpm`
- `hdp_04.rpm`
- `obj-01.rpm`
- `pth_05.rpm`
- `pth_10.rpm`
- `pyz_01.rpm`
- `rest-01.rpm`
- `rest-02-backend.rpm`
- `rest-02-data-tool.rpm`
- `rest-03-extras.rpm`
- `spk_02.rpm`
- `spk_03.rpm`
- `zep_01.rpm`

Read `dockerfiles/README.adoc` for information.

Be sure to uninstall any running modules to make sure the container images are properly updated.