#11  Helm chart as an optional approach to install OneDev into Kubernetes
Closed
Robin Shen opened 2 years ago
No comment
Robin Shen changed fields 2 years ago
Name Previous Value Current Value
Priority
Normal
Minor
Robin Shen batch edited 2 years ago
Name Previous Value Current Value
Label
empty
Help Wanted
No comment
Robin Shen changed state to 'Closed' 2 years ago
Previous Value Current Value
Open
Closed

Closing as k8s resources are sufficient for the job

onedr0p commented 3 months ago

Helm is a great to for deploying other people's applications, it would be great to see this re-opened and tracked. Kustomize is great but it's not nearly as user friendly as Helm.

Robin Shen changed state to 'Open' 3 months ago
Previous Value Current Value
Closed
Open

Reopen since Helm chart is very popular

onedr0p commented 3 months ago

@robin I'm assuming that this might be harder to do than on GitHub. Still would like to see this.

Would onedev be able to host a helm chart or would you need to use another tool for that?

Robin Shen commented 3 months ago

I never used helm chart. As a helm chart repository, is there any special protocol to follow besides being a git repository?

onedr0p commented 3 months ago

Helm charts need a web server, it's not git based. For example on GitHub I've been using github-pages and the following projects:

If you cannot host static web pages or use github for hosting the chart you'll need to use some sort of registry that's supports helm charts like Nexus, Artifactory or...

I'm sure adding a helm chart will get onedev more popular! Thanks 😊

Robin Shen commented 3 months ago

Thanks for that info. Will explore that possibility.

Shamil commented 4 weeks ago

@robin do you need help doing this? I can try to build a helm chart for you

Robin Shen commented 4 weeks ago

@shamil yes, definitely. Please go ahead and submit pull request when done.

Shamil commented 4 weeks ago

@robin I've created the package here: https://artifacthub.io/packages/helm/onedev/onedev

I've just reinstalled OneDev on my application instance, and it seems to work.

Changes I've made are:

  • create ingress if enabled
  • generate a mysql password if not already set

Where do I put in the PR for this? I'd suggest hosting it somewhere (I've put it on cloudsmith.io), then linking it in artifacthub.io

Robin Shen commented 4 weeks ago

@shamil you may fork the repository here

2021-11-05_06-29-26.png

Then you can make changes in your fork and send pull request to me.

Places need to be changed I think:
1. Modify k8s installation guide to add a section for Helm chart installation
2. Enhance build and deploy step of build spec to update helm chart as part of creating the release

Shamil commented 4 weeks ago

@robin I'm getting error "Not authorized to create project under root" when I try to set the parent project to "shamil"...

Robin Shen commented 4 weeks ago
Added this permission to all login users. Should work now. 
Referenced from pull request 4 weeks ago
#29 Helm chart Merged
Shamil commented 4 weeks ago
Robin Shen changed state to 'Closed' 4 weeks ago
Previous Value Current Value
Open
Closed

@shamil Thanks for your contribution!

Robin Shen changed milestones 3 weeks ago
Previous Value Current Value
empty
6.0.0
Robin Shen commented 2 weeks ago

@shamil May I take over repository "onedev" at artifacthub and cloudsmith so that I can maintain them regularly? My account is robin_shen at cloudsmith and robinshine at artifacthub.

Robin Shen batch edited 2 weeks ago
Name Previous Value Current Value
Milestones
6.0.0
5.4.0
No comment
Shamil commented 2 weeks ago

@robin , sure, it looks like the system can't find you, can you email me your email address and I'll try to invite you manually?

Robin Shen commented 2 weeks ago

@shamil thank you , my email at both sites is robin@onedev.io

Shamil commented 2 weeks ago

@robin awaiting you to accept the invitations

Robin Shen commented 2 weeks ago

@shamil I joined both. At cloudsmith side, I now have the owner permission and have recreated the package. However at artifacthub side, the package information is not updated. Maybe the repository needs to be recreated, but I do not have permission to do that.

Also I made some changes to helm chart, mainly:
1. Add SSH support for ingress integration
2. Add Letsencrypt support
3. Add maintenance mode
4. Use specified password for mysql instead of generating random password, in case OneDev admin need to login to mysql to perform some tasks
5. Require Kubernetes version 1.18 as minimum to simply resources

Also the manual is updated to cover all these aspects:
https://code.onedev.io/projects/162/blob/main/pages/deploy-into-k8s.md

issue 1 of 1
Type
New Feature
Priority
Minor
Assignee
Milestones
Issue Votes (0)
Watchers (4)
Reference
issue onedev/server#11
Please wait...
Page is in error, reload to recover