Skip to content

Freshclam on K8S #315

@kadomino

Description

@kadomino

Environment & Versions

Environment

  • docker-compose
  • kubernetes - any version
  • docker swarm

Versions

Using v1.8.0, but this applied to any version.

Description

It seems that freshclam is run within the clamav container. While this often works fine, when an orchestrator is in play (K8S), it may (and does regularly for me) corrupt the downloaded DB and cause MailU to stop receiving emails.

Replication Steps

Run MailU on K8S and delete the Clamav pod while freshclam is downloading its DB.

Expected behaviour

One of the principles of using an orchestrator is that no container should ever run a Cron, because the orchestrator is the only one in charge of all the workloads. In the case of MailU, this means that Freshclam (or any other "container crons") should be run in a separate pod via a K8S CronJob object.

Logs

When the problem occurs, the Postfix logs show that the Clamav pod refused the connection and the Clamav logs show that the DB is corrupted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogIssues that are in the backlog

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions