Swupd-update.service not working behind proxy

I have a number of clear linux servers on a corporate network which go through a proxy to reach the internet.
When I run swupd commands manually they successfully use the proxy and are able to reach cdn.download.clearlinux.org
When swupd-update.service is called by swupd-update.timer, the task fails with the error

Error: Curl - Communicating with server timed out
Error: Failed to connect to update server: https://cdn.download.clearlinux.org/update/version/format30/latest

The systems do not use autoproxy, but instead have manual proxy configuration setup according to https://docs.01.org/clearlinux/latest/guides/network/proxy.html

It seems that the swupd-update.service is failing to import the proxy settings from /etc/profile.d/

I have just verified this by modifying the swupd-update.service unit file to explicitly define the proxy. With Environment=https_proxy=http:// added to the unit file the service works.

What is the proper way to configure swupd-update.service to use a proxy in an environment with no autoproxy?

Modifying the unit file is the easiest way. Proxy settings in /etc/profile.d are for shells, which are not executed when units execute. You can do this in various ways, but as you’ve already found out, modifying the unit, by e.g. sudo systemctl edit swupd-update.service is one of the easier ways.