Casbin Forum runs on Casnode, the open-source Discourse-style forum. Try the Casnode demo →
Casbin Forum

I've deployed the helm chart successfully to GKE

@chris_82643 You can run casdoor locally with a debugger in vscode. Send your request locally and step through the debugger

I didn't anticipate the name change would cause a collision after it was published to the hub. The helm chart and casdoor docker image are in a good state now. I won't be making any CI related changes to them

I've tried a few variations in my personal repo as you suggested but seems to get one error after the next. Might be better to just revert the PR in the casdoor-helm until someone more knowledgable is able to address the semantic version feature. The casdoor pr that was merged is fine since it just pushes up git tags.

The helm chart repo now shows a different error. It recognizes the package.json but requires additional information ENOPKGNAME Missing nameproperty inpackage.json.

sure, lets try it out

gimme a sec to spin up the pr

Lets see if this one does the trick https://github.com/casdoor/casdoor-helm/pull/13

There was another PR I had created for casdoor. It pushes up the git tag. We should merge this in first and then merge the helm repo pr

Looking at this python project named pycasbin, it contains a package.json and its github action uses npx to run semantic-release.

I'll try looking for a repo without package.json

I had seen this error in the posted logs but there must be a way to configure it to not view the package.json SemanticReleaseError: Missing `package.json` file

I had copied most of the same format from casdoor originally

I see the issue. I thought semantic-release was language agnostic but it seems its really designed for nodeJS projects that contain a package.json. The original issue was to utilize semantic versioning. It may be better to manually create a release using gh tool

@kilroy.11 What command are you running to install the helm chart?

Casdoor is missing the index.yaml which simplifies the helm installation process which explains your YAML to JSON error message. I tried adding it to the repository but my PR was rejected. Just download the chart manually and you can install from source. I've successfully deployed the chart to GCP. I did find a minor unrelated bug regarding increasing pod count so I'll make a PR for that piece

https://github.com/casbin/casdoor/pull/2581

You can try using chatGPT. It knows about casbin and helped me in the past

It would be limited to same email that was invited

I know casdoor supports kubernetes as I'm the one who deployed it to dockerhub that the docs reference.

There seems to mixed messages about high availability about this project. On one hand, the doc u linked states "scalable management" with the chart on kubernetes; however, on the other hand, you have stated there is no multi node support for open source which is a strict requirement for high availability (see the linked thread this message replied to). In the same linked thread, you mentioned the enterprise solution is stateless. Is open source solution stateless or only enterprise is? It's important to know if this open source can scale in production.

admin sends email granting access to a user to signup in an organization. Also, as the open source casdoor is designed to only work in a single node setup, are there any plans to make it highly available in kubernetes where it can scale without the enterprise solution?

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 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

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

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

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?

Screenshot_2023-12-11_at_9.42.02_PM.png

Use the https://casbin.org/editor/ to become more familiar with it. It helped me a lot

yeah that makes sense. Is there a particular helm registry you prefer to deploy to?

@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

Thanks for the comments! Will review and update accordingly

Looking at the values.yaml for casdoor helm, don't see an option for extraContainers

GCP recommends having a cloud sql proxy running in a sidecar container that would connect to cloud sql. Usually its as simple as adding some information to the helm chart's extraContainers field but don't see it in the values

Just making sure. I saw the last change to the files was about a year ago and I didn't see multiple versions for the helm chart