-
Notifications
You must be signed in to change notification settings - Fork 100
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
CAStore error when running as standalone script #133
Comments
Hmm I'm having difficulties recreating this error - we've had success deploying fresh on multiple different systems. But I will try to look into this some more, in the meantime |
It's also worth noting that |
I was able to recreate the issue finally! Will dig in more now! |
Ok, so I've determined how to fix the error if you wish to run the application as an archive - you'll need to additionally run Looks like this is a similar issue as #89 which is what prompted the switch from an |
Alright, final update: Normally, installing as an escript would fix this for you. But in this particular case, CAStore reads from Temporary WorkaroundAs mentioned before, if you wish to install / use Sobelow as a standalone application - please use Long Term Solution(s)Option 1The only reason we have to use CAStore in the first place is because we cannot exclusively use OTP 25+ yet which would allow us to use :public_key.get_certs() and avoid having to rely on an external CA trust store. Once it has been determined we can move up the minimum supported version of the OTP we could deprecate the use of CAStore in favor of built in Erlang functionality. Option 2Personally I don't like the whole, "reach out to a website to check for the current version of the app to see if the local version is out of date" flow in the first place - especially since the website it reaches out to is just another thing to keep updated when a new version is pushed up to hex (since it doesn't auto update). So this option would just be to gut the functionality of checking for updates. Option 3Elect to introduce a new dependency to take over HTTP request duties so we don't have to worry about this stuff anymore - I don't love this option since it introduces more dependencies for a pretty simple, one-off function |
Thank you for the blazing fast response! Appreciate the workaround and thoughts on the go-forward path. |
@mbramson - the new version ( Closing Thoughts / Decision ContextI made a decision to pursue an option not outlined in my previous post - which was moving back to It was not an easy decision but I hope to make it clear here as a matter of record. It's worth mentioning that the aforementioned Option 1 will be the long term solution once OTP 25 is exclusively used, but the other options could not be pursued further for a myriad of reasons: Option 3 (the easy one to rule out)Even if we used a more appropriate HTTP Library, we would still have to verify certificates at some point - so we'd run into the same problems as now basically. Option 2While I still don't love the overall concept of reaching out to a web server to check for current version (not to mention I don't personally have the ability to update said version on https://sobelow.io currently) - I believe it's a necessary evil. Basically the folks who benefit from this occasional HTTP request flow are the very folks who need it - local global installations Sobelow that are not tied to application code (in which versions can be monitored and bumped up via Dependabot) So why go with
|
When running
mix sobelow
, I encounter the following error on version0.12.1
of sobelow.This occurs both locally and in CI (CircleCI).
The text was updated successfully, but these errors were encountered: