eiffel-community / etos

Eiffel Test Orchestration System
https://etos.readthedocs.io
Apache License 2.0
9 stars 6 forks source link

Etos cluster controller #244

Closed t-persson closed 3 months ago

t-persson commented 3 months ago

Applicable Issues

242

Description of the Change

The cluster resource will create all the services needed for an ETOS deployment, including extra infrastructure needs if needed. It is designed to make it a lot easier to get an ETOS cluster up and running, especially when running ETOS in a local kubernetes cluster. Note that this cluster resource is not complete yet. It does not, for example, deploy any providers for an ETOS testrun. It does not read secrets that can be added in the cluster custom resource. It does not deploy a logstash instance for ETOS logging.

Alternate Designs

I wanted to create a way for developers to easily deploy a test cluster and decided to see how easy it was to create a controller for it. Another way could be to deploy all services separately and let ETOS deploy ETOS and nothing else, but we still need to configure ETOS with the information on how to communicate with the extra services so I thought that it would just be easier for ETOS to deploy them. I also created this custom resource with the ability to deploy a production cluster where all extra services are deployed elsewhere, but I have not verified this yet.

Possible Drawbacks

It is an extra thing to maintain, but I think that having access to a local ETOS cluster makes it worth it and if we use this cluster for the production deployments as well, then the maintainer burden will be lessened.

Sign-off

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.

Signed-off-by: Tobias Persson tobias.persson@axis.com

t-persson commented 3 months ago

Commits in this change