To provide an environment in which all Eiffel components can be tested together. It is mainly intended to be used to try out the services in the Eiffel portfolio themselves.
This bundle can be used as a base for any application bundle depending on Eiffel. Not all services in this bundle would need to be included in such an application bundle.
The docker-compose file in this bundle will show the dependencies between services in this bundle, so that relevant dependent services can be included.
The Easy2Use Eiffel bundle is applicable both for Docker & Kubernetes.
Eiffel
Component | Service name | User/PSW | Info |
---|---|---|---|
Dummy Event Repository REST API | dummy_er | N/A | Needed for Vici for now |
Eiffel Intelligence (Frontend) | ei_frontend | N/A | |
Eiffel Intelligence (All Events) | ei_allevents | N/A | |
Eiffel Intelligence (Artifact) | ei_artifact | N/A | Subscription included (seeded) to trigger predefined Jenkins Job ei-artifact-triggered-job via native Jenkins Rest API |
Eiffel Intelligence (SourceChange) | ei_sourcechange | N/A | Subscription included (seeded) to trigger predefined Jenkins Job ei-sourcechange-triggered-job via native Jenkins Rest API |
Eiffel Intelligence (TestExecution) | ei_testexecution | N/A | Subscription included (seeded) to trigger predefined Jenkins Job ei-testexecution-triggered-job via native Jenkins Rest API |
Eiffel Jenkins (with Eiffel Jenkins Plugin) | eiffel_jenkins | admin / admin | With predefined jobs showing some Eiffel service interactions with use of FEM plugin |
Eiffel Message Bus (RabbitMQ) | rabbitmq | myuser / myuser | Same for both WebUI and AMQP connection |
Event Repository REST API | eiffel_er | N/A | |
Jenkins | jenkins | admin/admin | With predefined jobs showing some Eiffel service interactions using RemRem and Nexus via curl command. |
MongoDb & Data Seeding | mongodb & mongo_seed | N/A | The seed-data folder in Easy2Use contains data that can be seeded into the MongoDB instance. |
Nexus3 | nexus | admin / admin123 | |
RemRem Generate | remrem_generate | N/A | |
RemRem Publish | remrem_publish | N/A | |
Vici | eiffel_vici | N/A |
OS | Minimum Requirements | Preferably | Comments |
---|---|---|---|
Windows 'Docker Toolbox' | ? | 24 GB RAM 50 GB Disk? |
This recommendation is valid when assigning 4 CPU cores to the Docker machine. With less cores less memory would be consumed, but the performance will be worse. The assigned amount of RAM will be allocated to the Docker machine until it is stopped |
Windows 'Docker for Windows' | ? | 20 GB RAM? 50 GB Disk? |
The assigned amount of RAM is dynamically allocated and only used by the Docker machine when needed? |
Linux | 8 GB RAM | 16 GB RAM or more | ~11 GB of RAM will be use under the load. When all containers is loaded, the memory usage is ~6 GB RAM. Computer with 8 GB RAM works, but it will takes some more time to load all containers due to swapping data between memory and hard drive. |
- Docker 18.06 CE or newer
- Docker-Compose 1.22 or newer
- Kubernetes cluster (local or remote)
- Kubectl
- Helm
N/A
See the getting starting page: Getting Started Bundles
This is a schematic picture of the environment:
Print bundle information from Easy2Use CLI:
./easy2use info Eiffel
If running in local K8S cluster, minikube or docker-for-windows (windows 10 Hyper-v). Local K8S cluster configuration is required.
- Local K8S cluster (windows 10 Hyper-v) do:
./easy2use configure-local-k8s-hyper-v Eiffel -t Kubernetes
- Local K8S cluster (minikube) do:
./easy2use configure-local-k8s-minikube Eiffel -t Kubernetes
./easy2use start Eiffel -t <target-type> -n <namespace> -d <basedomainname>
Easy2Use list command will both list URLs (ingresses) to the deployed K8S services and user/psw for the services.
./easy2use list Eiffel -t <target-type> -n <namespace>
If you running the Eiffel bundle on a local K8S cluster, you need to update your ..etc/hosts file with ingresses. To print the ingresses to use do:
./easy2use generate-local-hosts-file-hyper-v Eiffel -t Kubernetes
./easy2use generate-local-hosts-file-minikube Eiffel -t Kubernetes
Update your hosts file with the output from the printout!
Linux: /etc/hosts
Windows: C:\Windows\System32\drivers\etc\hosts (OBS you need to open cmd in Administrator mode!)
./easy2use remove Eiffel -t <target-type> -n <namespace>