Add docs PR for helm chart table
For Casdoor Signup, it seems the application's owner is hardcoded to owner. Is this by design?
What do you think about golang generics instead of using interface{} for the Response? Tho generics requires go 1.18 and go.mod is currently set to 1.16.
Generic
type Response[T1, T2 any] struct {
Status string `json:"status"`
Msg string `json:"msg"`
Sub string `json:"sub"`
Name string `json:"name"`
Data T1 `json:"data"`
Data2 T2 `json:"data2"`
}
var resp Response[object.Organization, object.User]
@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
General Question: Seems casdoor resets all of its data every day. Is there a way to disable this? For example, all the created users are deleted the next day. I deployed casdoor on kubernetes
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
Semantic Versioning
Issue
helm pr
casdoor pr
Created Github issue alongside PR fixes for it:
Issue
Casdoor Fix
Casdoor Helm Fix
Add VsCode Debugging Support for Casdoor PR
https://github.com/casbin/casdoor/pull/2585
@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
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?
Any thoughts on supporting invite user flow? This forked repo of casdoor did it PR.
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?

Use the https://casbin.org/editor/ to become more familiar with it. It helped me a lot
@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

