{"id": "616567e0-937b-46a3-8748-cdaa69f4be7f", "name": "[Tutorial] Canary Deployment with Meshery", "version": "0.0.233", "metadata": {"resolvedAliases": {"5becf409-c21d-43a8-8505-33e7324e56f9": {"relationship_id": "8631240d-44af-43bc-9074-98d9fe156721", "alias_component_id": "5becf409-c21d-43a8-8505-33e7324e56f9", "resolved_parent_id": "823ae6e6-f560-4dac-8e04-cae40366612a", "immediate_parent_id": "823ae6e6-f560-4dac-8e04-cae40366612a", "resolved_ref_field_path": ["configuration", "spec", "template", "spec", "containers", "0"], "immediate_ref_field_path": ["configuration", "spec", "template", "spec", "containers", "0"]}, "f25a3c10-b065-473d-989c-9e62e44d81f7": {"relationship_id": "c3914466-f767-4104-8b82-a057176ea76b", "alias_component_id": "f25a3c10-b065-473d-989c-9e62e44d81f7", "resolved_parent_id": "215fdc76-a304-4d3b-a080-afb125033ac1", "immediate_parent_id": "215fdc76-a304-4d3b-a080-afb125033ac1", "resolved_ref_field_path": ["configuration", "spec", "template", "spec", "containers", "0"], "immediate_ref_field_path": ["configuration", "spec", "template", "spec", "containers", "0"]}}}, "components": [{"id": "215fdc76-a304-4d3b-a080-afb125033ac1", "format": "JSON", "status": "enabled", "styles": {"shape": "round-rectangle", "width": 24, "height": 24, "opacity": 1, "padding": 6, "z-index": 2, "position": {"x": 374.14224609591156, "y": 508.4039088355553}, "svgColor": "ui/public/static/img/meshmodels/kubernetes/color/deployment-color.svg", "svgWhite": "ui/public/static/img/meshmodels/kubernetes/white/deployment-white.svg", "body-text": "", "svgComplete": "ui/public/static/img/meshmodels/kubernetes/complete/deployment-complete.svg", "border-width": 2, "primaryColor": "#326CE5", "secondaryColor": "#7aa1f0", "body-text-color": "#808080", "background-image": "none", "background-opacity": 0.5, "body-text-font-size": 12, "body-text-font-family": "Qanelas Soft", "body-text-font-weight": "400", "body-text-vertical-align": "center", "body-text-text-decoration": "none", "body-text-horizontal-align": "center"}, "version": "v1.0.0", "metadata": {"genealogy": "parent", "published": false, "source_uri": "git://github.com/kubernetes/kubernetes/master/api/openapi-spec/v3", "isAnnotation": false, "isNamespaced": true, "instanceDetails": null, "configurationUISchema": ""}, "component": {"kind": "Deployment", "schema": "", "version": "apps/v1"}, "created_at": "0001-01-01T00:00:00Z", "updated_at": "0001-01-01T00:00:00Z", "description": "", "displayName": "app-canary", "capabilities": null, "configuration": {"spec": {"replicas": 1, "selector": {"matchLabels": {"app": "canary1"}}, "template": {"spec": {"containers": [{"env": [], "args": [], "name": "canary-web", "image": "nginx:latest", "ports": [{"protocol": "TCP", "containerPort": 80}], "command": [], "envFrom": [], "resizePolicy": [], "volumeMounts": [], "volumeDevices": [], "restartPolicyRules": []}]}, "metadata": {"labels": {"app": "canary1"}}}}, "metadata": {"name": "app-canary", "labels": {"app": "canary1"}, "namespace": "default"}}, "schemaVersion": "components.meshery.io/v1beta1", "modelReference": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}}, {"id": "823ae6e6-f560-4dac-8e04-cae40366612a", "format": "JSON", "status": "enabled", "styles": {"shape": "round-rectangle", "width": 24, "height": 24, "opacity": 1, "padding": 6, "z-index": 0, "position": {"x": 372.513748784109, "y": 337.325064702108}, "svgColor": "ui/public/static/img/meshmodels/kubernetes/color/deployment-color.svg", "svgWhite": "ui/public/static/img/meshmodels/kubernetes/white/deployment-white.svg", "body-text": "", "svgComplete": "ui/public/static/img/meshmodels/kubernetes/complete/deployment-complete.svg", "border-width": 2, "primaryColor": "#326CE5", "secondaryColor": "#7aa1f0", "body-text-color": "#808080", "background-image": "none", "background-opacity": 0.5, "body-text-font-size": 12, "body-text-font-family": "Qanelas Soft", "body-text-font-weight": "400", "body-text-vertical-align": "center", "body-text-text-decoration": "none", "body-text-horizontal-align": "center"}, "version": "v1.0.0", "metadata": {"genealogy": "parent", "published": false, "source_uri": "git://github.com/kubernetes/kubernetes/master/api/openapi-spec/v3", "isAnnotation": false, "isNamespaced": true, "instanceDetails": null, "configurationUISchema": ""}, "component": {"kind": "Deployment", "schema": "", "version": "apps/v1"}, "created_at": "0001-01-01T00:00:00Z", "updated_at": "0001-01-01T00:00:00Z", "description": "", "displayName": "app-primary", "capabilities": null, "configuration": {"spec": {"replicas": 1, "selector": {"matchLabels": {"app": "primary1"}}, "template": {"spec": {"containers": [{"env": [], "args": [], "name": "primary-web", "image": "nginx:latest", "ports": [{"protocol": "TCP", "containerPort": 80}], "command": [], "envFrom": [], "resizePolicy": [], "volumeMounts": [], "volumeDevices": [], "restartPolicyRules": []}]}, "metadata": {"labels": {"app": "primary1"}}}}, "metadata": {"name": "app-primary", "labels": {"app": "primary1"}, "namespace": "default"}}, "schemaVersion": "components.meshery.io/v1beta1", "modelReference": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}}, {"id": "016f1905-0d75-4d46-bc29-9617d937823c", "format": "JSON", "status": "enabled", "styles": {"shape": "circle", "width": 24, "height": 24, "opacity": 1, "padding": 6, "z-index": 9, "position": {"x": 739.2501050084062, "y": 511.0896780390316}, "svgColor": "ui/public/static/img/meshmodels/kubernetes/color/ingress-color.svg", "svgWhite": "ui/public/static/img/meshmodels/kubernetes/white/ingress-white.svg", "body-text": "", "svgComplete": "", "border-width": 0, "primaryColor": "#326CE5", "secondaryColor": "#7aa1f0", "body-text-color": "#808080", "background-opacity": 1, "body-text-font-size": 12, "body-text-font-family": "Qanelas Soft", "body-text-font-weight": "400", "body-text-vertical-align": "center", "body-text-text-decoration": "none", "body-text-horizontal-align": "center"}, "version": "v1.0.0", "metadata": {"genealogy": "", "published": false, "source_uri": "git://github.com/kubernetes/kubernetes/master/api/openapi-spec/v3", "isAnnotation": false, "isNamespaced": true, "instanceDetails": null, "configurationUISchema": ""}, "component": {"kind": "Ingress", "schema": "", "version": "networking.k8s.io/v1"}, "created_at": "0001-01-01T00:00:00Z", "updated_at": "0001-01-01T00:00:00Z", "description": "", "displayName": "ingress-canary", "capabilities": null, "configuration": {"spec": {"rules": [{"host": "example.com", "http": {"paths": [{"path": "/", "backend": {"service": {"name": "service-canary", "port": {"number": 80}}}, "pathType": "Prefix"}]}}], "ingressClassName": "nginx"}, "metadata": {"name": "ingress-canary", "labels": {"app": "canary1"}, "namespace": "default", "annotations": {"nginx.ingress.kubernetes.io/canary": "true", "nginx.ingress.kubernetes.io/canary-weight": "10"}}}, "schemaVersion": "components.meshery.io/v1beta1", "modelReference": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}}, {"id": "c1a0ee52-ae69-4436-b1d8-81643b433265", "format": "JSON", "status": "enabled", "styles": {"shape": "circle", "width": 24, "height": 24, "opacity": 1, "padding": 6, "z-index": 4, "position": {"x": 733.4628225643647, "y": 369.8365506504523}, "svgColor": "ui/public/static/img/meshmodels/kubernetes/color/ingress-color.svg", "svgWhite": "ui/public/static/img/meshmodels/kubernetes/white/ingress-white.svg", "body-text": "", "svgComplete": "", "border-width": 0, "primaryColor": "#326CE5", "secondaryColor": "#7aa1f0", "body-text-color": "#808080", "background-opacity": 1, "body-text-font-size": 12, "body-text-font-family": "Qanelas Soft", "body-text-font-weight": "400", "body-text-vertical-align": "center", "body-text-text-decoration": "none", "body-text-horizontal-align": "center"}, "version": "v1.0.0", "metadata": {"genealogy": "", "published": false, "source_uri": "git://github.com/kubernetes/kubernetes/master/api/openapi-spec/v3", "isAnnotation": false, "isNamespaced": true, "instanceDetails": null, "configurationUISchema": ""}, "component": {"kind": "Ingress", "schema": "", "version": "networking.k8s.io/v1"}, "created_at": "0001-01-01T00:00:00Z", "updated_at": "0001-01-01T00:00:00Z", "description": "", "displayName": "ingress-primary", "capabilities": null, "configuration": {"spec": {"rules": [{"host": "example.com", "http": {"paths": [{"path": "/", "backend": {"service": {"name": "service-primary", "port": {"number": 80}}}, "pathType": "Prefix"}]}}], "ingressClassName": "nginx"}, "metadata": {"name": "ingress-primary", "labels": {"app": "primary1"}, "namespace": "default"}}, "schemaVersion": "components.meshery.io/v1beta1", "modelReference": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}}, {"id": "d27c1c97-33d7-4d95-ba81-b62924a0e19a", "format": "JSON", "status": "enabled", "styles": {"shape": "rectangle", "width": 80, "height": 80, "z-index": 6, "position": {"x": 554.5705963589892, "y": 430.3111426820663}, "svgColor": "ui/public/static/img/meshmodels/kubernetes/color/namespace-color.svg", "svgWhite": "ui/public/static/img/meshmodels/kubernetes/white/namespace-white.svg", "svgComplete": "ui/public/static/img/meshmodels/kubernetes/complete/namespace-complete.svg", "border-style": "dashed", "border-width": 2, "primaryColor": "#326CE5", "secondaryColor": "#7aa1f0", "background-image": "none", "background-opacity": 0.5}, "version": "v1.0.0", "metadata": {"genealogy": "parent", "published": false, "source_uri": "git://github.com/kubernetes/kubernetes/master/api/openapi-spec/v3", "isAnnotation": false, "isNamespaced": true, "instanceDetails": null, "configurationUISchema": ""}, "component": {"kind": "Namespace", "schema": "", "version": "v1"}, "created_at": "0001-01-01T00:00:00Z", "updated_at": "0001-01-01T00:00:00Z", "description": "", "displayName": "default", "capabilities": null, "configuration": {}, "schemaVersion": "components.meshery.io/v1beta1", "modelReference": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}}, {"id": "fb294500-4dad-43d8-9d45-048e161fc042", "format": "JSON", "status": "enabled", "styles": {"shape": "round-triangle", "width": 20, "height": 20, "opacity": 1, "padding": 12, "z-index": 3, "position": {"x": 569.8147635407106, "y": 471.16059329941186}, "svgColor": "ui/public/static/img/meshmodels/kubernetes/color/service-color.svg", "svgWhite": "ui/public/static/img/meshmodels/kubernetes/white/service-white.svg", "body-text": "", "svgComplete": "", "border-width": 0, "primaryColor": "#326CE5", "secondaryColor": "#7aa1f0", "body-text-color": "#808080", "background-opacity": 1, "body-text-font-size": 12, "background-position-y": "4.5", "body-text-font-family": "Qanelas Soft", "body-text-font-weight": "400", "body-text-vertical-align": "center", "body-text-text-decoration": "none", "body-text-horizontal-align": "center"}, "version": "v1.0.0", "metadata": {"genealogy": "", "published": false, "source_uri": "git://github.com/kubernetes/kubernetes/master/api/openapi-spec/v3", "isAnnotation": false, "isNamespaced": true, "instanceDetails": null, "configurationUISchema": ""}, "component": {"kind": "Service", "schema": "", "version": "v1"}, "created_at": "0001-01-01T00:00:00Z", "updated_at": "0001-01-01T00:00:00Z", "description": "", "displayName": "service-canary", "capabilities": null, "configuration": {"spec": {"ports": [{"port": 80, "protocol": "TCP", "targetPort": 80}], "selector": {"app": "canary1"}}, "metadata": {"name": "service-canary", "labels": {"app": "canary1"}, "namespace": "default"}}, "schemaVersion": "components.meshery.io/v1beta1", "modelReference": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}}, {"id": "86fc7d15-9168-43bb-bcfd-31408826a73d", "format": "JSON", "status": "enabled", "styles": {"shape": "round-triangle", "width": 20, "height": 20, "opacity": 1, "padding": 12, "z-index": 1, "position": {"x": 560.8396465817412, "y": 314.2183765285773}, "svgColor": "ui/public/static/img/meshmodels/kubernetes/color/service-color.svg", "svgWhite": "ui/public/static/img/meshmodels/kubernetes/white/service-white.svg", "body-text": "", "svgComplete": "", "border-width": 0, "primaryColor": "#326CE5", "secondaryColor": "#7aa1f0", "body-text-color": "#808080", "background-opacity": 1, "body-text-font-size": 12, "background-position-y": "4.5", "body-text-font-family": "Qanelas Soft", "body-text-font-weight": "400", "body-text-vertical-align": "center", "body-text-text-decoration": "none", "body-text-horizontal-align": "center"}, "version": "v1.0.0", "metadata": {"genealogy": "", "published": false, "source_uri": "git://github.com/kubernetes/kubernetes/master/api/openapi-spec/v3", "isAnnotation": false, "isNamespaced": true, "instanceDetails": null, "configurationUISchema": ""}, "component": {"kind": "Service", "schema": "", "version": "v1"}, "created_at": "0001-01-01T00:00:00Z", "updated_at": "0001-01-01T00:00:00Z", "description": "", "displayName": "service-primary", "capabilities": null, "configuration": {"spec": {"ports": [{"port": 80, "protocol": "TCP", "targetPort": 80}], "selector": {"app": "primary1"}}, "metadata": {"name": "service-primary", "labels": {"app": "primary1"}, "namespace": "default"}}, "schemaVersion": "components.meshery.io/v1beta1", "modelReference": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}}, {"id": "5becf409-c21d-43a8-8505-33e7324e56f9", "format": "JSON", "status": "enabled", "styles": {"shape": "circle", "z-index": 7, "position": {"x": 372.513748784109, "y": 328.325064702108}, "svgColor": "ui/public/static/img/meshmodels/meshery-core/color/container-color.svg", "svgWhite": "ui/public/static/img/meshmodels/meshery-core/white/container-white.svg", "svgComplete": "", "primaryColor": "#326CE5", "secondaryColor": "#00D3A9"}, "version": "v1.0.0", "metadata": {"genealogy": "", "published": false, "isAnnotation": true, "isNamespaced": false, "instanceDetails": null, "hasInvalidSchema": true, "configurationUISchema": ""}, "component": {"kind": "Container", "schema": "", "version": "core.meshery.io/v1alpha1"}, "created_at": "0001-01-01T00:00:00Z", "updated_at": "0001-01-01T00:00:00Z", "description": "", "displayName": "containers.0", "capabilities": null, "configuration": {}, "schemaVersion": "components.meshery.io/v1beta1", "modelReference": {"id": "00000000-0000-0000-0000-000000000000", "name": "meshery-core", "model": {"version": "0.7.2"}, "version": "v1.0.0", "registrant": {"kind": "meshery"}, "displayName": "Meshery Core"}}, {"id": "f25a3c10-b065-473d-989c-9e62e44d81f7", "format": "JSON", "status": "enabled", "styles": {"shape": "circle", "z-index": 8, "position": {"x": 374.14224609591156, "y": 499.4039088355553}, "svgColor": "ui/public/static/img/meshmodels/meshery-core/color/container-color.svg", "svgWhite": "ui/public/static/img/meshmodels/meshery-core/white/container-white.svg", "svgComplete": "", "primaryColor": "#326CE5", "secondaryColor": "#00D3A9"}, "version": "v1.0.0", "metadata": {"genealogy": "", "published": false, "isAnnotation": true, "isNamespaced": false, "instanceDetails": null, "hasInvalidSchema": true, "configurationUISchema": ""}, "component": {"kind": "Container", "schema": "", "version": "core.meshery.io/v1alpha1"}, "created_at": "0001-01-01T00:00:00Z", "updated_at": "0001-01-01T00:00:00Z", "description": "", "displayName": "containers.0", "capabilities": null, "configuration": {}, "schemaVersion": "components.meshery.io/v1beta1", "modelReference": {"id": "00000000-0000-0000-0000-000000000000", "name": "meshery-core", "model": {"version": "0.7.2"}, "version": "v1.0.0", "registrant": {"kind": "meshery"}, "displayName": "Meshery Core"}}], "preferences": {"layers": {"expandedComponents": {"215fdc76-a304-4d3b-a080-afb125033ac1": true, "823ae6e6-f560-4dac-8e04-cae40366612a": true}}}, "relationships": [{"id": "2a480807-d5c7-4a00-abdd-28759c8ba33b", "kind": "hierarchical", "type": "parent", "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "status": "approved", "subType": "inventory", "version": "", "metadata": {"styles": {"svgColor": "", "svgWhite": "", "primaryColor": ""}, "description": "Namespace to namespaced components", "isAnnotation": false}, "selectors": [{"deny": {"to": [{"id": null, "kind": "Namespace", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": null, "match_strategy_matrix": null}], "from": [{"id": null, "kind": "Namespace", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": null, "match_strategy_matrix": null}]}, "allow": {"to": [{"id": "d27c1c97-33d7-4d95-ba81-b62924a0e19a", "kind": "Namespace", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatorRef": [["displayName"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}], "from": [{"id": "215fdc76-a304-4d3b-a080-afb125033ac1", "kind": "*", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "*", "model": {"version": ""}, "version": "", "registrant": {"kind": ""}, "displayName": ""}, "patch": {"mutatedRef": [["configuration", "metadata", "namespace"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}]}}], "schemaVersion": "", "evaluationQuery": null}, {"id": "a738e564-9f79-46bc-b792-0a82582180c2", "kind": "edge", "type": "non-binding", "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "status": "pending", "subType": "network", "version": "", "metadata": {"styles": {"svgColor": "", "svgWhite": "", "primaryColor": ""}, "description": "A relationship that defines network edges between components", "isAnnotation": false}, "selectors": [{"deny": {"to": [], "from": []}, "allow": {"to": [{"id": "86fc7d15-9168-43bb-bcfd-31408826a73d", "kind": "Service", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatorRef": [["displayName"], ["configuration", "spec", "ports", "0", "port"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}], "from": [{"id": "c1a0ee52-ae69-4436-b1d8-81643b433265", "kind": "Ingress", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatedRef": [["configuration", "spec", "rules", "0", "http", "paths", "0", "backend", "serviceName"], ["configuration", "spec", "rules", "0", "http", "paths", "0", "backend", "servicePort"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}]}}], "schemaVersion": "", "evaluationQuery": null}, {"id": "b671853e-d63a-4a7c-9fc1-d67b1f75c4a2", "kind": "edge", "type": "non-binding", "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "status": "pending", "subType": "network", "version": "", "metadata": {"styles": {"svgColor": "", "svgWhite": "", "primaryColor": ""}, "description": "A relationship that defines network edges between components", "isAnnotation": false}, "selectors": [{"deny": {"to": [], "from": []}, "allow": {"to": [{"id": "fb294500-4dad-43d8-9d45-048e161fc042", "kind": "Service", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatorRef": [["displayName"], ["configuration", "spec", "ports", "0", "port"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}], "from": [{"id": "016f1905-0d75-4d46-bc29-9617d937823c", "kind": "Ingress", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatedRef": [["configuration", "spec", "rules", "0", "http", "paths", "0", "backend", "serviceName"], ["configuration", "spec", "rules", "0", "http", "paths", "0", "backend", "servicePort"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}]}}], "schemaVersion": "", "evaluationQuery": null}, {"id": "c9cee618-7203-4c97-8fe2-273b2ae5b2b7", "kind": "hierarchical", "type": "parent", "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "status": "approved", "subType": "inventory", "version": "", "metadata": {"styles": {"svgColor": "", "svgWhite": "", "primaryColor": ""}, "description": "Namespace to namespaced components", "isAnnotation": false}, "selectors": [{"deny": {"to": [{"id": null, "kind": "Namespace", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": null, "match_strategy_matrix": null}], "from": [{"id": null, "kind": "Namespace", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": null, "match_strategy_matrix": null}]}, "allow": {"to": [{"id": "d27c1c97-33d7-4d95-ba81-b62924a0e19a", "kind": "Namespace", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatorRef": [["displayName"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}], "from": [{"id": "fb294500-4dad-43d8-9d45-048e161fc042", "kind": "*", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "*", "model": {"version": ""}, "version": "", "registrant": {"kind": ""}, "displayName": ""}, "patch": {"mutatedRef": [["configuration", "metadata", "namespace"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}]}}], "schemaVersion": "", "evaluationQuery": null}, {"id": "e058cf47-3bcb-4d87-8cb1-250f1bdd071b", "kind": "hierarchical", "type": "parent", "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "status": "approved", "subType": "inventory", "version": "", "metadata": {"styles": {"svgColor": "", "svgWhite": "", "primaryColor": ""}, "description": "Namespace to namespaced components", "isAnnotation": false}, "selectors": [{"deny": {"to": [{"id": null, "kind": "Namespace", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": null, "match_strategy_matrix": null}], "from": [{"id": null, "kind": "Namespace", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": null, "match_strategy_matrix": null}]}, "allow": {"to": [{"id": "d27c1c97-33d7-4d95-ba81-b62924a0e19a", "kind": "Namespace", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatorRef": [["displayName"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}], "from": [{"id": "016f1905-0d75-4d46-bc29-9617d937823c", "kind": "*", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "*", "model": {"version": ""}, "version": "", "registrant": {"kind": ""}, "displayName": ""}, "patch": {"mutatedRef": [["configuration", "metadata", "namespace"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}]}}], "schemaVersion": "", "evaluationQuery": null}, {"id": "1284cae1-5fca-4ff0-9580-2a396544a7e9", "kind": "hierarchical", "type": "parent", "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "status": "approved", "subType": "inventory", "version": "v1.0.0", "metadata": {"styles": {"svgColor": "", "svgWhite": "", "primaryColor": ""}, "description": "Namespace to namespaced components", "isAnnotation": false}, "selectors": [{"allow": {"to": [{"id": "d27c1c97-33d7-4d95-ba81-b62924a0e19a", "kind": "Namespace", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatorRef": [["displayName"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}], "from": [{"id": "823ae6e6-f560-4dac-8e04-cae40366612a", "kind": "*", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "*", "model": {"version": ""}, "version": "", "registrant": {"kind": ""}, "displayName": ""}, "patch": {"mutatedRef": [["configuration", "metadata", "namespace"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}]}}], "schemaVersion": "relationships.meshery.io/v1alpha3", "evaluationQuery": ""}, {"id": "8631240d-44af-43bc-9074-98d9fe156721", "kind": "hierarchical", "type": "parent", "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "status": "approved", "subType": "alias", "version": "v1.0.0", "metadata": {"styles": {"svgColor": "", "svgWhite": "", "primaryColor": ""}, "description": "A hierarchical inventory relationship in which the configuration of (parent) component is patched with the configuration of other (child) component. Eg: The configuration of the EnvoyFilter (parent) component is patched with the configuration as received from WASMFilter (child) component.", "isAnnotation": false}, "selectors": [{"deny": {"to": null, "from": null}, "allow": {"to": [{"id": "823ae6e6-f560-4dac-8e04-cae40366612a", "kind": "Deployment", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatedRef": [["configuration", "spec", "template", "spec", "containers", "0"]], "mutatorRef": [["configuration", "spec", "template", "spec", "containers", "0"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}], "from": [{"id": "5becf409-c21d-43a8-8505-33e7324e56f9", "kind": "Container", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "meshery-core", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatedRef": [["configuration", "spec", "template", "spec", "containers", "0"]], "mutatorRef": [["configuration", "spec", "template", "spec", "containers", "0"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}]}}], "schemaVersion": "relationships.meshery.io/v1alpha3", "evaluationQuery": ""}, {"id": "b3056197-b14b-4b1b-add1-d1a51f4f5376", "kind": "hierarchical", "type": "sibling", "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "status": "approved", "subType": "matchlabels", "version": "v1.0.0", "metadata": {"styles": {"svgColor": "", "svgWhite": "", "primaryColor": ""}, "description": "A relationship between two objects that are siblings", "isAnnotation": false}, "selectors": [{"deny": {"to": [], "from": []}, "allow": {"to": [{"id": "823ae6e6-f560-4dac-8e04-cae40366612a", "kind": "Deployment", "match": {}, "model": {"id": "822d2188-d494-19ef-8fcf-7c623ba0ee98", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "patch": {"mutatorRef": [["app"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}, {"id": "86fc7d15-9168-43bb-bcfd-31408826a73d", "kind": "Service", "match": {}, "model": {"id": "822d2188-d494-19ef-8fcf-7c623ba0ee98", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "patch": {"mutatorRef": [["app"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}, {"id": "c1a0ee52-ae69-4436-b1d8-81643b433265", "kind": "Ingress", "match": {}, "model": {"id": "822d2188-d494-19ef-8fcf-7c623ba0ee98", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "patch": {"mutatorRef": [["app"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}], "from": [{"id": "823ae6e6-f560-4dac-8e04-cae40366612a", "kind": "Deployment", "match": {}, "model": {"id": "822d2188-d494-19ef-8fcf-7c623ba0ee98", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "patch": {"mutatorRef": [["app"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}, {"id": "86fc7d15-9168-43bb-bcfd-31408826a73d", "kind": "Service", "match": {}, "model": {"id": "822d2188-d494-19ef-8fcf-7c623ba0ee98", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "patch": {"mutatorRef": [["app"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}, {"id": "c1a0ee52-ae69-4436-b1d8-81643b433265", "kind": "Ingress", "match": {}, "model": {"id": "822d2188-d494-19ef-8fcf-7c623ba0ee98", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "patch": {"mutatorRef": [["app"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}]}}], "schemaVersion": "relationships.meshery.io/v1alpha3", "evaluationQuery": ""}, {"id": "c3914466-f767-4104-8b82-a057176ea76b", "kind": "hierarchical", "type": "parent", "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "status": "approved", "subType": "alias", "version": "v1.0.0", "metadata": {"styles": {"svgColor": "", "svgWhite": "", "primaryColor": ""}, "description": "A hierarchical inventory relationship in which the configuration of (parent) component is patched with the configuration of other (child) component. Eg: The configuration of the EnvoyFilter (parent) component is patched with the configuration as received from WASMFilter (child) component.", "isAnnotation": false}, "selectors": [{"deny": {"to": null, "from": null}, "allow": {"to": [{"id": "215fdc76-a304-4d3b-a080-afb125033ac1", "kind": "Deployment", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatedRef": [["configuration", "spec", "template", "spec", "containers", "0"]], "mutatorRef": [["configuration", "spec", "template", "spec", "containers", "0"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}], "from": [{"id": "f25a3c10-b065-473d-989c-9e62e44d81f7", "kind": "Container", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "meshery-core", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatedRef": [["configuration", "spec", "template", "spec", "containers", "0"]], "mutatorRef": [["configuration", "spec", "template", "spec", "containers", "0"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}]}}], "schemaVersion": "relationships.meshery.io/v1alpha3", "evaluationQuery": ""}, {"id": "d4fa7926-6940-46f6-8595-471ec0d48d26", "kind": "edge", "type": "non-binding", "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "status": "approved", "subType": "network", "version": "v1.0.0", "metadata": {"styles": {"svgColor": "", "svgWhite": "", "primaryColor": ""}, "description": "A relationship that defines network edges between components", "isAnnotation": false}, "selectors": [{"deny": {"to": null, "from": null}, "allow": {"to": [{"id": "215fdc76-a304-4d3b-a080-afb125033ac1", "kind": "Deployment", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatedRef": [["configuration", "spec", "selector", "matchLabels"], ["configuration", "spec", "template", "spec", "containers", "0", "ports", "0", "containerPort"], ["configuration", "spec", "template", "spec", "containers", "0", "ports", "0", "protocol"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}], "from": [{"id": "fb294500-4dad-43d8-9d45-048e161fc042", "kind": "Service", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatorRef": [["configuration", "spec", "selector"], ["configuration", "spec", "ports", "0", "targetPort"], ["configuration", "spec", "ports", "0", "protocol"]], "patchStrategy": "replace"}, "match_strategy_matrix": [["to_contains_from", "not_null"], ["equal_as_strings", "not_null"], ["equal"]]}]}}], "schemaVersion": "relationships.meshery.io/v1alpha3", "evaluationQuery": ""}, {"id": "e5833c5e-dbbc-497f-af8e-92e4ee57c44e", "kind": "hierarchical", "type": "parent", "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "status": "approved", "subType": "inventory", "version": "v1.0.0", "metadata": {"styles": {"svgColor": "", "svgWhite": "", "primaryColor": ""}, "description": "Namespace to namespaced components", "isAnnotation": false}, "selectors": [{"allow": {"to": [{"id": "d27c1c97-33d7-4d95-ba81-b62924a0e19a", "kind": "Namespace", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatorRef": [["displayName"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}], "from": [{"id": "c1a0ee52-ae69-4436-b1d8-81643b433265", "kind": "*", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "*", "model": {"version": ""}, "version": "", "registrant": {"kind": ""}, "displayName": ""}, "patch": {"mutatedRef": [["configuration", "metadata", "namespace"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}]}}], "schemaVersion": "relationships.meshery.io/v1alpha3", "evaluationQuery": ""}, {"id": "ea386cdf-18c7-43cb-b1ce-ed5db14279d9", "kind": "hierarchical", "type": "sibling", "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "status": "approved", "subType": "matchlabels", "version": "v1.0.0", "metadata": {"styles": {"svgColor": "", "svgWhite": "", "primaryColor": ""}, "description": "A relationship between two objects that are siblings", "isAnnotation": false}, "selectors": [{"deny": {"to": [], "from": []}, "allow": {"to": [{"id": "016f1905-0d75-4d46-bc29-9617d937823c", "kind": "Ingress", "match": {}, "model": {"id": "822d2188-d494-19ef-8fcf-7c623ba0ee98", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "patch": {"mutatorRef": [["app"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}, {"id": "215fdc76-a304-4d3b-a080-afb125033ac1", "kind": "Deployment", "match": {}, "model": {"id": "822d2188-d494-19ef-8fcf-7c623ba0ee98", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "patch": {"mutatorRef": [["app"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}, {"id": "fb294500-4dad-43d8-9d45-048e161fc042", "kind": "Service", "match": {}, "model": {"id": "822d2188-d494-19ef-8fcf-7c623ba0ee98", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "patch": {"mutatorRef": [["app"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}], "from": [{"id": "016f1905-0d75-4d46-bc29-9617d937823c", "kind": "Ingress", "match": {}, "model": {"id": "822d2188-d494-19ef-8fcf-7c623ba0ee98", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "patch": {"mutatorRef": [["app"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}, {"id": "215fdc76-a304-4d3b-a080-afb125033ac1", "kind": "Deployment", "match": {}, "model": {"id": "822d2188-d494-19ef-8fcf-7c623ba0ee98", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "patch": {"mutatorRef": [["app"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}, {"id": "fb294500-4dad-43d8-9d45-048e161fc042", "kind": "Service", "match": {}, "model": {"id": "822d2188-d494-19ef-8fcf-7c623ba0ee98", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "patch": {"mutatorRef": [["app"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}]}}], "schemaVersion": "relationships.meshery.io/v1alpha3", "evaluationQuery": ""}, {"id": "f1c2564b-c716-4170-860b-9938c2b04461", "kind": "hierarchical", "type": "parent", "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "status": "approved", "subType": "inventory", "version": "v1.0.0", "metadata": {"styles": {"svgColor": "", "svgWhite": "", "primaryColor": ""}, "description": "Namespace to namespaced components", "isAnnotation": false}, "selectors": [{"allow": {"to": [{"id": "d27c1c97-33d7-4d95-ba81-b62924a0e19a", "kind": "Namespace", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatorRef": [["displayName"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}], "from": [{"id": "86fc7d15-9168-43bb-bcfd-31408826a73d", "kind": "*", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "*", "model": {"version": ""}, "version": "", "registrant": {"kind": ""}, "displayName": ""}, "patch": {"mutatedRef": [["configuration", "metadata", "namespace"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}]}}], "schemaVersion": "relationships.meshery.io/v1alpha3", "evaluationQuery": ""}, {"id": "fd3be02a-cbdd-47e5-a5d9-14be2bfe89f8", "kind": "edge", "type": "non-binding", "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": "v1.35.0-rc.1"}, "version": "v1.0.0", "registrant": {"kind": "github"}, "displayName": "Kubernetes"}, "status": "approved", "subType": "network", "version": "v1.0.0", "metadata": {"styles": {"svgColor": "", "svgWhite": "", "primaryColor": ""}, "description": "A relationship that defines network edges between components", "isAnnotation": false}, "selectors": [{"deny": {"to": null, "from": null}, "allow": {"to": [{"id": "823ae6e6-f560-4dac-8e04-cae40366612a", "kind": "Deployment", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatedRef": [["configuration", "spec", "selector", "matchLabels"], ["configuration", "spec", "template", "spec", "containers", "0", "ports", "0", "containerPort"], ["configuration", "spec", "template", "spec", "containers", "0", "ports", "0", "protocol"]], "patchStrategy": "replace"}, "match_strategy_matrix": null}], "from": [{"id": "86fc7d15-9168-43bb-bcfd-31408826a73d", "kind": "Service", "match": {}, "model": {"id": "00000000-0000-0000-0000-000000000000", "name": "kubernetes", "model": {"version": ""}, "version": "", "registrant": {"kind": "github"}, "displayName": ""}, "patch": {"mutatorRef": [["configuration", "spec", "selector"], ["configuration", "spec", "ports", "0", "targetPort"], ["configuration", "spec", "ports", "0", "protocol"]], "patchStrategy": "replace"}, "match_strategy_matrix": [["to_contains_from", "not_null"], ["equal_as_strings", "not_null"], ["equal"]]}]}}], "schemaVersion": "relationships.meshery.io/v1alpha3", "evaluationQuery": ""}], "schemaVersion": "designs.meshery.io/v1beta1"}