Documentation ¶
Index ¶
- Variables
- func AllDummyCheckStatuses() []models.CheckStatus
- func AllDummyChecks() []models.Check
- func AllDummyConfigAnalysis() []models.ConfigAnalysis
- func DeleteAll[T models.DBTable](gormDB *gorm.DB, items []T) error
- func GetConfig(configType, namespace, name string) models.ConfigItem
- func ImportConfigs(data []byte) (configs []models.ConfigItem, relationships []models.ConfigRelationship, ...)
- type DummyData
Constants ¶
This section is empty.
Variables ¶
View Source
var ( DummyCreatedAt = time.Date(2022, time.December, 31, 23, 59, 0, 0, time.UTC) DummyYearOldDate = CurrentTime.AddDate(-1, 0, 0) )
View Source
var AllConfigRelationships = []models.ConfigRelationship{ClusterNodeARelationship, ClusterNodeBRelationship}
View Source
var AllConfigScrapers = []models.ConfigScraper{AzureConfigScraper, KubeScrapeConfig}
View Source
var AllDummyAgents = []models.Agent{ GCPAgent, }
View Source
var AllDummyArtifacts = []models.Artifact{ LogisticsAPIPodLogFile, }
View Source
var AllDummyCanaries = []models.Canary{ LogisticsAPICanary, LogisticsDBCanary, CartAPICanaryAgent, UICanary, }
View Source
var AllDummyCheckComponentRelationships = []models.CheckComponentRelationship{ LogisticsDBCheckComponentRelationship, LogisticsAPIHealthHTTPCheckComponentRelationship, LogisticsAPIHomeHTTPCheckComponentRelationship, }
View Source
var AllDummyComments = []models.Comment{FirstComment, SecondComment, ThirdComment}
View Source
var AllDummyComponentRelationships = []models.ComponentRelationship{ LogisticsAPIPodNodeAComponentRelationship, LogisticsUIPodNodeAComponentRelationship, LogisticsWorkerPodNodeBComponentRelationship, FluxKustomizeFluxComponentRelationship, }
View Source
var AllDummyComponents = []models.Component{ Logistics, LogisticsAPI, LogisticsUI, LogisticsWorker, LogisticsDB, ClusterComponent, NodesComponent, PodsComponent, NodeA, NodeB, LogisticsAPIPod, LogisticsUIPod, LogisticsWorkerPod, PaymentsAPI, FluxComponent, KustomizeComponent, KustomizeFluxComponent, }
Order is important since ParentIDs refer to previous components
View Source
var AllDummyConfigChanges = []models.ConfigChange{ EKSClusterCreateChange, EKSClusterUpdateChange, EKSClusterDeleteChange, KubernetesNodeAChange, }
View Source
var AllDummyConfigComponentRelationships = []models.ConfigComponentRelationship{ EKSClusterClusterComponentRelationship, KubernetesClusterClusterComponentRelationship, LogisticsDBRDSLogisticsDBComponentRelationship, EC2InstanceBNodeBRelationship, }
View Source
var AllDummyConfigs = []models.ConfigItem{ EKSCluster, KubernetesCluster, KubernetesNodeA, KubernetesNodeB, KubernetesNodeAKSPool1, EC2InstanceA, EC2InstanceB, LogisticsAPIDeployment, LogisticsAPIReplicaSet, LogisticsAPIPodConfig, LogisticsUIDeployment, LogisticsWorkerDeployment, LogisticsDBRDS, }
View Source
var AllDummyEvidences = []models.Evidence{LogisticsDBErrorEvidence}
View Source
var AllDummyHypotheses = []models.Hypothesis{LogisticsAPIDownHypothesis}
View Source
var AllDummyIncidents = []models.Incident{LogisticsAPIDownIncident, UIDownIncident}
View Source
var AllDummyJobHistories = []models.JobHistory{ JobHistoryCanarySuccess, JobHistoryCanaryFailure, JobHistoryCanaryWarning, JobHistoryTopologySuccess, }
View Source
var AllDummyPeople = []models.Person{JohnDoe, JohnWick}
View Source
var AllDummyResponders = []models.Responder{JiraResponder, GitHubIssueResponder, SlackResponder, MsPlannerResponder, TelegramResponder}
View Source
var AllDummyTeams = []models.Team{BackendTeam, FrontendTeam}
View Source
var AllDummyTopologies = []models.Topology{ LogisticsTopology, }
View Source
var AzureConfigScraper = models.ConfigScraper{ ID: uuid.New(), Name: "Azure scraper", Source: "ConfigFile", Spec: "{}", }
View Source
var BackendTeam = models.Team{ ID: uuid.New(), Name: "Backend", Icon: "backend", CreatedBy: JohnDoe.ID, CreatedAt: CurrentTime, UpdatedAt: CurrentTime, }
View Source
var CartAPICanaryAgent = models.Canary{ ID: uuid.MustParse("6dc9d6dd-0b55-4801-837c-352d3abf9b70"), AgentID: GCPAgent.ID, Name: "dummy-cart-api-canary", Namespace: "cart", Spec: []byte("{}"), CreatedAt: DummyCreatedAt, }
View Source
var CartAPIHeathCheckAgent = models.Check{ ID: uuid.MustParse("eed7bd6e-529b-4693-aca9-43977bcc5ff1"), AgentID: GCPAgent.ID, CanaryID: CartAPICanaryAgent.ID, Name: "cart-api-health-check", Type: "http", Status: models.CheckHealthStatus(types.ComponentStatusHealthy), }
View Source
var ClusterComponent = models.Component{ ID: uuid.MustParse("018681fe-8156-4b91-d178-caf8b3c2818c"), Name: "cluster", ExternalId: "dummy/cluster", Type: "KubernetesCluster", Status: types.ComponentStatusHealthy, CreatedAt: DummyCreatedAt, Tooltip: "Kubernetes Cluster", Icon: "icon-cluster", }
View Source
var ClusterNodeARelationship = models.ConfigRelationship{ ConfigID: KubernetesCluster.ID.String(), RelatedID: KubernetesNodeA.ID.String(), Relation: "ClusterNode", }
View Source
var ClusterNodeBRelationship = models.ConfigRelationship{ ConfigID: KubernetesCluster.ID.String(), RelatedID: KubernetesNodeB.ID.String(), Relation: "ClusterNode", }
View Source
var CurrentTime = time.Now()
View Source
var DeletedCheck, DeletedCheck1h, DeletedCheckOld models.Check
View Source
var EC2InstanceA = models.ConfigItem{ ID: uuid.New(), ConfigClass: models.ConfigClassVirtualMachine, Type: lo.ToPtr("EC2::Instance"), Tags: types.JSONStringMap{ "account": "flanksource", }, Labels: lo.ToPtr(types.JSONStringMap{ "account": "flanksource", "environment": "testing", "app": "backend", }), }
View Source
var EC2InstanceB = models.ConfigItem{ ID: uuid.New(), ConfigClass: models.ConfigClassVirtualMachine, Type: lo.ToPtr("EC2::Instance"), Tags: types.JSONStringMap{ "account": "flanksource", }, Labels: lo.ToPtr(types.JSONStringMap{ "account": "flanksource", "environment": "production", "app": "frontend", }), }
View Source
var EC2InstanceBNodeBRelationship = models.ConfigComponentRelationship{ ConfigID: EC2InstanceB.ID, ComponentID: NodeB.ID, }
View Source
var EKSCluster = models.ConfigItem{ ID: uuid.New(), Name: lo.ToPtr("Production EKS"), ConfigClass: models.ConfigClassCluster, Type: lo.ToPtr("EKS::Cluster"), Tags: types.JSONStringMap{ "cluster": "aws", "account": "flanksource", }, Labels: lo.ToPtr(types.JSONStringMap{ "account": "flanksource", "cluster": "aws", "environment": "production", "telemetry": "enabled", "eks_version": "1.27", }), }
View Source
var EKSClusterClusterComponentRelationship = models.ConfigComponentRelationship{ ConfigID: EKSCluster.ID, ComponentID: ClusterComponent.ID, }
View Source
var EKSClusterCreateChange = models.ConfigChange{ ID: uuid.New().String(), ConfigID: EKSCluster.ID.String(), ChangeType: "CREATE", CreatedAt: &DummyYearOldDate, }
View Source
var EKSClusterDeleteChange = models.ConfigChange{ ID: uuid.New().String(), ConfigID: EKSCluster.ID.String(), ChangeType: "DELETE", }
View Source
var EKSClusterUpdateChange = models.ConfigChange{ ID: uuid.New().String(), ConfigID: EKSCluster.ID.String(), ChangeType: "UPDATE", }
View Source
var FirstComment = models.Comment{ ID: uuid.New(), CreatedBy: JohnWick.ID, Comment: "This is a comment", IncidentID: LogisticsAPIDownIncident.ID, CreatedAt: CurrentTime, UpdatedAt: CurrentTime, }
View Source
var FluxComponent = models.Component{ ID: uuid.MustParse("018cb576-11e3-a43a-75fd-3cbf5c8c804a"), Name: "flux", ExternalId: "dummy/flux", Type: "Flux", CreatedAt: DummyCreatedAt, Labels: types.JSONStringMap{"fluxcd.io/name": "flux"}, Status: types.ComponentStatusHealthy, }
View Source
var FluxKustomizeFluxComponentRelationship = models.ComponentRelationship{ ComponentID: FluxComponent.ID, RelationshipID: KustomizeFluxComponent.ID, }
Create a cyclic loop
View Source
var FrontendTeam = models.Team{ ID: uuid.New(), Name: "Frontend", Icon: "frontend", CreatedBy: JohnDoe.ID, CreatedAt: CurrentTime, UpdatedAt: CurrentTime, }
View Source
var GCPAgent = models.Agent{ ID: uuid.MustParse("ebd4cbf7-267e-48f9-a050-eca12e535ce1"), Name: "GCP", }
View Source
var GitHubIssueResponder = models.Responder{ ID: uuid.New(), IncidentID: LogisticsAPIDownIncident.ID, Type: "GithubIssue", PersonID: &JohnDoe.ID, CreatedBy: JohnDoe.ID, CreatedAt: CurrentTime, UpdatedAt: CurrentTime, }
View Source
var GitRepository models.ConfigItem
View Source
var JiraResponder = models.Responder{ ID: uuid.New(), IncidentID: LogisticsAPIDownIncident.ID, Type: "Jira", PersonID: &JohnWick.ID, CreatedBy: JohnWick.ID, CreatedAt: CurrentTime, UpdatedAt: CurrentTime, }
View Source
var JobHistoryCanaryFailure = models.JobHistory{ ID: uuid.MustParse("018f9b10-ecb8-75c1-fefa-9d589fb99c65"), Name: "Canary1", ResourceType: "canary", Status: models.StatusFailed, }
View Source
var JobHistoryCanarySuccess = models.JobHistory{ ID: uuid.MustParse("018f9b11-7639-c442-4b62-92fe7fdd4f5c"), Name: "Canary1", ResourceType: "canary", Status: models.StatusSuccess, }
View Source
var JobHistoryCanaryWarning = models.JobHistory{ ID: uuid.MustParse("018f9b11-188c-4d71-c826-e356b535ed96"), Name: "Canary1", ResourceType: "canary", Status: models.StatusWarning, }
View Source
var JobHistoryTopologySuccess = models.JobHistory{ ID: uuid.MustParse("018f9b11-40f7-e43e-cef5-f9441d77ce5b"), Name: "Topology1", ResourceType: "topology", Status: models.StatusSuccess, }
View Source
var JohnDoe = models.Person{ ID: uuid.MustParse("01653e30-39a6-482a-8a9c-2bb8debaf440"), Name: "John Doe", Email: "john@doe.com", }
View Source
var JohnWick = models.Person{ ID: uuid.MustParse("3b6e2e89-b7ab-4751-a2d1-1e205fa478f6"), Name: "John Wick", Email: "john@wick.com", }
View Source
var KubeScrapeConfig = models.ConfigScraper{ ID: uuid.New(), Name: "kubernetes-scraper", Namespace: "default", Source: models.SourceUI, Spec: `{ "kubernetes": [ { "clusterName": "kubernetes", "kubeconfig": { "value": "/etc/my-kube-config" } } ] }`, }
View Source
var KubernetesCluster = models.ConfigItem{ ID: uuid.New(), ConfigClass: models.ConfigClassCluster, Type: lo.ToPtr("Kubernetes::Cluster"), ScraperID: lo.ToPtr(KubeScrapeConfig.ID.String()), Tags: types.JSONStringMap{ "cluster": "demo", "account": "flanksource", }, Labels: lo.ToPtr(types.JSONStringMap{ "account": "flanksource", "cluster": "demo", "environment": "development", "telemetry": "enabled", }), }
View Source
var KubernetesClusterClusterComponentRelationship = models.ConfigComponentRelationship{ ConfigID: KubernetesCluster.ID, ComponentID: ClusterComponent.ID, }
View Source
var KubernetesNodeA = models.ConfigItem{ ID: uuid.New(), Name: lo.ToPtr("node-a"), ConfigClass: models.ConfigClassNode, Config: lo.ToPtr(`{"apiVersion":"v1", "kind":"Node", "metadata": {"name": "node-a"}}`), Type: lo.ToPtr("Kubernetes::Node"), Status: lo.ToPtr("healthy"), Tags: types.JSONStringMap{ "cluster": "aws", "account": "flanksource", }, Health: lo.ToPtr(models.HealthHealthy), Labels: lo.ToPtr(types.JSONStringMap{ "cluster": "aws", "account": "flanksource", "role": "worker", "region": "us-east-1", }), Properties: &types.Properties{ {Name: "memory", Value: lo.ToPtr(int64(64))}, {Name: "region", Text: "us-east-1"}, }, CostTotal30d: 1, }
View Source
var KubernetesNodeAChange = models.ConfigChange{ ID: uuid.New().String(), ConfigID: KubernetesNodeA.ID.String(), ChangeType: "CREATE", }
View Source
var KubernetesNodeAKSPool1 = models.ConfigItem{ ID: uuid.New(), Name: lo.ToPtr("aks-pool-1"), ConfigClass: models.ConfigClassNode, Type: lo.ToPtr("Kubernetes::Node"), Status: lo.ToPtr("healthy"), Config: lo.ToPtr(`{"apiVersion":"v1", "kind":"Node", "metadata": {"name": "aks-pool-1"}}`), Tags: types.JSONStringMap{ "cluster": "demo", "subscription": "018fbd67-bb86-90e1-07c9-243eedc73892", }, Health: lo.ToPtr(models.HealthHealthy), Labels: lo.ToPtr(types.JSONStringMap{ "cluster": "demo", "subscription": "018fbd67-bb86-90e1-07c9-243eedc73892", }), Properties: &types.Properties{ {Name: "memory", Value: lo.ToPtr(int64(64))}, }, }
View Source
var KubernetesNodeB = models.ConfigItem{ ID: uuid.New(), Name: lo.ToPtr("node-b"), Config: lo.ToPtr(`{"apiVersion":"v1", "kind":"Node", "metadata": {"name": "node-b"}}`), ConfigClass: models.ConfigClassNode, Type: lo.ToPtr("Kubernetes::Node"), Status: lo.ToPtr("healthy"), Tags: types.JSONStringMap{ "cluster": "aws", "account": "flanksource", }, Health: lo.ToPtr(models.HealthHealthy), Labels: lo.ToPtr(types.JSONStringMap{ "cluster": "aws", "account": "flanksource", "role": "worker", "region": "us-west-2", "storageprofile": "managed", }), Properties: &types.Properties{ {Name: "memory", Value: lo.ToPtr(int64(32))}, {Name: "region", Text: "us-west-2"}, }, CostTotal30d: 1.5, }
View Source
var Kustomization models.ConfigItem
View Source
var KustomizeComponent = models.Component{ ID: uuid.MustParse("018cb576-4c81-91da-e59d-f25464b8bf91"), Name: "kustomize-component", ExternalId: "dummy/kustomize-component", Type: "FluxKustomize", CreatedAt: DummyCreatedAt, ParentId: &FluxComponent.ID, Status: types.ComponentStatusHealthy, Properties: []*models.Property{{Name: "name", Text: "kustomize"}}, }
View Source
var KustomizeFluxComponent = models.Component{ ID: uuid.MustParse("018cb576-8036-10d8-edf1-cb49be2c0d93"), Name: "kustomize-flux-component", ExternalId: "dummy/kustomize-flux-component", Type: "Application", CreatedAt: DummyCreatedAt, Status: types.ComponentStatusHealthy, ParentId: &KustomizeComponent.ID, Selectors: types.ResourceSelectors{ {LabelSelector: "fluxcd.io/name=flux"}, }, }
View Source
var Logistics = models.Component{ ID: uuid.MustParse("018681fc-e54f-bd4f-42be-068a9a69eeb5"), Name: "logistics", Type: "Entity", ExternalId: "dummy/logistics", Labels: types.JSONStringMap{"telemetry": "enabled"}, Owner: "logistics-team", CreatedAt: DummyCreatedAt, Status: types.ComponentStatusHealthy, }
View Source
var LogisticsAPI = models.Component{ ID: uuid.MustParse("018681fd-5770-336f-227c-259435D7fc6b"), Name: "logistics-api", ExternalId: "dummy/logistics-api", Type: "Application", Status: types.ComponentStatusHealthy, Labels: types.JSONStringMap{"telemetry": "enabled"}, Owner: "logistics-team", ParentId: &Logistics.ID, Path: Logistics.ID.String(), CreatedAt: DummyCreatedAt, }
View Source
var LogisticsAPICanary = models.Canary{ ID: uuid.MustParse("0186b7a5-a2a4-86fd-c326-3a2104a2777f"), Name: "dummy-logistics-api-canary", Namespace: "logistics", Spec: []byte("{}"), CreatedAt: DummyCreatedAt, }
View Source
var LogisticsAPIDeployment = models.ConfigItem{ ID: uuid.New(), Name: lo.ToPtr("logistics-api"), ConfigClass: models.ConfigClassDeployment, Type: lo.ToPtr("Kubernetes::Deployment"), Labels: lo.ToPtr(types.JSONStringMap{ "app": "logistics", "environment": "production", "owner": "team-1", "version": "1.2.0", }), }
View Source
var LogisticsAPIDownHypothesis = models.Hypothesis{ ID: uuid.New(), IncidentID: LogisticsAPIDownIncident.ID, Title: "Logistics DB database error hypothesis", CreatedBy: JohnDoe.ID, Type: "solution", Status: "possible", }
View Source
var LogisticsAPIDownIncident = models.Incident{ ID: uuid.MustParse("7c05a739-8a1c-4999-85f7-d93d03f32044"), Title: "Logistics API is down", CreatedBy: JohnDoe.ID, Type: models.IncidentTypeAvailability, Status: models.IncidentStatusOpen, Severity: "Blocker", CommanderID: &JohnDoe.ID, }
View Source
var LogisticsAPIHealthHTTPCheck = models.Check{ ID: uuid.MustParse("0186b7a4-0593-73e9-7e3d-5b3446336c1d"), CanaryID: LogisticsAPICanary.ID, Name: "logistics-api-health-check", Type: "http", Status: "healthy", Labels: map[string]string{ "app": "logistics", }, }
View Source
var LogisticsAPIHealthHTTPCheckComponentRelationship = models.CheckComponentRelationship{ ComponentID: LogisticsAPI.ID, CheckID: LogisticsAPIHealthHTTPCheck.ID, CanaryID: LogisticsAPIHealthHTTPCheck.CanaryID, }
View Source
var LogisticsAPIHomeHTTPCheck = models.Check{ ID: uuid.MustParse("0186b7a4-625a-6a38-a9a7-e5e6b44ffec3"), CanaryID: LogisticsAPICanary.ID, Name: "logistics-api-home-check", Type: "http", Status: "healthy", Labels: map[string]string{ "app": "logistics", }, }
View Source
var LogisticsAPIHomeHTTPCheckComponentRelationship = models.CheckComponentRelationship{ ComponentID: LogisticsAPI.ID, CheckID: LogisticsAPIHomeHTTPCheck.ID, CanaryID: LogisticsAPIHomeHTTPCheck.CanaryID, }
View Source
var LogisticsAPIPod = models.Component{ ID: uuid.MustParse("018681ff-80ed-d10d-21ef-c74f152b085b"), Name: "logistics-api-574dc95b5d-mp64w", Icon: "icon-kubernetes-pod", Tooltip: "Logistic API Pod", ExternalId: "dummy/logistics-api-574dc95b5d-mp64w", Type: "KubernetesPod", Status: types.ComponentStatusHealthy, ParentId: &PodsComponent.ID, CreatedAt: DummyCreatedAt, Path: fmt.Sprintf("%s.%s", ClusterComponent.ID.String(), PodsComponent.ID.String()), Properties: []*models.Property{{Name: "memory", Unit: "bytes", Value: lo.ToPtr(int64(100))}}, }
View Source
var LogisticsAPIPodConfig = models.ConfigItem{ ID: uuid.New(), ConfigClass: models.ConfigClassPod, Name: lo.ToPtr("logistics-api-pod-1"), Type: lo.ToPtr("Kubernetes::Pod"), ParentID: lo.ToPtr(LogisticsAPIReplicaSet.ID), Labels: lo.ToPtr(types.JSONStringMap{ "app": "logistics", "environment": "production", "owner": "team-1", "version": "1.2.0", }), }
View Source
var LogisticsAPIPodLogFile = models.Artifact{ ID: uuid.MustParse("018d411b-a35c-9d53-d223-454bdb173569"), Path: "/logs/pods", Filename: "logistics-api.txt", Size: 1024, }
View Source
var LogisticsAPIPodNodeAComponentRelationship = models.ComponentRelationship{ ComponentID: LogisticsAPIPod.ID, RelationshipID: NodeA.ID, }
View Source
var LogisticsAPIReplicaSet = models.ConfigItem{ ID: uuid.New(), ConfigClass: "ReplicaSet", Name: lo.ToPtr("logistics-api"), Type: lo.ToPtr("Kubernetes::ReplicaSet"), ParentID: lo.ToPtr(LogisticsAPIDeployment.ID), Labels: lo.ToPtr(types.JSONStringMap{ "app": "logistics", "environment": "production", "owner": "team-1", "version": "1.2.0", }), }
View Source
var LogisticsDB = models.Component{ ID: uuid.MustParse("018681fe-4529-c50f-26fd-530fa9c57319"), Name: "logistics-db", ExternalId: "dummy/logistics-db", Type: "Database", Status: types.ComponentStatusUnhealthy, StatusReason: types.NullString{String: "database not accepting connections"}, ParentId: &LogisticsAPI.ID, Path: Logistics.ID.String() + "." + LogisticsAPI.ID.String(), CreatedAt: DummyCreatedAt, }
View Source
var LogisticsDBCanary = models.Canary{ ID: uuid.MustParse("0186b7a5-f246-3628-0d68-30bffc13244d"), Name: "dummy-logistics-db-canary", Namespace: "logistics", Spec: []byte("{}"), CreatedAt: DummyCreatedAt, }
View Source
var LogisticsDBCheck = models.Check{ ID: uuid.MustParse("0186b7a4-9338-7142-1b10-25dc49030218"), CanaryID: LogisticsDBCanary.ID, Name: "logistics-db-check", Type: "postgres", Status: "unhealthy", Labels: map[string]string{ "app": "logistics", }, }
View Source
var LogisticsDBCheckComponentRelationship = models.CheckComponentRelationship{ ComponentID: LogisticsDB.ID, CheckID: LogisticsDBCheck.ID, CanaryID: LogisticsDBCheck.CanaryID, }
View Source
var LogisticsDBErrorEvidence = models.Evidence{ ID: uuid.New(), HypothesisID: LogisticsAPIDownHypothesis.ID, ComponentID: &LogisticsDB.ID, CreatedBy: JohnDoe.ID, Description: "Logisctics DB attached component", Type: "component", }
View Source
var LogisticsDBRDS = models.ConfigItem{ ID: uuid.New(), ConfigClass: models.ConfigClassDatabase, Type: lo.ToPtr("Logistics::DB::RDS"), Labels: lo.ToPtr(types.JSONStringMap{ "database": "logistics", "environment": "production", "region": "us-east-1", "size": "large", }), }
View Source
var LogisticsDBRDSLogisticsDBComponentRelationship = models.ConfigComponentRelationship{ ConfigID: LogisticsDBRDS.ID, ComponentID: LogisticsDB.ID, }
View Source
var LogisticsTopology = models.Topology{ ID: uuid.MustParse("df39086e-506b-4ad9-9af7-baf5275c382b"), Name: "logistics", Namespace: "default", Source: models.SourceUI, }
View Source
var LogisticsUI = models.Component{ ID: uuid.MustParse("018681fd-c1ff-16ee-dff0-8c8796e4263e"), Name: "logistics-ui", Type: "Application", ExternalId: "dummy/logistics-ui", Status: types.ComponentStatusHealthy, Owner: "logistics-team", ParentId: &Logistics.ID, Path: Logistics.ID.String(), CreatedAt: DummyCreatedAt, }
View Source
var LogisticsUIDeployment = models.ConfigItem{ ID: uuid.New(), Name: lo.ToPtr("logistics-ui"), ConfigClass: models.ConfigClassDeployment, Type: lo.ToPtr("Logistics::UI::Deployment"), Labels: lo.ToPtr(types.JSONStringMap{ "app": "logistics", "environment": "production", "owner": "team-2", "version": "2.0.1", }), }
View Source
var LogisticsUIPod = models.Component{ ID: uuid.MustParse("018681ff-b6c1-a14d-2fd4-8c7dac94cddd"), Name: "logistics-ui-676b85b87c-tjjcp", Icon: "icon-kubernetes-pod", Tooltip: "Logistic UI Pod", Type: "KubernetesPod", ExternalId: "dummy/logistics-ui-676b85b87c-tjjcp", Status: types.ComponentStatusHealthy, ParentId: &PodsComponent.ID, CreatedAt: DummyCreatedAt, Path: fmt.Sprintf("%s.%s", ClusterComponent.ID.String(), PodsComponent.ID.String()), Properties: []*models.Property{{Name: "memory", Unit: "bytes", Value: lo.ToPtr(int64(200))}}, }
View Source
var LogisticsUIPodNodeAComponentRelationship = models.ComponentRelationship{ ComponentID: LogisticsUIPod.ID, RelationshipID: NodeA.ID, }
View Source
var LogisticsWorker = models.Component{ ID: uuid.MustParse("018681fe-010a-6647-74ad-58b3a136dfe4"), Name: "logistics-worker", ExternalId: "dummy/logistics-worker", Type: "Application", Status: types.ComponentStatusHealthy, ParentId: &LogisticsAPI.ID, Path: Logistics.ID.String() + "." + LogisticsAPI.ID.String(), CreatedAt: DummyCreatedAt, }
View Source
var LogisticsWorkerDeployment = models.ConfigItem{ ID: uuid.New(), ConfigClass: models.ConfigClassDeployment, Type: lo.ToPtr("Logistics::Worker::Deployment"), Labels: lo.ToPtr(types.JSONStringMap{ "app": "logistics", "environment": "production", "owner": "team-3", "version": "1.5.0", }), }
View Source
var LogisticsWorkerPod = models.Component{ ID: uuid.MustParse("018681ff-e578-a926-e366-d2dc0646eafa"), Name: "logistics-worker-79cb67d8f5-lr66n", Icon: "icon-kubernetes-pod", Tooltip: "Logistic Worker Pod", ExternalId: "dummy/logistics-worker-79cb67d8f5-lr66n", Type: "KubernetesPod", Status: types.ComponentStatusHealthy, ParentId: &PodsComponent.ID, CreatedAt: DummyCreatedAt, Path: fmt.Sprintf("%s.%s", ClusterComponent.ID.String(), PodsComponent.ID.String()), Properties: []*models.Property{{Name: "memory", Unit: "bytes", Value: lo.ToPtr(int64(300))}}, }
View Source
var LogisticsWorkerPodNodeBComponentRelationship = models.ComponentRelationship{ ComponentID: LogisticsWorkerPod.ID, RelationshipID: NodeB.ID, }
View Source
var MsPlannerResponder = models.Responder{ ID: uuid.New(), IncidentID: UIDownIncident.ID, Type: "MSPlanner", PersonID: &JohnWick.ID, CreatedBy: JohnDoe.ID, CreatedAt: CurrentTime, UpdatedAt: CurrentTime, }
View Source
var Namespace models.ConfigItem
View Source
var NodeA = models.Component{ ID: uuid.MustParse("018681fe-f5aa-37e9-83f7-47b5b0232d5e"), Name: "node-a", Icon: "icon-kubernetes-node", Tooltip: "Node A", ExternalId: "dummy/node-a", Type: "KubernetesNode", Status: types.ComponentStatusHealthy, ParentId: &NodesComponent.ID, CreatedAt: DummyCreatedAt, Path: fmt.Sprintf("%s.%s", ClusterComponent.ID.String(), NodesComponent.ID.String()), }
View Source
var NodeB = models.Component{ ID: uuid.MustParse("018681ff-227e-4d71-b38e-0693cc862213"), Name: "node-b", Icon: "icon-kubernetes-node", Tooltip: "Node B", ExternalId: "dummy/node-b", Type: "KubernetesNode", Status: types.ComponentStatusHealthy, ParentId: &NodesComponent.ID, CreatedAt: DummyCreatedAt, Path: fmt.Sprintf("%s.%s", ClusterComponent.ID.String(), NodesComponent.ID.String()), }
View Source
var NodesComponent = models.Component{ ID: uuid.MustParse("018681fe-b27e-7627-72c2-ad18e93f72f4"), Name: "Nodes", Icon: "icon-kubernetes-node", Tooltip: "Kubernetes Nodes", ExternalId: "dummy/nodes", Type: "KubernetesNodes", Status: types.ComponentStatusHealthy, ParentId: &ClusterComponent.ID, CreatedAt: DummyCreatedAt, Path: ClusterComponent.ID.String(), }
View Source
var PaymentsAPI = models.Component{ ID: uuid.MustParse("4643e4de-6215-4c71-9600-9cf69b2cbbee"), AgentID: GCPAgent.ID, Name: "payments-api", ExternalId: "dummy/payments-api", Type: "Application", CreatedAt: DummyCreatedAt, Status: types.ComponentStatusHealthy, }
View Source
var PodsComponent = models.Component{ ID: uuid.MustParse("018681ff-559f-7183-19d1-7d898b4e1413"), Name: "Pods", Icon: "icon-kubernetes-pod", Tooltip: "Kubernetes Pods", ExternalId: "dummy/pods", Type: "KubernetesPods", Status: types.ComponentStatusHealthy, ParentId: &ClusterComponent.ID, CreatedAt: DummyCreatedAt, Path: ClusterComponent.ID.String(), }
View Source
var SecondComment = models.Comment{ ID: uuid.New(), CreatedBy: JohnDoe.ID, Comment: "A comment by John Doe", IncidentID: LogisticsAPIDownIncident.ID, CreatedAt: CurrentTime, UpdatedAt: CurrentTime, }
View Source
var SlackResponder = models.Responder{ ID: uuid.New(), IncidentID: UIDownIncident.ID, Type: "Slack", TeamID: &BackendTeam.ID, CreatedBy: JohnDoe.ID, CreatedAt: CurrentTime, UpdatedAt: CurrentTime, }
View Source
var TelegramResponder = models.Responder{ ID: uuid.New(), IncidentID: UIDownIncident.ID, Type: "Telegram", PersonID: &JohnDoe.ID, CreatedBy: JohnDoe.ID, CreatedAt: CurrentTime, UpdatedAt: CurrentTime, }
View Source
var ThirdComment = models.Comment{ ID: uuid.New(), CreatedBy: JohnDoe.ID, Comment: "Another comment by John Doe", IncidentID: LogisticsAPIDownIncident.ID, CreatedAt: CurrentTime, UpdatedAt: CurrentTime, }
View Source
var UICanary = models.Canary{ ID: uuid.MustParse("c69f14cd-0041-4012-89f8-b5ed446ed8e9"), Name: "ui-canary", Namespace: "cart", Spec: []byte("{}"), CreatedAt: DummyCreatedAt, DeletedAt: lo.ToPtr(DummyCreatedAt.Add(time.Hour)), }
View Source
var UIDownIncident = models.Incident{ ID: uuid.MustParse("0c00b8a6-5bf8-42a4-98fe-2d39ddcb67cb"), Title: "UI is down", CreatedBy: JohnDoe.ID, Type: models.IncidentTypeAvailability, Status: models.IncidentStatusOpen, Severity: "Blocker", CommanderID: &JohnWick.ID, }
Functions ¶
func AllDummyCheckStatuses ¶
func AllDummyCheckStatuses() []models.CheckStatus
func AllDummyChecks ¶
func AllDummyConfigAnalysis ¶
func AllDummyConfigAnalysis() []models.ConfigAnalysis
func GetConfig ¶ added in v1.0.660
func GetConfig(configType, namespace, name string) models.ConfigItem
func ImportConfigs ¶ added in v1.0.660
func ImportConfigs(data []byte) (configs []models.ConfigItem, relationships []models.ConfigRelationship, err error)
Types ¶
type DummyData ¶
type DummyData struct { People []models.Person Agents []models.Agent Topologies []models.Topology Components []models.Component ComponentRelationships []models.ComponentRelationship Configs []models.ConfigItem ConfigRelationships []models.ConfigRelationship ConfigScrapers []models.ConfigScraper ConfigChanges []models.ConfigChange ConfigAnalyses []models.ConfigAnalysis ConfigComponentRelationships []models.ConfigComponentRelationship Teams []models.Team Incidents []models.Incident Hypotheses []models.Hypothesis Responders []models.Responder Evidences []models.Evidence Comments []models.Comment Canaries []models.Canary Checks []models.Check CheckStatuses []models.CheckStatus CheckComponentRelationships []models.CheckComponentRelationship Artifacts []models.Artifact JobHistories []models.JobHistory }
func GenerateDynamicDummyData ¶
GenerateDynamicDummyData is similar to GetStaticDummyData() except that the ids are randomly generated on call.
func GetStaticDummyData ¶
Source Files ¶
- agents.go
- all.go
- artifacts.go
- canaries.go
- check_component_relationships.go
- check_statuses.go
- checks.go
- common.go
- component_relationships.go
- components.go
- config.go
- config_analysis.go
- config_changes.go
- config_component_relationships.go
- evidences.go
- hypotheses.go
- incidents.go
- job_history.go
- people.go
- topologies.go
Click to show internal directories.
Click to hide internal directories.