We decided to use Zoner SMS-Gateway for sending SMS messages in a Laravel application I developed for a client. It is a Finnish service for sending SMS messages with a simple HTTP API.
In Laravel, Notification is the abstraction for any kind of message that can be sent via a Notification Channel. Laravel includes implementations for some notification channels, and there are community-provided ones in Laravel Notification Channels site.
There was no notification channel implementation for Zoner, so I created one. As instructed in Laravel Notification Channels site, I made a pull request to get my implementation listed there, but so far there hasn’t been any reaction to it. I wonder if there is anyone updating the site any more. Meanwhile, you can get the implementation from our own GitHub repository.
TL;DR; Change your pull policy to “if-not-present” or “never”.
Our Continuous Deployment pipeline at Wysiwyg worked fine, until it stopped working. It started giving errors like this:
Pulling docker image registry.gitlab.com/wysiwygoy/dev/cd-deploy ...
ERROR: Preparation failed: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
A bit of googling resulted in gitlab-runner issue #2408. I tried some of the suggestions in the thread but couldn’t get it working.
Finally I found a workaround: Because it fails when pulling my custom image from gitlab.com registry, I changed the pull policy of the runner (in config.toml of the runner) to “if-not-present”. The executor then skips pulling the image and executes its actual job just fine.
I suspect that gitlab.com registry responds too slowly and the docker client library gives up with the error mentioned above.
The downside of course is that if I update my executor image I need to pull the new image manually. In practice it doesn’t happen that often, so I can live with that until the fix to gitlab-runner is in.
I posted my finding as a comment to the issue.