ci: use Valkey (Redis-compatible server) as storage backend for ccache. Add Tailscale to access the private Valkey server#11363
Conversation
|
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
65e30e3 to
35b6e62
Compare
35b6e62 to
cda471c
Compare
|
The approach taken in this PR involves the following components:
The diagram is as follows: The rationale for using Tailscale is that the developers of Redis themselves advise strongly against exposing Redis (and Valkey) to the internet, even if they are protected by a password (see https://valkey.io/topics/security/ and https://redis.io/docs/latest/operate/oss_and_stack/management/security/). On our server, Tailscale runs as a Docker container to both provide an extra layer of isolation and as straightforward way to deploy it without installing extra packages. The Docker container for Tailscale is set up as a systemd service, so that systemd can monitor it and restart it when necessary. Additionally, the Tailscale service is not running on the same network as the host, but on a separate Docker network, to provide extra isolation. Valkey also runs as a Docker container, and instead of exposing its port (6379) to the host, it is running on the same network as Tailscale, so that only VPN clients can actually access Valkey and not any untrusted client. This is achieved by passing the option On the GitHub side, Tailscale provides a GitHub action (https://tailscale.com/kb/1276/tailscale-github-action) that can be used to connect to a Tailscale network. This action requires either the use of an |
cda471c to
d53b6ee
Compare
d53b6ee to
3ba59c9
Compare
…e. Add Tailscale to access the private Valkey server Signed-off-by: Esteve Fernandez <esteve.fernandez@tier4.jp>
Signed-off-by: Esteve Fernandez <esteve.fernandez@tier4.jp>
Signed-off-by: Esteve Fernandez <esteve.fernandez@tier4.jp>
Signed-off-by: Esteve Fernandez <esteve.fernandez@tier4.jp>
Signed-off-by: Esteve Fernandez <esteve.fernandez@tier4.jp>
Signed-off-by: Esteve Fernandez <esteve.fernandez@tier4.jp>
Signed-off-by: Esteve Fernandez <esteve.fernandez@tier4.jp>
3ba59c9 to
c7e84ce
Compare
|
Closing this PR as we're not any longer exploring the use of Valkey |
Description
This PR adds support for using Valkey (a Redis-compatible implementation) with ccache. Additionally, it uses Tailscale to access the Valkey server, as it's not recommended to expose it to the internet, not even with a password.
Related links
Parent Issue:
How was this PR tested?
Notes for reviewers
None.
Interface changes
None.
Effects on system behavior
None.