github

package
v0.0.0-...-e284d0c Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2026 License: MIT Imports: 0 Imported by: 0

Documentation

Index

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

type MatrixGlobal struct {
	Columns []ColumnDef `json:"columns"`
	Rows    []MatrixRow `json:"rows"`
}

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

Jump to

Keyboard shortcuts

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