Documentation
¶
Index ¶
- type AmbassadorMapping
- type Asset
- type AssetEnvironment
- type ColumnDef
- type DeploymentDetail
- type DeploymentMatrix
- type Dimensions
- type Environment
- type Expose
- type GitHubAPIRepository
- type GitHubCommit
- type GitHubContent
- type GitTree
- type Manifest
- type MatrixGlobal
- type MatrixRow
- type Meta
- type OutsideCluster
- type RepoData
- type Repository
- type RowIndex
- type Source
- type Stats
- type Subproject
- type Tables
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AmbassadorMapping ¶
type AmbassadorMapping struct {
Hostname string `yaml:"hostname,omitempty"`
Prefix string `yaml:"prefix,omitempty"`
Rewrite string `yaml:"rewrite,omitempty"`
}
AmbassadorMapping represents an Ambassador mapping configuration
type Asset ¶
type Asset struct {
Environments map[string]AssetEnvironment `yaml:"environments"`
}
Asset represents the asset section for micro-frontends
type AssetEnvironment ¶
type AssetEnvironment struct {
SpecificJurisdictions []string `yaml:"specificJurisdictions,omitempty"`
}
AssetEnvironment represents an asset environment (micro-frontends)
type ColumnDef ¶
type ColumnDef struct {
DeployKey string `json:"deploy_key"`
Label string `json:"label"`
Group string `json:"group"`
Region string `json:"region"`
}
ColumnDef defines a column in the matrix
type DeploymentDetail ¶
type DeploymentDetail struct {
EnvPrefix string `json:"env_prefix"`
Region string `json:"region"`
Cluster string `json:"cluster"`
Namespace string `json:"namespace"`
Hosts map[string]string `json:"hosts,omitempty"`
Paths map[string]string `json:"paths,omitempty"`
URLs map[string]string `json:"urls,omitempty"`
}
DeploymentDetail contains detailed deployment information
type DeploymentMatrix ¶
type DeploymentMatrix struct {
Meta Meta `json:"meta"`
Dimensions Dimensions `json:"dimensions"`
Repos map[string]RepoData `json:"repos"`
Tables Tables `json:"tables"`
}
DeploymentMatrix represents the complete output JSON structure
type Dimensions ¶
type Dimensions struct {
EnvPrefixes []string `json:"env_prefixes"`
Regions []string `json:"regions"`
DeployKeys []string `json:"deploy_keys"`
DeployKeyLabels map[string]string `json:"deploy_key_labels"`
DeployKeyGroups map[string]string `json:"deploy_key_groups"`
}
Dimensions contains all unique dimensions found
type Environment ¶
type Environment struct {
Clusters []string `yaml:"clusters"`
Replicas int `yaml:"replicas,omitempty"`
Expose *Expose `yaml:"expose,omitempty"`
}
Environment represents an environment configuration in the manifest
type Expose ¶
type Expose struct {
OutsideCluster *OutsideCluster `yaml:"outsideCluster,omitempty"`
}
Expose represents the expose configuration
type GitHubAPIRepository ¶
type GitHubAPIRepository struct {
ID int `json:"id"`
NodeID string `json:"node_id"`
Name string `json:"name"`
FullName string `json:"full_name"`
Owner struct {
Login string `json:"login"`
ID int `json:"id"`
} `json:"owner"`
Private bool `json:"private"`
HTMLURL string `json:"html_url"`
Description string `json:"description"`
Fork bool `json:"fork"`
URL string `json:"url"`
DefaultBranch string `json:"default_branch"`
Archived bool `json:"archived"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
PushedAt string `json:"pushed_at"`
Size int `json:"size"`
Language string `json:"language"`
ForksCount int `json:"forks_count"`
StargazersCount int `json:"stargazers_count"`
WatchersCount int `json:"watchers_count"`
OpenIssuesCount int `json:"open_issues_count"`
}
GitHubAPIRepository represents the GitHub API response for a repository
type GitHubCommit ¶
type GitHubCommit struct {
SHA string `json:"sha"`
Commit struct {
Message string `json:"message"`
Author struct {
Name string `json:"name"`
Email string `json:"email"`
Date string `json:"date"`
} `json:"author"`
} `json:"commit"`
}
GitHubCommit represents a GitHub commit
type GitHubContent ¶
type GitHubContent struct {
Name string `json:"name"`
Path string `json:"path"`
SHA string `json:"sha"`
Size int `json:"size"`
URL string `json:"url"`
HTMLURL string `json:"html_url"`
GitURL string `json:"git_url"`
DownloadURL string `json:"download_url"`
Type string `json:"type"` // "file" or "dir"
Content string `json:"content,omitempty"`
Encoding string `json:"encoding,omitempty"`
}
GitHubContent represents a file or directory content from GitHub API
type GitTree ¶
type GitTree struct {
SHA string `json:"sha"`
URL string `json:"url"`
Tree []struct {
Path string `json:"path"`
Mode string `json:"mode"`
Type string `json:"type"`
SHA string `json:"sha"`
Size int `json:"size,omitempty"`
URL string `json:"url"`
} `json:"tree"`
Truncated bool `json:"truncated"`
}
GitTree represents a GitHub tree API response
type Manifest ¶
type Manifest struct {
Name string `yaml:"name"`
Environments map[string]Environment `yaml:"environments"`
Asset *Asset `yaml:"asset,omitempty"`
}
Manifest represents the parsed manifest.yaml structure
type MatrixGlobal ¶
MatrixGlobal represents the global matrix table
type MatrixRow ¶
type MatrixRow struct {
RowID string `json:"row_id"`
RepoID string `json:"repo_id"`
RepoName string `json:"repo_name"`
ProjectID string `json:"project_id"`
ProjectName string `json:"project_name"`
Cells map[string]bool `json:"cells"`
SearchBlob string `json:"search_blob"`
}
MatrixRow represents a row in the matrix table
type Meta ¶
type Meta struct {
SchemaVersion int `json:"schema_version"`
GeneratedAt string `json:"generated_at"`
Source Source `json:"source"`
Stats Stats `json:"stats"`
}
Meta contains metadata about the scan
type OutsideCluster ¶
type OutsideCluster struct {
AmbassadorInternal []AmbassadorMapping `yaml:"ambassadorInternal,omitempty"`
AmbassadorExternal []AmbassadorMapping `yaml:"ambassadorExternal,omitempty"`
}
OutsideCluster represents the outside cluster exposure configuration
type RepoData ¶
type RepoData struct {
RepoID string `json:"repo_id"`
RepoName string `json:"repo_name"`
RepoURL string `json:"repo_url"`
DefaultBranch string `json:"default_branch"`
LastCommitSHA string `json:"last_commit_sha"`
Subprojects map[string]Subproject `json:"subprojects"`
}
RepoData contains all data for a single repository
type Repository ¶
type Repository struct {
ID string `json:"id"`
Name string `json:"name"`
FullName string `json:"full_name"`
HTMLURL string `json:"html_url"`
Description string `json:"description"`
DefaultBranch string `json:"default_branch"`
Private bool `json:"private"`
Fork bool `json:"fork"`
Archived bool `json:"archived"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
PushedAt string `json:"pushed_at"`
Size int `json:"size"`
Language string `json:"language"`
ForksCount int `json:"forks_count"`
StargazersCount int `json:"stargazers_count"`
WatchersCount int `json:"watchers_count"`
OpenIssuesCount int `json:"open_issues_count"`
}
Repository represents a GitHub repository
type RowIndex ¶
type RowIndex struct {
ByRepo map[string][]string `json:"by_repo"`
ByProjectID map[string][]string `json:"by_project_id"`
ByDeployKey map[string][]string `json:"by_deploy_key"`
}
RowIndex contains indices for fast lookup
type Source ¶
type Source struct {
Type string `json:"type"`
Organization string `json:"organization"`
Query string `json:"query"`
EnvFilters []string `json:"env_filters"`
Folders []string `json:"folders"`
}
Source contains information about the scan source
type Stats ¶
type Stats struct {
TotalReposScanned int `json:"total_repos_scanned"`
TotalReposWithDeployments int `json:"total_repos_with_deployments"`
TotalProjects int `json:"total_projects"`
TotalDeployments int `json:"total_deployments"`
TotalDeployKeys int `json:"total_deploy_keys"`
}
Stats contains statistics about the scan
type Subproject ¶
type Subproject struct {
ProjectID string `json:"project_id"`
DisplayName string `json:"display_name"`
FolderPath string `json:"folder_path"`
ManifestPath string `json:"manifest_path"`
Summary map[string][]string `json:"summary"`
Deployments map[string]DeploymentDetail `json:"deployments"`
SearchBlob string `json:"search_blob"`
}
Subproject represents a project within a repository
type Tables ¶
type Tables struct {
MatrixGlobal MatrixGlobal `json:"matrix_global"`
RowIndex RowIndex `json:"row_index"`
}
Tables contains pre-computed tables for frontend