From 9ef0cbeba11fc0d624d46023a9639a7f2ac5c2cc Mon Sep 17 00:00:00 2001 From: Mikhail Swift Date: Thu, 3 Nov 2022 16:35:03 -0400 Subject: [PATCH] chore: update README, add code of conduct --- CODE_OF_CONDUCT.md | 134 +++++++++++++++++++++++++++++++++++++++++++ README.md | 100 +++++++++++++++++++++++--------- docs/assets/logo.png | Bin 0 -> 56921 bytes 3 files changed, 206 insertions(+), 28 deletions(-) create mode 100644 CODE_OF_CONDUCT.md create mode 100644 docs/assets/logo.png diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..b65ee56d --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,134 @@ + +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +[community@testifysec.com](mailto:community@testifysec.com). +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations + diff --git a/README.md b/README.md index cf327ac9..ec4e0354 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,88 @@ -# archivist +

+ +

-Archivist helps organizations discover attestations and provenance of their software artifacts. +# Archivist -Archivist is an attestation store with first-class support for Witness attestations but supports any [in-toto](https://in-toto.io) attestation making it work well with other open-source tools that generate in-toto attestations. +Archivist is a graph and storage service for [in-toto](https://in-toto.io) attestations. Archivist enables the discovery +and retrieval of attestations for software artifacts. -## building +## How Archivist Works -```sh -$ docker-compose up --build +When an attestation is uploaded to Archivist it will store the entire attestation in a configured object store as well +as scrape some data from the attestation and store it in a queryable metadata store. This metadata is exposed through a +GraphQL API. This enables queries such as finding all attestations related to an artifact with a specified hash or +finding all attestations that recorded the use of a specific dependency. -$ archivistctl attestation.json -``` +Archivist uses Subjects on the [in-toto +Statement](https://github.com/in-toto/attestation/blob/main/spec/README.md#statement) as edges on this graph. Producers +of attestations (such as [Witness](https://github.com/testifysec/witness) can use these subjects as a way to expose +relationships between attestations. -## shutting down +For example when attesting that an artifact was compiled the compiled artifact may be a subject, as well as the git +commit hash the artifact was built from. This would allow traversing the graph by the commit hash to find other relevant +attestations such as those describing code reviews, testing, and scanning that happened on that git commit. -```sh -$ docker-compose down -``` +## Running Archivist + +A public instance of Archivist is running [here](https://archivist.testifysec.io) for testing purposes. The data in this +instance is open to the world and there are currently no SLAs defined for this instance. -## Running archivist out of docker-compose +Archivist requires a MySQL database as well as a compatible file store. Compatible file stores include a local directory +or any S3 compatible store. -This application is configured through the environment. The following environment variables can be used: +A docker compose file is included in the repository that will run a local instance of Archivist along with the necessary +services for it to operate. These include Minio and MySQL. Simply cloning the repo and running -```sh -KEY TYPE DEFAULT REQUIRED DESCRIPTION -ARCHIVIST_ENABLE_SPIFFE True or False TRUE Enable SPIFFE support -ARCHIVIST_LISTEN_ON URL unix:///listen.on.socket url to listen on -ARCHIVIST_LOG_LEVEL String INFO Log level +``` +docker compose up --build -d ``` -Running in a test environment: +is enough to get a local instance of Archivist up and running. Archivist will be listening at `http://localhost:8082` by +default with this docker compose file. -```sh -$ go install ./cmd/archivist -$ ARCHIVIST_ENABLE_SPIFFE=false ARCHIVIST_LISTEN_ON=tcp://127.0.0.1:8080 archivist -``` +### Configuration + +Archivist is configured through environment variables currently. + +| Variable | Default Value | Description | +| -------- | ------------- | ----------- | +| ARCHIVIST_LISTEN_ON | tcp://127.0.0.1:8082 | URL endpoint for Archivist to listen on | +| ARCHIVIST_LOG_LEVEL | INFO | Log level. Options are DEBUG, INFO, WARN, ERROR | +| ARCHIVIST_CORS_ALLOW_ORIGINS | | Comma separated list of origins to allow CORS requests from | +| ARCHIVIST_SQL_STORE_CONNECTION_STRING | root:example@tcp(db)/testify | SQL store connection string | +| ARCHIVIST_STORAGE_BACKEND | | Backend to use for attestation storage. Options are FILE, BLOB, or empty string for disabled. | +| ARCHIVIST_FILE_SERVE_ON | | What address to serve files on. Only valid when using FILE storage backend. | +| ARCHIVIST_FILE_DIR | /tmp/archivist/ | Directory to store and serve files. Only valid when using FILE storage backend. | +| ARCHIVIST_BLOB_STORE_ENDPOINT | 127.0.0.1:9000 | URL endpoint for blob storage. Only valid when using BLOB storage backend. | +| ARCHIVIST_BLOB_STORE_ACCESS_KEY_ID | | Blob store access key id. Only valid when using BLOB storage backend. | +| ARCHIVIST_BLOB_STORE_SECRET_ACCESS_KEY_ID | | Blob store secret access key id. Only valid when using BLOB storage backend. | +| ARCHIVIST_BLOB_STORE_USE_TLS | TRUE | Use TLS for BLOB storage backend. Only valid when using BLOB storage backend. | +| ARCHIVIST_BLOB_STORE_BUCKET_NAME | | Bucket to use for storage. Only valid when using BLOB storage backend. | +| ARCHIVIST_ENABLE_GRAPHQL | TRUE | Enable GraphQL Endpoint | +| ARCHIVIST_GRAPHQL_WEB_CLIENT_ENABLE | TRUE | Enable GraphiQL, the GraphQL web client | + + +## Using Archivist -`archivectl` is used to upload and download DSSE objects from the command line. As of now, it only uploads then -downloads the same object to test end to end functionality. This command will be built up in time. +Archivist exposes two HTTP endpoints to upload or download attestations: -```sh -$ archivistctl file-to-upload-and-downlaod ``` +POST /upload - Uploads an attestation to Archivist. The attestation is to be in the request's body +``` + +``` +GET /download/:gitoid: - Downloads an attestation with provided gitoid from Archivist +``` + +Additionally Archivist exposes a GraphQL API. By default the GraphQL playground is enabled and available at root. + +`archivistctl` is a CLI tool in this repository that is available to interact with an Archivist instance. `archivistctl` +is capable of uploading and downloading attestations as well as doing some basic queries such as finding all +attestations with a specified subject and retrieving all subjects for a specified attestation. + +## What's Next + +We would like to expand the types of data Archivist can ingest as well as expand the metadata Archivist collected about +ingested data. If you have ideas or use cases for Archivist, feel free to [contact us](mailto:info@testifysec.io) or +create an issue! diff --git a/docs/assets/logo.png b/docs/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..03a5fa261e8f403c36c779519971c3f5035ad065 GIT binary patch literal 56921 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 G1pOc7u8ULv literal 0 HcmV?d00001