Categorygithub.com/marcusburghardt/openscap-prototype
modulepackage
0.0.0-20250210114529-bf7ba3d509d0
Repository: https://github.com/marcusburghardt/openscap-prototype.git
Documentation: pkg.go.dev

# README

OpenSCAP-Prototype

NOTE: This repository was an experiment that is now finished and therefore is archived.

The outcomes of this experiment were incorporated at https://github.com/complytime/complytime

Overview

OpenSCAP-Prototype is a plugin which extends the Comply-Prototype capabilities to use OpenSCAP. The plugin communicates with Comply-Prototype via gRPC, providing a standard and consistent communication mechanism while also allowing plugins developers to choose their preferred languages to contribute. This project is structured to allow modular development, ease of packaging, and maintainability.

Project Structure

complytime-prototype/
├── config/             # Package for plugin configuration
│ ├── config_test.go    # Tests for functions in config.go
│ └── config.go         # Main code used to process plugin configuration
├── oscap/              # Package to interact with oscap command
│ └── oscap.go          # Main code used to interact with oscap command
├── scan/               # Package to process system scan instructions
│ └── scan.go           # Main code used to process scan instructions
├── server/             # Package to manage the gRPC server
│ └── server.go         # Main code used to start a gRPC server
├── go.mod              # Go module file
├── main.go             # Main file for Plugin
├── oscap-config.yml    # Plugin config file
└── README.md           # This file

Installation

Prerequisites

  • Go version 1.20 or higher
  • Protocol Buffers compiler (for gRPC)
  • Make (optional, for using the Makefile if included)
  • scap-security-guide package installed

Clone the repository

git clone https://github.com/marcusburghardt/openscap-prototype.git
cd openscap-prototype

Build Instructions

To compile the CLI and plugin:

go build -o openscap-prototype .

Running

Start the plugin server:

./openscap-prototype

In another terminal, run the Comply-Prototype CLI to connect to the server:

./comply-prototype scan

Testing

Tests are organized within each package. Run tests using:

go test ./...

Packaging as RPM

To build an RPM package, use the spec file in build/rpm:

rpmbuild -ba ...

Contributing

Please open an issue or submit a pull request for any contributions or improvements.

License

MIT License

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author