Created second PR for hosting helm chart in Github Pages https://github.com/casbin/casdoor/pull/2533
reviewed
Thanks for the comments! Will review and update accordingly
@hsluoyz Might be quicker to just discuss here. We can choose to host the index.yaml requried for helm in casdoor.org docs as you prefer. Helm looks for this YAML as it is responsible for informing helm where to download the resources. The helm configuration can continue to live in its current github repository. The only issue becomes how do you keep the index.yaml thats hosted on the webserver in sync with the Github repo changes? My original approach was to just use Github Pages to host the index.yaml with the related helm configuration alongside updating casdoor docs so it can continue to remain the single point of truth
why not publish the package to helm registry? It's not good for the repo to contain many specific packages like docker, helm, etc.
We usually do this in CI, the CI can auto publish to registry
We don't host any packages in github
This is like how we publish to Docker hub, pypi, npmjs, Java maven, etc.
yeah that makes sense. Is there a particular helm registry you prefer to deploy to?
We can host the config files in the repo, but will not setup something like GitHub pages for it. Actually we will not enable GitHub pages on the repo
https://artifacthub.io/packages/search?org=casbin&sort=relevance&page=1 , the casbin org
you can make a PR to add the CI script to publish to Artifact hub
I took a deeper look into ArtifactHub and it requires a URL where the files can be served from. This medium article mentioned "Although Artifact Hub is a distribution service for resources like Helm charts, it is not a file storage service. Consequently, we need to find some other place to store our chart online. For this purpose, we can leverage GitHub pages".
Since Github pages isn't an option, an alternative is using Github Container Registry. Another article showcases its usage and it would be shown under the packages section right below releases. It's free for public repos. We can setup the CI to only publish the helm chart package whenever a change is detected in that directory. How does this approach sound?

it sounds ok to me!
Decided to try publishing the packaged helm chart to Docker Hub as they support it and casdoor already uses Docker Hub. https://github.com/casbin/casdoor/pull/2543
it seems to have bugs
Can you test it on your fork first?
Based on the github action error, seems to be just a permission issue: Error: server message: insufficient_scope: authorization failed . The docker forums state to use a Personal Access Token (PAS) instead as that provides fine grained controls to provide it access. The token should probably be created by the maintainers of casdoor
casdoor repo already pushes to dockerhub its images, did you use that credential name?
I tested more on my personal fork and discovered the issue. Turns out permissions were not the issue. It was just pointing to the wrong docker hub location. Tested on personal fork and was able to upload to docker hub on personal account with no issues. Created fresh PR https://github.com/casbin/casdoor/pull/2546. The new dockerhub location will be casbin/casdoor-helm-charts
does casbin/casdoor-helm-charts work now?
I saw https://hub.docker.com/repository/docker/casbin/casdoor-helm-charts/general was released. But the version is "0.3.0". Can we use the same version number as Casdoor?
Sure created fix https://github.com/casbin/casdoor/pull/2549
Lets deploy the helm chart only when it is changed. I see a lot of projects pick this option. The helm chart allows developers to enter the app version they want to use so they can pick any version. I will create a PR for the documentation later this week ✅
I'm not an expert of helm, also don't care much about how to use it in helm. The question here is that should not mess with version numbers in the git files. If you are hacking with updating version numbers in frequent PRs again and again, it's not a correct way to do it
Specific version numbers should be out of the git controlled file system
Created Github issue alongside PR fixes for it:
Issue
Casdoor Fix
Casdoor Helm Fix
merged
