Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helm chart #5512

Open
wants to merge 26 commits into
base: develop
Choose a base branch
from
Open

Helm chart #5512

wants to merge 26 commits into from

Conversation

bikash119
Copy link
Contributor

@bikash119 bikash119 commented Sep 18, 2024

Description

  • Use helm chart to manage k8s resources
  • Added pre-commit hook to use helm lint to find and fix linting errors in chart templates.

Closes #<issue_number>

Type of change

  • Improvement (change adding some improvement to an existing functionality)
  • Documentation update

How Has This Been Tested

on dev machine

  • install minikube
  • install helm
  • helm install <chart_folder_location> . In this case helm install argilla-dev examples/deployment/k8s/argilla-cart
    This should install and start elasticsearch and argilla-server to the k8s cluster
  • kubectl port-forward service/argilla-dev-argilla-chart 6900:6900.
  • http://localhost:6900 ->should open the Argilla UI login screen.
  • USERNAME: argilla , PASSWORD: 12345678, will authenticate the user and take user to http://localhost:6900/datasets.

Checklist

  • I added relevant documentation [TODO]
  • I followed the style guidelines of this project
  • I did a self-review of my code
  • I made corresponding changes to the documentation [TODO]
  • I confirm My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have added relevant notes to the CHANGELOG.md file (See https://keepachangelog.com/)[ TODO ]

@bikash119
Copy link
Contributor Author

bikash119 commented Sep 18, 2024

@davidberenstein1957 : Should we remove the k8s resources files inside examples/deployment/k8s folder once we have helm charts for Elasticsearch and Argilla? We will have hard time keeping the k8s resource yamls and chart templates in sync if we decide to keep them both. Please share your feedback.
cc: @gabrielmbmb

@davidberenstein1957
Copy link
Member

davidberenstein1957 commented Sep 20, 2024

@frascuchon

- Removed k8s resource yamls
- Elasticsearch "built in" is deployed as operator.
- Redis, Elasticsearch, Argilla user PV to persist data beyond restarts.
- Argilla owner username and password is passed from values.yaml.
- Align HPA config with “conventions” – I.e. enable via flag and have static replicaCount variable if not activated.
- Allow for injecting some configuration via configmaps / secrets etc. If external ES is used, the entries to /etc/hosts are pushed using cm.
- Ingress class is made configurable and can be set in values.yaml.
- TODO: Add a readme.md for developers to use it.
- TODO: Add unit tests to check persistence storage usage.
@bikash119
Copy link
Contributor Author

bikash119 commented Sep 21, 2024

hi @davidberenstein1957 , @frascuchon. Request you to share your feedback on this work as I continue to work on creating readme for this change. I have been able to resolve all the review comments for the original PR 4065.
In a nutshell:

  • Argilla can be installed using helm chart
  • Redis is added as dependency chart.
  • ES is installed using Elastic Operator
  • ES installation is optional based on value in values.yaml.
  • All of the services use PV to persist data.
  • Default Owner user can be set from values.yaml.
  • modified .pre-commit-config.yml to use helm lint for k8s resource yamls.

@bikash119 bikash119 marked this pull request as ready for review September 21, 2024 03:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants