asset-inventory-api

command module
v0.40.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 18, 2020 License: Apache-2.0 Imports: 10 Imported by: 0

README

Asset Inventory API - An API service to store and retrieve asset inventory data

Documentation Build Status codecov.io

https://github.com/asecurityteam/asset-inventory-api

Overview

Asset Inventory API provides time-based storage for network assets. Once stored, assets should be query-able by dimensions such as time, IP address, and host name. The intent is to provide point-in-time lookup and attribution for network assets. An example use case for this would include hydrating AWS VPC Flow Logs with identifying information.

Quick Start

Configuration

Status

This project is in incubation which means we are not yet operating this tool in production and the interfaces are subject to change.

Contributing

Building And Testing

We publish a docker image called SDCLI that bundles all of our build dependencies. It is used by the included Makefile to help make building and testing a bit easier. The following actions are available through the Makefile:

  • make dep

    Install the project dependencies into a vendor directory

  • make lint

    Run our static analysis suite

  • make test

    Run unit tests and generate a coverage artifact

  • make update-test-data

    Generate data.sql and schema.sql under /sample-data with most recent schema and data from postgres image running locally. Use this option when there is schema changes.

  • make integration

    Run integration tests and generate a coverage artifact

  • make generate-integration-client

    Use OpenAPI to generate a golang client from our API spec to aid with local development.

  • make integration-postgres

    Run a postgres database for our integration tests.

  • make integration-app

    Run app for testing.

  • make integration-test

    Run integration tests.

  • make clean-integration

    Clean up the integration test runs by removing docker containers and the generated client.

  • make master-integration

    Run current branch server against master branch tests to ensure backward compatibility.

  • make coverage

    Report the combined coverage for unit and integration tests

  • make build

    Generate a local build of the project (if applicable)

  • make run

    Run a local instance of the project (if applicable)

  • make doc

    Generate the project code documentation and make it viewable locally.

Quality Gates

Our build process will run the following checks before going green:

  • make lint
  • make test
  • make integration
  • make coverage (combined result must be 85% or above for the project)

Running these locally, will give early indicators of pass/fail.

License

This project is licensed under Apache 2.0. See LICENSE.txt for details.

Contributing Agreement

Atlassian requires signing a contributor's agreement before we can accept a patch. If you are an individual you can fill out the individual CLA. If you are contributing on behalf of your company then please fill out the corporate CLA.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
domain
Package domain is a container of all of the domain types and interfaces that are used across multiple packages within the service.
Package domain is a container of all of the domain types and interfaces that are used across multiple packages within the service.
handlers
Package handlers contains all top level functionality.
Package handlers contains all top level functionality.
handlers/v1
Package v1 is a container for endpoints that are used to power the v1 of the service.
Package v1 is a container for endpoints that are used to power the v1 of the service.
logs
Package logs contains all structured log events for the service.
Package logs contains all structured log events for the service.
storage
Package storage is a container of all of the database layer implementation.
Package storage is a container of all of the database layer implementation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL