syntax = "proto3"; package source_metadata; option go_package = "github.com/trufflesecurity/trufflehog/v3/pkg/pb/source_metadatapb"; message Azure { string container = 1; string file = 2; string uploaded = 3; string link = 4; string email = 5; } message Bitbucket { string file = 1; string repository = 2; string workspace = 3; string snippet_id = 4; string title = 5; string commit = 6; string email = 7; string link = 8; string timestamp = 9; int64 line = 10; } message Buildkite { string org = 1; string pipeline = 2; string link = 3; string email = 4; int64 build_number = 5; string timestamp = 6; } message CircleCI { string vcs_type = 1; string username = 2; string repository = 3; int64 build_number = 4; string build_step = 5; string link = 6; string email = 7; } message Confluence { string page = 1; string space = 2; string version = 3; string link = 4; string email = 5; string timestamp = 6; string location = 7; string file = 8; } message Docker { string file = 1; string image = 2; string layer = 3; string tag = 4; } message ECR { string file = 1; string layer = 2; string image = 3; string registry = 4; string region = 5; string link = 6; string email = 7; } message Filesystem { string file = 1; string link = 2; string email = 3; int64 line = 4; } message Git { string commit = 1; string file = 2; string email = 3; string repository = 4; string timestamp = 5; int64 line = 6; } message Github { string link = 1; string username = 2; string repository = 3; string commit = 4; string email = 5; string file = 6; string timestamp = 7; int64 line = 8; Visibility visibility = 9; } message Gitlab { string commit = 1; string file = 2; string link = 3; string email = 4; string repository = 5; string timestamp = 6; int64 line = 7; } message GCS { string bucket = 1; string filename = 2; string link = 3; string email = 4; string created_at = 5; string updated_at = 6; repeated string acls = 7; string content_type = 8; } message Jira { string issue = 1; string author = 2; string link = 3; string location = 4; string email = 5; string timestamp = 6; } message NPM { string file = 1; string package = 2; string release = 3; string link = 4; string email = 5; } message PyPi { string file = 1; string package = 2; string release = 3; string link = 4; string email = 5; } message S3 { string bucket = 1; string file = 2; string link = 3; string email = 5; string timestamp = 6; } enum Visibility { public = 0; private = 1; shared = 2; unknown = 3; } message Slack { string channel_id = 1; string channel_name = 2; string timestamp = 3; string user_id = 4; string link = 5; string file = 6; string email = 7; Visibility visibility = 8; string location = 9; } message Gerrit { string commit = 1; string file = 2; string email = 3; string project = 4; // projects are what Gerrit calls repositories string timestamp = 5; int64 line = 6; } message Test { string file = 1; } message Jenkins { string project_name = 1; int64 build_number = 2; string link = 3; string timestamp = 4; } message Teams { string channel_id = 1; string channel_name = 2; string timestamp = 3; string user_id = 4; string link = 5; string file = 6; string email = 7; string location = 8; string team_name = 9; string team_id = 10; } // https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-FileInfo message Artifactory { string repo = 1; string path = 2; string link = 3; string timestamp = 4; string username = 5; string email = 6; } message Syslog { string hostname = 1; string appname = 2; string procid = 3; string timestamp = 4; string client = 5; string facility = 6; } message PublicEventMonitoring { oneof metadata { Github github = 1; } } message SharePoint { string link = 1; string timestamp = 2; string author = 3; string title = 4; int64 views = 5; string docid = 6; string email = 7; } message GoogleDrive { string file = 1; string link = 2; string email = 3; string timestamp = 4; bool shared = 5; string last_modified_by = 6; } message MetaData { oneof data { Azure azure = 1; Bitbucket bitbucket = 2; CircleCI circleci = 3; Confluence confluence = 4; Docker docker = 5; ECR ecr = 6; GCS gcs = 7; Github github = 8; Gitlab gitlab = 9; Jira jira = 10; NPM npm = 11; PyPi pypi = 12; S3 s3 = 13; Slack slack = 14; Filesystem filesystem = 15; Git git = 16; Test test = 17; Buildkite buildkite = 18; Gerrit gerrit = 19; Jenkins jenkins = 20; Teams teams = 21; Artifactory artifactory = 22; Syslog syslog = 23; PublicEventMonitoring publicEventMonitoring = 24; SharePoint sharepoint = 25; GoogleDrive googleDrive = 26; } }