Overview
Profile types represent runtime execution profiles captured by Garnet agents, primarily from GitHub Actions workflows.Profile
Represents a runtime profile with execution data.Unique run identifier (typically GitHub Actions run ID)
ID of the agent that captured this profile
Profile data in ashkaal format
When the profile was created
When the profile was last updated
CreateProfile
Request to create a new profile.ongoing.Profile type which contains:
- Execution scenarios (GitHub, Kubernetes, etc.)
- Process information
- Network flows
- File access patterns
Methods
Validate() error- Validates profile dataSetAgentID(agentID string)- Sets the agent ID (populated from JWT)AgentID() string- Returns the agent IDRunID() string- Returns the run ID from GitHub scenario
Validation Rules
run_idmust be present in the GitHub scenario data- Agent ID is populated from JWT token
CreatedProfile
Response after creating a profile.True if profile was newly created, false if it was updated (upsert)
When the profile was created
When the profile was last updated
ListProfiles
Request to list profiles with filtering and pagination.Methods
Validate() error- Validates filter parameters
Validation Rules
- Either
agentIDorprojectIDmust be provided - IDs must be in valid format if provided
timeStartmust be beforetimeEndif both are provided- Pagination args must be valid
Example Usage
Creating a Profile
Listing Profiles
Notes
- Profiles use an upsert pattern - creating a profile with an existing run ID will update the existing profile
- The
ongoing.Profiletype from the ashkaal library contains the actual profile data structure - Profiles are primarily used for GitHub Actions workflows but the structure supports other scenarios
- Profile data includes comprehensive execution information useful for security analysis and baselining
