GithubHelp home page GithubHelp logo

scanning-operator's Introduction

scanning-operator

Description

The openshift-scanning-operator manages components related to malware scanning on OpenShift V4. There are currently 5 containers in 2 different pods. Each pod is managed by its own DaemonSet.

Components

scanner

The scanner pod is made of 4 separate containers which run on all nodes:

clamsig-puller

clamsig-puller is responsible for checking the clam signature mirror bucket every 12 hours for new official, unofficial, and custom SRE clamAV signatures. It then stores those signature databases in a shared volume for use by clamd.

container-info

Listens for container IDs from watcher, and returns information about that container in crictl or runc output formats.

clamd

The clamAV daemon itself. It receives file descriptors from watcher and does the actual scanning of files. It loads its signature databases from the shared volume.

watcher

Watches the journal for new container creation events. When a new container start event is found, it does the following:

  • Gathers information about the new container's pod.
  • Queues the container for scanning.
  • Sends the scan results to the Logger OpenShift service

logger

The logger pod has 1 container, which runs in a DaemonSet on master nodes. The basic data flow is:

  • Listen for positive scan results and pod creation logs sent by the watcher container.
  • These logs are formatted with additional info about the pod and user from the OpenShift API.
  • Pod creation logs and positive scan results are then picked up by the Splunk forwarder.

Source repos

scanning-operator's People

Contributors

rhdedgar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.