-
Notifications
You must be signed in to change notification settings - Fork 14
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
Migrate script broken on php8.2 and outdated cURL cacert.pem #15
Comments
@eugene-davis could you troubleshoot the issue with the db migration? I'm guessing this mysql -> sqlite change bccf36b |
@czephyr Can you give me some details on how you are running the build? Especially:
I just ran the build on amd64 with Podman and it did not hit the migration issue - however I think I saw that error when I tried to transition to a newer version of PHP before switching to sqlite. |
Ah, sorry for leaving those out. We're pulling with: No special flags, just pulling the image from Kubernetes. |
So if I understand correctly, you are building a custom image using This image was built to be stateless, bypassing the need entirely for an external database. I think cdb7a53 was still working with MySQL, but although that runs the latest AgenDAV, it is running on the PHP 7 line - which is already EOL. Realistically, I think this is outside of the scope of what can be supported here (@nagimov you are of course free to tell me I'm wrong). I can make a couple of suggestions though:
|
Yes that's exactly what we're doing. I understand the principle of statelessness but would you mind expanding on the reason this image would not support an external database? We decided to support it with an external database since we're running this service in internal production for our own company and we decided against using sqlite. What's the point of having this image if it can't be run with a production ready database system? |
bump @nagimov; any info about the curl cacert? |
@czephyr I agree with @eugene-davis, this is outside of our scope. Agendav is just a wrapper around existing caldav deployment. Persistency should be taken cared of by the caldav backend. There's simply no reason to preserve anything within agendav instances. As such, "non-production-readiness" of sqlite is not a real problem: you could always re-create the instance without any loss of data. I would encourage you to get rid of the unnecessary mysql dependence (which, btw, is an additional point of failure) and simplify your k8s deployment. IMO, running an EOL version of php in production is worse than backing a non-persistent state with sqlite. Regarding the cert issue, I'm not sure what causes this. The image pulls the
Any chance that your cert file was preserved from a previous instance? |
@nagimov The fix pulls from
I see, thanks for the explanation. So everything we see in the agendavdb is just pulled from the caldav backend? The sqlite is only used as a cache? |
These are identical files:
Could you try adding
You could view it functionally as a cache, yes (although agendav devs might disagree). The point is that the sqlite db could be wiped without any loss of data, so it doesn't have to be persistent. |
That works, the image native Also btw, just for documenting, we considered using sqlite but it currently runs into this other breaking error (the service goes unavailable for a minute every time an user tries to save) agendav/agendav#306 Using mysql works, if only for agendav/agendav#303, which seems to get fixed by the suggested fix in the issue. |
@nagimov The cacert issue is solved. |
Hi,
while building the latest image tagged
2.6.0-php8.2
we encountered two issues.First one was with the migrate script which bring ups the error:
I'm not keen on PHP but a quick search seems to bring up some info:
https://stackoverflow.com/questions/67533806/there-is-no-active-transaction-in-doctrine-migrations
We circumvented the error by importing the database dump from a previous CalDAV instance we had already running.
Second problem is the outdated cacert.pem in the image.
The server answers with an error just after the login, this is in the logs:
We circumvented this error by repacking the docker image in our dockerfile adding:
The cacert.pem file was obtained as mentioned here:
https://stackoverflow.com/questions/55204210/curl-error-77-error-setting-certificate-verify-locations-cafile
The text was updated successfully, but these errors were encountered: