From e0ead47fb1ff4b5cdccc57dcdb347ab2be412a8f Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Fri, 10 Feb 2023 15:49:31 +0000 Subject: [PATCH] Add kubernetes roadmap --- public/jsons/roadmaps/kubernetes.json | 4381 +---------------- src/components/RoadmapHeader.astro | 5 +- src/components/RoadmapHint.astro | 7 +- src/lib/roadmap.ts | 1 + src/pages/[roadmapId]/index.astro | 1 + src/roadmaps/backend/backend.md | 1 + src/roadmaps/devops/devops.md | 1 + src/roadmaps/frontend/frontend.md | 1 + .../100-kubernetes-overview.md | 1 + .../100-what-is-kubernetes.md | 1 - .../101-concepts-and-terminologies.md | 1 - .../101-why-kubernetes.md | 1 + .../102-key-concepts-terminologies.md | 1 + ...-vs-other-container-orchestration-tools.md | 1 - .../103-kubernetes-alternatives.md | 1 + .../100-kubernetes-introduction/index.md | 2 +- .../100-setting-up-a-cluster.md | 1 - .../101-configuring-nodes.md | 1 - .../102-cluster-networking.md | 1 - .../103-cluster-federation.md | 1 - .../index.md | 1 - .../kubernetes/content/101-containers.md | 1 + .../103-pods-and-their-role.md | 1 - .../104-creating-and-managing-pods.md | 1 - .../105-replication-and-scaling.md | 1 - .../106-deployment-strategies.md | 1 - .../content/102-pods-and-replication/index.md | 1 - .../100-installing-a-local-cluster.md | 1 + .../101-choosing-a-managed-provider.md | 1 + .../102-deploying-your-first-application.md | 1 + .../102-setting-up-kubernetes/index.md | 1 + .../103-running-applications/100-pods.md | 1 + .../101-replicasets.md | 1 + .../102-deployments.md | 1 + .../103-statefulsets.md | 1 + .../103-running-applications/104-jobs.md | 1 + .../content/103-running-applications/index.md | 1 + .../100-networking-pods-and-communication.md | 1 - .../101-understanding-and-using-services.md | 1 - ...02-network-load-balancing-with-services.md | 1 - .../100-config-management-and-config-maps.md | 1 - .../101-using-secrets.md | 1 - .../102-usage-in-pods-and-controllers.md | 1 - .../104-configmaps-and-secrets/index.md | 1 - ...networking-and-pod-to-pod-communication.md | 1 + .../101-load-balancing.md | 1 + .../102-external-access-to-services.md} | 0 .../index.md | 0 .../100-config-maps.md | 1 + .../101-secrets.md | 1 + .../105-configuration-management/index.md | 1 + .../100-storage-options.md | 1 - .../101-persistent-storage.md | 1 - .../105-storage-and-volumes/102-volumes.md | 1 - .../100-resource-consumption-and-limits.md | 1 - .../101-assigning-namespace-quotas.md | 1 - ...source-usage-and-performance-monitoring.md | 1 - .../index.md | 1 - ...00-setting-resource-requests-and-limits.md | 1 + .../101-assigning-quotas-to-namespaces.md | 1 + ...onitoring-and-optimizing-resource-usage.md | 1 + .../content/106-resource-management/index.md | 1 + .../100-role-based-acccess-control.md | 1 + .../100-securing-a-kubernetes-cluster.md | 1 - .../101-network-security.md | 1 + .../101-role-based-access-control.md | 1 - .../102-cluster-and-network-security.md | 1 - ...y.md => 102-container-and-pod-security.md} | 0 .../103-security-scanners.md | 1 + .../content/107-kubernetes-security/index.md | 2 +- .../100-cluster-and-pod-health-monitoring.md | 1 - .../108-monitoring-and-logging/100-logs.md | 1 + .../101-log-collection-and-analysis.md | 1 - .../108-monitoring-and-logging/101-metrics.md | 1 + .../102-monitoring-tools-setup.md | 1 - .../108-monitoring-and-logging/102-traces.md | 1 + .../103-resource-health.md | 1 + .../104-observability-engines.md | 1 + .../100-horizontal-pod-autoscaler.md | 1 + .../101-vertical-pod-autoscaler.md | 1 + .../102-cluster-autoscaling.md | 1 + .../content/109-autoscaling/index.md | 1 + .../100-scheduling-pods-on-nodes.md | 1 - .../101-configuring-taints-and-tolerations.md | 1 - ...2-automated-scheduling-and-self-healing.md | 1 - .../103-managing-and-upgrading-cluster.md | 1 - .../109-scheduling-and-management/index.md | 1 - .../110-scheduling/100-scheduling-basics.md | 1 + .../101-taints-and-tolerations.md | 1 + .../102-topology-spread-constraints.md | 1 + .../110-scheduling/103-pod-priorities.md | 1 + .../content/110-scheduling/104-evictions.md | 1 + .../content/110-scheduling/index.md | 1 + .../100-stateful-vs-stateless-apps.md | 1 - .../101-statefulset-patterns-and-usecases.md | 1 - ...persistent-storage-and-network-identity.md | 1 - .../100-blue-green-deployment.md | 1 - .../101-canary-deployment.md | 1 - .../111-deployment-patterns/102-ab-testing.md | 1 - .../103-rolling-update-and-rollback.md | 1 - .../100-csi-drivers.md | 1 + .../101-stateful-applications.md} | 0 .../index.md | 0 .../101-custom-schedulers-and-extenders.md | 1 - .../104-integration-with-ci-cd-pipelines.md | 1 - .../content/112-advanced-topics/index.md | 1 - .../100-ci-cd-integration.md | 1 + .../112-deployment-patterns/101-gitops.md | 1 + .../102-helm-charts.md | 1 + .../103-canary-deployments.md | 1 + .../104-blue-green-deployments.md | 1 + .../105-rolling-updates-rollbacks.md | 1 + .../index.md | 0 .../100-custom-controllers.md | 0 .../101-custom-schedulers-extenders.md | 1 + .../102-custom-resource-definitions.md | 0 .../103-kubernetes-extensions-and-apis.md | 0 .../104-own-cluster.md | 1 + .../105-control-plane-installation.md | 1 + .../106-managing-worker-nodes.md | 1 + .../107-multi-cluster-management.md} | 0 .../113-kubernetes-advanced-topics/index.md | 1 + .../100-architecture-and-design.md | 1 - .../101-performance-and-scalability.md | 1 - .../102-security-best-practices.md | 1 - .../103-cluster-management.md | 1 - .../104-troubleshooting-and-debugging.md | 1 - .../113-kubernetes-best-practices/index.md | 1 - .../100-managing-production-workloads.md | 1 - .../101-cluster-and-application-scaling.md | 1 - ...toring-and-managing-cluster-performance.md | 1 - .../103-upgrading-cluster-and-applications.md | 1 - .../114-kubernetes-in-production/index.md | 1 - src/roadmaps/kubernetes/kubernetes.md | 4 +- 134 files changed, 71 insertions(+), 4448 deletions(-) create mode 100644 src/roadmaps/kubernetes/content/100-kubernetes-introduction/100-kubernetes-overview.md delete mode 100644 src/roadmaps/kubernetes/content/100-kubernetes-introduction/100-what-is-kubernetes.md delete mode 100644 src/roadmaps/kubernetes/content/100-kubernetes-introduction/101-concepts-and-terminologies.md create mode 100644 src/roadmaps/kubernetes/content/100-kubernetes-introduction/101-why-kubernetes.md create mode 100644 src/roadmaps/kubernetes/content/100-kubernetes-introduction/102-key-concepts-terminologies.md delete mode 100644 src/roadmaps/kubernetes/content/100-kubernetes-introduction/102-kubernetes-vs-other-container-orchestration-tools.md create mode 100644 src/roadmaps/kubernetes/content/100-kubernetes-introduction/103-kubernetes-alternatives.md delete mode 100644 src/roadmaps/kubernetes/content/101-cluster-setup-and-configuration/100-setting-up-a-cluster.md delete mode 100644 src/roadmaps/kubernetes/content/101-cluster-setup-and-configuration/101-configuring-nodes.md delete mode 100644 src/roadmaps/kubernetes/content/101-cluster-setup-and-configuration/102-cluster-networking.md delete mode 100644 src/roadmaps/kubernetes/content/101-cluster-setup-and-configuration/103-cluster-federation.md delete mode 100644 src/roadmaps/kubernetes/content/101-cluster-setup-and-configuration/index.md create mode 100644 src/roadmaps/kubernetes/content/101-containers.md delete mode 100644 src/roadmaps/kubernetes/content/102-pods-and-replication/103-pods-and-their-role.md delete mode 100644 src/roadmaps/kubernetes/content/102-pods-and-replication/104-creating-and-managing-pods.md delete mode 100644 src/roadmaps/kubernetes/content/102-pods-and-replication/105-replication-and-scaling.md delete mode 100644 src/roadmaps/kubernetes/content/102-pods-and-replication/106-deployment-strategies.md delete mode 100644 src/roadmaps/kubernetes/content/102-pods-and-replication/index.md create mode 100644 src/roadmaps/kubernetes/content/102-setting-up-kubernetes/100-installing-a-local-cluster.md create mode 100644 src/roadmaps/kubernetes/content/102-setting-up-kubernetes/101-choosing-a-managed-provider.md create mode 100644 src/roadmaps/kubernetes/content/102-setting-up-kubernetes/102-deploying-your-first-application.md create mode 100644 src/roadmaps/kubernetes/content/102-setting-up-kubernetes/index.md create mode 100644 src/roadmaps/kubernetes/content/103-running-applications/100-pods.md create mode 100644 src/roadmaps/kubernetes/content/103-running-applications/101-replicasets.md create mode 100644 src/roadmaps/kubernetes/content/103-running-applications/102-deployments.md create mode 100644 src/roadmaps/kubernetes/content/103-running-applications/103-statefulsets.md create mode 100644 src/roadmaps/kubernetes/content/103-running-applications/104-jobs.md create mode 100644 src/roadmaps/kubernetes/content/103-running-applications/index.md delete mode 100644 src/roadmaps/kubernetes/content/103-services-and-networking/100-networking-pods-and-communication.md delete mode 100644 src/roadmaps/kubernetes/content/103-services-and-networking/101-understanding-and-using-services.md delete mode 100644 src/roadmaps/kubernetes/content/103-services-and-networking/102-network-load-balancing-with-services.md delete mode 100644 src/roadmaps/kubernetes/content/104-configmaps-and-secrets/100-config-management-and-config-maps.md delete mode 100644 src/roadmaps/kubernetes/content/104-configmaps-and-secrets/101-using-secrets.md delete mode 100644 src/roadmaps/kubernetes/content/104-configmaps-and-secrets/102-usage-in-pods-and-controllers.md delete mode 100644 src/roadmaps/kubernetes/content/104-configmaps-and-secrets/index.md create mode 100644 src/roadmaps/kubernetes/content/104-services-and-networking/100-networking-and-pod-to-pod-communication.md create mode 100644 src/roadmaps/kubernetes/content/104-services-and-networking/101-load-balancing.md rename src/roadmaps/kubernetes/content/{103-services-and-networking/103-external-access-to-services.md => 104-services-and-networking/102-external-access-to-services.md} (100%) rename src/roadmaps/kubernetes/content/{103-services-and-networking => 104-services-and-networking}/index.md (100%) create mode 100644 src/roadmaps/kubernetes/content/105-configuration-management/100-config-maps.md create mode 100644 src/roadmaps/kubernetes/content/105-configuration-management/101-secrets.md create mode 100644 src/roadmaps/kubernetes/content/105-configuration-management/index.md delete mode 100644 src/roadmaps/kubernetes/content/105-storage-and-volumes/100-storage-options.md delete mode 100644 src/roadmaps/kubernetes/content/105-storage-and-volumes/101-persistent-storage.md delete mode 100644 src/roadmaps/kubernetes/content/105-storage-and-volumes/102-volumes.md delete mode 100644 src/roadmaps/kubernetes/content/106-resource-management-and-quotas/100-resource-consumption-and-limits.md delete mode 100644 src/roadmaps/kubernetes/content/106-resource-management-and-quotas/101-assigning-namespace-quotas.md delete mode 100644 src/roadmaps/kubernetes/content/106-resource-management-and-quotas/102-resource-usage-and-performance-monitoring.md delete mode 100644 src/roadmaps/kubernetes/content/106-resource-management-and-quotas/index.md create mode 100644 src/roadmaps/kubernetes/content/106-resource-management/100-setting-resource-requests-and-limits.md create mode 100644 src/roadmaps/kubernetes/content/106-resource-management/101-assigning-quotas-to-namespaces.md create mode 100644 src/roadmaps/kubernetes/content/106-resource-management/102-monitoring-and-optimizing-resource-usage.md create mode 100644 src/roadmaps/kubernetes/content/106-resource-management/index.md create mode 100644 src/roadmaps/kubernetes/content/107-kubernetes-security/100-role-based-acccess-control.md delete mode 100644 src/roadmaps/kubernetes/content/107-kubernetes-security/100-securing-a-kubernetes-cluster.md create mode 100644 src/roadmaps/kubernetes/content/107-kubernetes-security/101-network-security.md delete mode 100644 src/roadmaps/kubernetes/content/107-kubernetes-security/101-role-based-access-control.md delete mode 100644 src/roadmaps/kubernetes/content/107-kubernetes-security/102-cluster-and-network-security.md rename src/roadmaps/kubernetes/content/107-kubernetes-security/{103-container-and-pod-security.md => 102-container-and-pod-security.md} (100%) create mode 100644 src/roadmaps/kubernetes/content/107-kubernetes-security/103-security-scanners.md delete mode 100644 src/roadmaps/kubernetes/content/108-monitoring-and-logging/100-cluster-and-pod-health-monitoring.md create mode 100644 src/roadmaps/kubernetes/content/108-monitoring-and-logging/100-logs.md delete mode 100644 src/roadmaps/kubernetes/content/108-monitoring-and-logging/101-log-collection-and-analysis.md create mode 100644 src/roadmaps/kubernetes/content/108-monitoring-and-logging/101-metrics.md delete mode 100644 src/roadmaps/kubernetes/content/108-monitoring-and-logging/102-monitoring-tools-setup.md create mode 100644 src/roadmaps/kubernetes/content/108-monitoring-and-logging/102-traces.md create mode 100644 src/roadmaps/kubernetes/content/108-monitoring-and-logging/103-resource-health.md create mode 100644 src/roadmaps/kubernetes/content/108-monitoring-and-logging/104-observability-engines.md create mode 100644 src/roadmaps/kubernetes/content/109-autoscaling/100-horizontal-pod-autoscaler.md create mode 100644 src/roadmaps/kubernetes/content/109-autoscaling/101-vertical-pod-autoscaler.md create mode 100644 src/roadmaps/kubernetes/content/109-autoscaling/102-cluster-autoscaling.md create mode 100644 src/roadmaps/kubernetes/content/109-autoscaling/index.md delete mode 100644 src/roadmaps/kubernetes/content/109-scheduling-and-management/100-scheduling-pods-on-nodes.md delete mode 100644 src/roadmaps/kubernetes/content/109-scheduling-and-management/101-configuring-taints-and-tolerations.md delete mode 100644 src/roadmaps/kubernetes/content/109-scheduling-and-management/102-automated-scheduling-and-self-healing.md delete mode 100644 src/roadmaps/kubernetes/content/109-scheduling-and-management/103-managing-and-upgrading-cluster.md delete mode 100644 src/roadmaps/kubernetes/content/109-scheduling-and-management/index.md create mode 100644 src/roadmaps/kubernetes/content/110-scheduling/100-scheduling-basics.md create mode 100644 src/roadmaps/kubernetes/content/110-scheduling/101-taints-and-tolerations.md create mode 100644 src/roadmaps/kubernetes/content/110-scheduling/102-topology-spread-constraints.md create mode 100644 src/roadmaps/kubernetes/content/110-scheduling/103-pod-priorities.md create mode 100644 src/roadmaps/kubernetes/content/110-scheduling/104-evictions.md create mode 100644 src/roadmaps/kubernetes/content/110-scheduling/index.md delete mode 100644 src/roadmaps/kubernetes/content/110-stateful-applications/100-stateful-vs-stateless-apps.md delete mode 100644 src/roadmaps/kubernetes/content/110-stateful-applications/101-statefulset-patterns-and-usecases.md delete mode 100644 src/roadmaps/kubernetes/content/110-stateful-applications/102-persistent-storage-and-network-identity.md delete mode 100644 src/roadmaps/kubernetes/content/111-deployment-patterns/100-blue-green-deployment.md delete mode 100644 src/roadmaps/kubernetes/content/111-deployment-patterns/101-canary-deployment.md delete mode 100644 src/roadmaps/kubernetes/content/111-deployment-patterns/102-ab-testing.md delete mode 100644 src/roadmaps/kubernetes/content/111-deployment-patterns/103-rolling-update-and-rollback.md create mode 100644 src/roadmaps/kubernetes/content/111-storage-and-volumes/100-csi-drivers.md rename src/roadmaps/kubernetes/content/{110-stateful-applications/index.md => 111-storage-and-volumes/101-stateful-applications.md} (100%) rename src/roadmaps/kubernetes/content/{105-storage-and-volumes => 111-storage-and-volumes}/index.md (100%) delete mode 100644 src/roadmaps/kubernetes/content/112-advanced-topics/101-custom-schedulers-and-extenders.md delete mode 100644 src/roadmaps/kubernetes/content/112-advanced-topics/104-integration-with-ci-cd-pipelines.md delete mode 100644 src/roadmaps/kubernetes/content/112-advanced-topics/index.md create mode 100644 src/roadmaps/kubernetes/content/112-deployment-patterns/100-ci-cd-integration.md create mode 100644 src/roadmaps/kubernetes/content/112-deployment-patterns/101-gitops.md create mode 100644 src/roadmaps/kubernetes/content/112-deployment-patterns/102-helm-charts.md create mode 100644 src/roadmaps/kubernetes/content/112-deployment-patterns/103-canary-deployments.md create mode 100644 src/roadmaps/kubernetes/content/112-deployment-patterns/104-blue-green-deployments.md create mode 100644 src/roadmaps/kubernetes/content/112-deployment-patterns/105-rolling-updates-rollbacks.md rename src/roadmaps/kubernetes/content/{111-deployment-patterns => 112-deployment-patterns}/index.md (100%) rename src/roadmaps/kubernetes/content/{112-advanced-topics => 113-kubernetes-advanced-topics}/100-custom-controllers.md (100%) create mode 100644 src/roadmaps/kubernetes/content/113-kubernetes-advanced-topics/101-custom-schedulers-extenders.md rename src/roadmaps/kubernetes/content/{112-advanced-topics => 113-kubernetes-advanced-topics}/102-custom-resource-definitions.md (100%) rename src/roadmaps/kubernetes/content/{112-advanced-topics => 113-kubernetes-advanced-topics}/103-kubernetes-extensions-and-apis.md (100%) create mode 100644 src/roadmaps/kubernetes/content/113-kubernetes-advanced-topics/104-own-cluster.md create mode 100644 src/roadmaps/kubernetes/content/113-kubernetes-advanced-topics/105-control-plane-installation.md create mode 100644 src/roadmaps/kubernetes/content/113-kubernetes-advanced-topics/106-managing-worker-nodes.md rename src/roadmaps/kubernetes/content/{101-cluster-setup-and-configuration/104-multi-cluster-management.md => 113-kubernetes-advanced-topics/107-multi-cluster-management.md} (100%) create mode 100644 src/roadmaps/kubernetes/content/113-kubernetes-advanced-topics/index.md delete mode 100644 src/roadmaps/kubernetes/content/113-kubernetes-best-practices/100-architecture-and-design.md delete mode 100644 src/roadmaps/kubernetes/content/113-kubernetes-best-practices/101-performance-and-scalability.md delete mode 100644 src/roadmaps/kubernetes/content/113-kubernetes-best-practices/102-security-best-practices.md delete mode 100644 src/roadmaps/kubernetes/content/113-kubernetes-best-practices/103-cluster-management.md delete mode 100644 src/roadmaps/kubernetes/content/113-kubernetes-best-practices/104-troubleshooting-and-debugging.md delete mode 100644 src/roadmaps/kubernetes/content/113-kubernetes-best-practices/index.md delete mode 100644 src/roadmaps/kubernetes/content/114-kubernetes-in-production/100-managing-production-workloads.md delete mode 100644 src/roadmaps/kubernetes/content/114-kubernetes-in-production/101-cluster-and-application-scaling.md delete mode 100644 src/roadmaps/kubernetes/content/114-kubernetes-in-production/102-monitoring-and-managing-cluster-performance.md delete mode 100644 src/roadmaps/kubernetes/content/114-kubernetes-in-production/103-upgrading-cluster-and-applications.md delete mode 100644 src/roadmaps/kubernetes/content/114-kubernetes-in-production/index.md diff --git a/public/jsons/roadmaps/kubernetes.json b/public/jsons/roadmaps/kubernetes.json index 24e75acfa..ca46236d2 100644 --- a/public/jsons/roadmaps/kubernetes.json +++ b/public/jsons/roadmaps/kubernetes.json @@ -1,4380 +1 @@ -{ - "mockup": { - "controls": { - "control": [ - { - "ID": "16551", - "typeID": "Arrow", - "zOrder": "43", - "w": "251", - "h": "124", - "measuredW": "150", - "measuredH": "100", - "x": "582", - "y": "366", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { "x": 250.9819203652737, "y": -0.2642105923081317 }, - "p1": { "x": 0.46985037947985014, "y": 0.07873961161529373 }, - "p2": { "x": -0.18181818181824383, "y": 124.15151515151513 } - } - }, - { - "ID": "16552", - "typeID": "Arrow", - "zOrder": "44", - "w": "163", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "882", - "y": "357", - "properties": { - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.49999999999999994, "y": 0 }, - "p2": { "x": 162.95939830769112, "y": 0 }, - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263" - } - }, - { - "ID": "16553", - "typeID": "Arrow", - "zOrder": "45", - "w": "119", - "h": "20", - "measuredW": "150", - "measuredH": "100", - "x": "614", - "y": "330", - "properties": { - "p0": { "x": 0.0764510184608298, "y": -0.09138996285753365 }, - "p1": { "x": 0.4703270513601983, "y": -0.06962106433480872 }, - "p2": { "x": 118.96437795582324, "y": 19.314998862856726 }, - "curvature": "0", - "color": "10027263", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted" - } - }, - { - "ID": "16554", - "typeID": "Arrow", - "zOrder": "46", - "w": "145", - "h": "24", - "measuredW": "150", - "measuredH": "100", - "x": "608", - "y": "361", - "properties": { - "curvature": "0", - "color": "10027263", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { "x": 0.10525445670259614, "y": 24.142178233406128 }, - "p1": { "x": 0.4814350899167937, "y": 0.05627628164981654 }, - "p2": { "x": 144.9067710793397, "y": 0.7645928459336346 } - } - }, - { - "ID": "16555", - "typeID": "Arrow", - "zOrder": "47", - "w": "46", - "h": "112", - "measuredW": "150", - "measuredH": "100", - "x": "837", - "y": "242", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { "x": 42.258693718900076, "y": -0.1665392487915085 }, - "p1": { "x": 0.4617576593953421, "y": 0.15740493867575214 }, - "p2": { "x": 0.4603177865924408, "y": 111.7933962841754 } - } - }, - { - "ID": "16558", - "typeID": "Label", - "zOrder": "50", - "measuredW": "147", - "measuredH": "36", - "x": "792", - "y": "185", - "properties": { "size": "28", "text": "Kubernetes" } - }, - { - "ID": "16559", - "typeID": "Canvas", - "zOrder": "51", - "w": "350", - "h": "141", - "measuredW": "100", - "measuredH": "70", - "x": "1110", - "y": "102" - }, - { - "ID": "16560", - "typeID": "Label", - "zOrder": "52", - "measuredW": "314", - "measuredH": "25", - "x": "1124", - "y": "119", - "properties": { "size": "17", "text": "Find the detailed version of this roadmap" } - }, - { - "ID": "16561", - "typeID": "Label", - "zOrder": "53", - "measuredW": "319", - "measuredH": "25", - "x": "1124", - "y": "147", - "properties": { "size": "17", "text": "along with resources and other roadmaps" } - }, - { - "ID": "16562", - "typeID": "__group__", - "zOrder": "54", - "measuredW": "320", - "measuredH": "45", - "w": "320", - "h": "45", - "x": "1125", - "y": "183", - "properties": { "controlName": "ext_link:roadmap.sh" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "320", - "h": "45", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { "borderColor": "4273622", "color": "4273622" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "105", - "measuredH": "28", - "x": "141", - "y": "8", - "properties": { "color": "16777215", "size": "20", "text": "roadmap.sh" } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "45", - "measuredH": "28", - "x": "66", - "y": "8", - "properties": { "color": "16777215", "size": "20", "text": "https" } - }, - { - "ID": "3", - "typeID": "Label", - "zOrder": "3", - "measuredW": "5", - "measuredH": "28", - "x": "113", - "y": "8", - "properties": { "color": "16777215", "size": "20", "text": ":" } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "4", - "measuredW": "10", - "measuredH": "28", - "x": "120", - "y": "9", - "properties": { "color": "16777215", "size": "20", "text": "/" } - }, - { - "ID": "5", - "typeID": "Label", - "zOrder": "5", - "measuredW": "10", - "measuredH": "28", - "x": "128", - "y": "9", - "properties": { "color": "16777215", "size": "20", "text": "/" } - } - ] - } - } - }, - { - "ID": "16563", - "typeID": "Arrow", - "zOrder": "55", - "w": "11", - "h": "65", - "measuredW": "150", - "measuredH": "100", - "x": "837", - "y": "109", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { "x": 5.81355254908226, "y": -0.3048709282632984 }, - "p1": { "x": 0.4747832595422888, "y": -0.12123341254486592 }, - "p2": { "x": 11, "y": 65 } - } - }, - { - "ID": "16721", - "typeID": "Canvas", - "zOrder": "59", - "w": "398", - "h": "159", - "measuredW": "100", - "measuredH": "70", - "x": "262", - "y": "95" - }, - { - "ID": "16722", - "typeID": "__group__", - "zOrder": "60", - "measuredW": "183", - "measuredH": "27", - "w": "183", - "h": "27", - "x": "289", - "y": "167", - "properties": { "controlName": "ext_link:github.com/donnemartin/devops" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Label", - "zOrder": "0", - "measuredW": "150", - "measuredH": "26", - "x": "33", - "y": "0", - "properties": { "size": "18", "text": "DevOps Roadmap" } - }, - { - "ID": "1", - "typeID": "__group__", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "3", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { "color": "16777215", "icon": { "ID": "circle", "size": "small" } } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { "color": "10066329", "icon": { "ID": "check-circle", "size": "small" } } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "16723", - "typeID": "__group__", - "zOrder": "61", - "measuredW": "238", - "measuredH": "27", - "w": "238", - "h": "27", - "x": "289", - "y": "203", - "properties": { "controlName": "ext_link:roadmap.sh/system-design" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Label", - "zOrder": "0", - "measuredW": "205", - "measuredH": "26", - "x": "33", - "y": "0", - "properties": { "size": "18", "text": "System Design Roadmap" } - }, - { - "ID": "1", - "typeID": "__group__", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "3", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { "color": "16777215", "icon": { "ID": "circle", "size": "small" } } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { "color": "10066329", "icon": { "ID": "check-circle", "size": "small" } } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "16724", - "typeID": "Label", - "zOrder": "62", - "measuredW": "209", - "measuredH": "32", - "x": "289", - "y": "119", - "properties": { "size": "24", "text": "Related Roadmaps" } - }, - { - "ID": "16848", - "typeID": "Arrow", - "zOrder": "41", - "w": "1", - "h": "78", - "measuredW": "150", - "measuredH": "100", - "x": "460", - "y": "501", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.49999999999999994, "y": 0 }, - "p2": { "x": 0, "y": 77.69696969696969 } - } - }, - { - "ID": "16858", - "typeID": "Arrow", - "zOrder": "40", - "w": "119", - "h": "64", - "measuredW": "150", - "measuredH": "100", - "x": "973", - "y": "422", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": -0.33333333333337123, "y": 64 }, - "p1": { "x": 0.4683294842186294, "y": -0.0843110084680532 }, - "p2": { "x": 119, "y": 0 } - } - }, - { - "ID": "16859", - "typeID": "Arrow", - "zOrder": "39", - "w": "121", - "h": "23", - "measuredW": "150", - "measuredH": "100", - "x": "973", - "y": "470", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0.33333333333337123, "y": 22.666666666666686 }, - "p1": { "x": 0.49193894855850734, "y": -0.054087054833238946 }, - "p2": { "x": 121.66666666666674, "y": 0 } - } - }, - { - "ID": "16860", - "typeID": "Arrow", - "zOrder": "38", - "w": "124", - "h": "69", - "measuredW": "150", - "measuredH": "100", - "x": "972", - "y": "515", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0, "y": 0.33333333333337123 }, - "p1": { "x": 0.4769230769230774, "y": 0.10384615384615405 }, - "p2": { "x": 124, "y": 69.66666666666663 } - } - }, - { - "ID": "16861", - "typeID": "Arrow", - "zOrder": "37", - "w": "128", - "h": "24", - "measuredW": "150", - "measuredH": "100", - "x": "968", - "y": "505", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0, "y": 1 }, - "p1": { "x": 0.4911471358380652, "y": 0.061219806407955525 }, - "p2": { "x": 128, "y": 24.66666666666663 } - } - }, - { - "ID": "16862", - "typeID": "Arrow", - "zOrder": "36", - "w": "1", - "h": "404", - "measuredW": "150", - "measuredH": "100", - "x": "856", - "y": "512", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": 0, "y": -0.43840128920419374 }, - "p1": { "x": 0.5, "y": 0 }, - "p2": { "x": 0, "y": 404.04241115621176 } - } - }, - { - "ID": "16869", - "typeID": "Arrow", - "zOrder": "35", - "w": "163", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "592", - "y": "501", - "properties": { - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.49999999999999994, "y": 0 }, - "p2": { "x": 162.95939830769112, "y": 0 }, - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263" - } - }, - { - "ID": "16878", - "typeID": "Arrow", - "zOrder": "34", - "w": "163", - "h": "2", - "measuredW": "150", - "measuredH": "100", - "x": "958", - "y": "666", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.4999999999999999, "y": 0 }, - "p2": { "x": 162.9828304689379, "y": 1.8423326161033629 } - } - }, - { - "ID": "16879", - "typeID": "Arrow", - "zOrder": "33", - "w": "171", - "h": "140", - "measuredW": "150", - "measuredH": "100", - "x": "949", - "y": "691", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0.052948495174291565, "y": 0.22479656453515418 }, - "p1": { "x": 0.5334367726920093, "y": 0.11621411947245915 }, - "p2": { "x": 170.60739141314775, "y": 140.51958025512613 } - } - }, - { - "ID": "16880", - "typeID": "Arrow", - "zOrder": "31", - "w": "148", - "h": "89", - "measuredW": "150", - "measuredH": "100", - "x": "970", - "y": "686", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": -0.31546566797408104, "y": -0.2769596586252874 }, - "p1": { "x": 0.5537070162735024, "y": 0.09992567117734508 }, - "p2": { "x": 147.60739141314775, "y": 88.51958025512613 } - } - }, - { - "ID": "16881", - "typeID": "Arrow", - "zOrder": "32", - "w": "153", - "h": "51", - "measuredW": "150", - "measuredH": "100", - "x": "967", - "y": "677", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": -0.06634377955424497, "y": 0.47040600663410714 }, - "p1": { "x": 0.556503084485988, "y": 0.08697758851119042 }, - "p2": { "x": 152.60739141314775, "y": 51.51958025512613 } - } - }, - { - "ID": "16890", - "typeID": "Arrow", - "zOrder": "25", - "w": "170", - "h": "41", - "measuredW": "150", - "measuredH": "100", - "x": "597", - "y": "870", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": -0.030303030303002743, "y": 0.24242424242424931 }, - "p1": { "x": 0.46717831146841055, "y": -0.07931106891015492 }, - "p2": { "x": 169.66666666666663, "y": 41.15151515151513 } - } - }, - { - "ID": "16893", - "typeID": "Arrow", - "zOrder": "30", - "w": "202", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "962", - "y": "920", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.49999999999999994, "y": 0 }, - "p2": { "x": 201.62144119843106, "y": 0 } - } - }, - { - "ID": "16896", - "typeID": "Arrow", - "zOrder": "29", - "w": "1", - "h": "70", - "measuredW": "150", - "measuredH": "100", - "x": "1276", - "y": "919", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.4999999999999999, "y": 0 }, - "p2": { "x": 0, "y": 70.33333333333337 } - } - }, - { - "ID": "16903", - "typeID": "Arrow", - "zOrder": "28", - "w": "1", - "h": "257", - "measuredW": "150", - "measuredH": "100", - "x": "1132", - "y": "925", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.5, "y": 0 }, - "p2": { "x": 0, "y": 256.81818181818176 } - } - }, - { - "ID": "16904", - "typeID": "Arrow", - "zOrder": "85", - "w": "202", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "930", - "y": "1183", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.49999999999999994, "y": 0 }, - "p2": { "x": 201.62144119843106, "y": 0 } - } - }, - { - "ID": "16915", - "typeID": "Arrow", - "zOrder": "27", - "w": "1", - "h": "79", - "measuredW": "150", - "measuredH": "100", - "x": "1276", - "y": "1182", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.49999999999999994, "y": 0 }, - "p2": { "x": 0, "y": 78.75757575757575 } - } - }, - { - "ID": "16922", - "typeID": "Arrow", - "zOrder": "26", - "w": "160", - "h": "42", - "measuredW": "150", - "measuredH": "100", - "x": "595", - "y": "933", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0.4545454545453822, "y": 41.78787878787875 }, - "p1": { "x": 0.44728539933583694, "y": 0.07675206443923568 }, - "p2": { "x": 160.7441150192999, "y": -0.0979557964419655 } - } - }, - { - "ID": "16923", - "typeID": "Arrow", - "zOrder": "24", - "w": "187", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "588", - "y": "922", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0, "y": 1 }, - "p1": { "x": 0.4999999999999999, "y": -4.074847292650059e-19 }, - "p2": { "x": 186.7441150192999, "y": -0.0979557964419655 } - } - }, - { - "ID": "16928", - "typeID": "Arrow", - "zOrder": "23", - "w": "3", - "h": "191", - "measuredW": "150", - "measuredH": "100", - "x": "860", - "y": "1089", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.5, "y": 0 }, - "p2": { "x": 3.212121212121133, "y": 190.5454545454545 } - } - }, - { - "ID": "16929", - "typeID": "Arrow", - "zOrder": "22", - "w": "245", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "517", - "y": "1183", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": -0.33333333333337123, "y": 0 }, - "p1": { "x": 0.49999999999999994, "y": 0 }, - "p2": { "x": 244.62144119843106, "y": 0 } - } - }, - { - "ID": "16936", - "typeID": "Arrow", - "zOrder": "21", - "w": "1", - "h": "163", - "measuredW": "150", - "measuredH": "100", - "x": "433", - "y": "1092", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.5, "y": 0 }, - "p2": { "x": 0, "y": 163.30303030303025 } - } - }, - { - "ID": "16941", - "typeID": "Arrow", - "zOrder": "20", - "w": "1", - "h": "245", - "measuredW": "150", - "measuredH": "100", - "x": "595", - "y": "1185", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": -0.33333333333337123, "y": 0 }, - "p1": { "x": 0.49999999999999994, "y": 1.4760272784360275e-20 }, - "p2": { "x": -0.3030303030303685, "y": 245.30303030303025 } - } - }, - { - "ID": "16952", - "typeID": "Arrow", - "zOrder": "19", - "w": "1", - "h": "119", - "measuredW": "150", - "measuredH": "100", - "x": "433", - "y": "1430", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.5, "y": 0 }, - "p2": { "x": 0, "y": 119.39393939393926 } - } - }, - { - "ID": "16953", - "typeID": "Arrow", - "zOrder": "18", - "w": "245", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "595", - "y": "1432", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": -0.33333333333337123, "y": 0 }, - "p1": { "x": 0.49999999999999994, "y": 0 }, - "p2": { "x": 244.62144119843106, "y": 0 } - } - }, - { - "ID": "16954", - "typeID": "Arrow", - "zOrder": "104", - "w": "1", - "h": "211", - "measuredW": "150", - "measuredH": "100", - "x": "840", - "y": "1433", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": -0.33333333333337123, "y": 0 }, - "p1": { "x": 0.4999999999999999, "y": 0 }, - "p2": { "x": -0.33333333333337123, "y": 210.93939393939377 } - } - }, - { - "ID": "16963", - "typeID": "Arrow", - "zOrder": "17", - "w": "202", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "939", - "y": "1513", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.49999999999999994, "y": 0 }, - "p2": { "x": 201.62144119843106, "y": 0 }, - "stroke": "dotted" - } - }, - { - "ID": "16964", - "typeID": "Arrow", - "zOrder": "16", - "w": "174", - "h": "48", - "measuredW": "150", - "measuredH": "100", - "x": "963", - "y": "1455", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "stroke": "dotted", - "p0": { "x": -0.12121212121212466, "y": 48.030303030303 }, - "p1": { "x": 0.5125271948908697, "y": -0.06435539336093715 }, - "p2": { "x": 174.121212121212, "y": -0.4545454545454959 } - } - }, - { - "ID": "16966", - "typeID": "Arrow", - "zOrder": "15", - "w": "171", - "h": "35", - "measuredW": "150", - "measuredH": "100", - "x": "964", - "y": "1526", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "stroke": "dotted", - "p0": { "x": 0.3939393939393767, "y": -0.24242424242424931 }, - "p1": { "x": 0.5086514295478874, "y": 0.05048573363607376 }, - "p2": { "x": 171.6060606060605, "y": 34.60606060606051 } - } - }, - { - "ID": "16969", - "typeID": "Arrow", - "zOrder": "14", - "w": "299", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "840", - "y": "1645", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": -0.36363636363637397, "y": 0 }, - "p1": { "x": 0.4999999999999999, "y": 0 }, - "p2": { "x": 298.62144119843106, "y": 0 } - } - }, - { - "ID": "16978", - "typeID": "Arrow", - "zOrder": "13", - "w": "1", - "h": "90", - "measuredW": "150", - "measuredH": "100", - "x": "1284", - "y": "1659", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0, "y": 0.48484848484849863 }, - "p1": { "x": 0.5, "y": 0 }, - "p2": { "x": 0, "y": 90.75757575757575 } - } - }, - { - "ID": "16979", - "typeID": "Arrow", - "zOrder": "12", - "w": "299", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "840", - "y": "1664", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": -0.36363636363637397, "y": 0 }, - "p1": { "x": 0.4999999999999999, "y": 0 }, - "p2": { "x": 298.62144119843106, "y": 0 } - } - }, - { - "ID": "16980", - "typeID": "Arrow", - "zOrder": "114", - "w": "1", - "h": "299", - "measuredW": "150", - "measuredH": "100", - "x": "840", - "y": "1665", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": -0.33333333333337123, "y": 0 }, - "p1": { "x": 0.49999999999999983, "y": 0 }, - "p2": { "x": -0.33333333333337123, "y": 298.6363636363635 } - } - }, - { - "ID": "16993", - "typeID": "Arrow", - "zOrder": "11", - "w": "205", - "h": "7", - "measuredW": "150", - "measuredH": "100", - "x": "553", - "y": "1782", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": 0.030303030303002743, "y": 6.636363636363512 }, - "p1": { "x": 0.4999999999999999, "y": 2.713187686711552e-18 }, - "p2": { "x": 204.62144119843106, "y": 0 }, - "stroke": "dotted" - } - }, - { - "ID": "16994", - "typeID": "Arrow", - "zOrder": "10", - "w": "198", - "h": "194", - "measuredW": "150", - "measuredH": "100", - "x": "582", - "y": "1802", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "stroke": "dotted", - "p0": { "x": -0.18181818181824383, "y": 194.21212121212102 }, - "p1": { "x": 0.5197445926205173, "y": 0.08121671928749798 }, - "p2": { "x": 198.30303030303025, "y": 0.27272727272725206 } - } - }, - { - "ID": "16995", - "typeID": "Arrow", - "zOrder": "9", - "w": "176", - "h": "131", - "measuredW": "150", - "measuredH": "100", - "x": "582", - "y": "1807", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "stroke": "dotted", - "p0": { "x": -0.18181818181824383, "y": 131.21212121212102 }, - "p1": { "x": 0.5197445926205174, "y": 0.08121671928749793 }, - "p2": { "x": 175.5757575757575, "y": -0.18181818181824383 } - } - }, - { - "ID": "16996", - "typeID": "Arrow", - "zOrder": "8", - "w": "167", - "h": "87", - "measuredW": "150", - "measuredH": "100", - "x": "582", - "y": "1801", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "stroke": "dotted", - "p0": { "x": -0.18181818181824383, "y": 87.21212121212102 }, - "p1": { "x": 0.5197445926205175, "y": 0.08121671928749788 }, - "p2": { "x": 166.4848484848485, "y": -0.24242424242424931 } - } - }, - { - "ID": "16997", - "typeID": "Arrow", - "zOrder": "7", - "w": "174", - "h": "46", - "measuredW": "150", - "measuredH": "100", - "x": "582", - "y": "1794", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "stroke": "dotted", - "p0": { "x": -0.18181818181824383, "y": 46.21212121212102 }, - "p1": { "x": 0.5197445926205174, "y": 0.08121671928749785 }, - "p2": { "x": 174.060606060606, "y": 0.6969696969695178 } - } - }, - { - "ID": "17002", - "typeID": "Arrow", - "zOrder": "1", - "w": "299", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "840", - "y": "1965", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": -0.36363636363637397, "y": 0 }, - "p1": { "x": 0.4999999999999999, "y": 0 }, - "p2": { "x": 298.62144119843106, "y": 0 } - } - }, - { - "ID": "17011", - "typeID": "Arrow", - "zOrder": "6", - "w": "1", - "h": "90", - "measuredW": "150", - "measuredH": "100", - "x": "1283", - "y": "1960", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0, "y": 0.48484848484849863 }, - "p1": { "x": 0.5, "y": 0 }, - "p2": { "x": 0, "y": 90.75757575757575 } - } - }, - { - "ID": "17012", - "typeID": "Arrow", - "zOrder": "0", - "w": "299", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "840", - "y": "1982", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": -0.36363636363637397, "y": 0 }, - "p1": { "x": 0.4999999999999999, "y": 0 }, - "p2": { "x": 298.62144119843106, "y": 0 } - } - }, - { - "ID": "17013", - "typeID": "Arrow", - "zOrder": "127", - "w": "1", - "h": "521", - "measuredW": "150", - "measuredH": "100", - "x": "840", - "y": "1984", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { "x": -0.33333333333337123, "y": 0 }, - "p1": { "x": 0.4999999999999998, "y": 0 }, - "p2": { "x": -0.33333333333337123, "y": 520.6666666666665 } - } - }, - { - "ID": "17024", - "typeID": "Arrow", - "zOrder": "5", - "w": "149", - "h": "3", - "measuredW": "150", - "measuredH": "100", - "x": "623", - "y": "2277", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "stroke": "dotted", - "p0": { "x": -0.33333333333337123, "y": 0 }, - "p1": { "x": 0.49999999999999983, "y": 2.5481688802362523e-18 }, - "p2": { "x": 149, "y": 2.666666666666515 } - } - }, - { - "ID": "17025", - "typeID": "Arrow", - "zOrder": "4", - "w": "143", - "h": "133", - "measuredW": "150", - "measuredH": "100", - "x": "643", - "y": "2131", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "stroke": "dotted", - "p0": { "x": -0.33333333333337123, "y": -0.3333333333334849 }, - "p1": { "x": 0.4993418969309351, "y": -0.07823132915278162 }, - "p2": { "x": 143, "y": 132.33333333333348 } - } - }, - { - "ID": "17026", - "typeID": "Arrow", - "zOrder": "3", - "w": "125", - "h": "92", - "measuredW": "150", - "measuredH": "100", - "x": "636", - "y": "2172", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "stroke": "dotted", - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.49934189693093495, "y": -0.07823132915278168 }, - "p2": { "x": 125.33333333333337, "y": 92 } - } - }, - { - "ID": "17027", - "typeID": "Arrow", - "zOrder": "2", - "w": "117", - "h": "41", - "measuredW": "150", - "measuredH": "100", - "x": "641", - "y": "2227", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "stroke": "dotted", - "p0": { "x": 0.33333333333337123, "y": -0.3333333333334849 }, - "p1": { "x": 0.49934189693093545, "y": -0.07823132915278307 }, - "p2": { "x": 117.66666666666663, "y": 41 } - } - }, - { - "ID": "17028", - "typeID": "Arrow", - "zOrder": "133", - "w": "1", - "h": "81", - "measuredW": "150", - "measuredH": "100", - "x": "839", - "y": "2534", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { "x": 0, "y": 0 }, - "p1": { "x": 0.49999999999999994, "y": 0 }, - "p2": { "x": 0, "y": 81.09090909090901 } - } - }, - { - "ID": "17029", - "typeID": "TextArea", - "zOrder": "134", - "w": "438", - "h": "118", - "measuredW": "200", - "measuredH": "140", - "x": "620", - "y": "2448" - }, - { - "ID": "17030", - "typeID": "Label", - "zOrder": "135", - "measuredW": "366", - "measuredH": "25", - "x": "657", - "y": "2467", - "properties": { "size": "17", "text": "Continue Learning with following relevant tracks" } - }, - { - "ID": "17031", - "typeID": "__group__", - "zOrder": "136", - "measuredW": "198", - "measuredH": "44", - "w": "198", - "h": "44", - "x": "844", - "y": "2504", - "properties": { "controlName": "ext_link:roadmap.sh/backend" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "198", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "147", - "measuredH": "25", - "x": "25", - "y": "9", - "properties": { "size": "17", "text": "Backend Roadmap" } - } - ] - } - } - }, - { - "ID": "17032", - "typeID": "__group__", - "zOrder": "137", - "measuredW": "198", - "measuredH": "44", - "w": "198", - "h": "44", - "x": "636", - "y": "2504", - "properties": { "controlName": "ext_link:roadmap.sh/devops" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "198", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "141", - "measuredH": "25", - "x": "28", - "y": "9", - "properties": { "size": "17", "text": "DevOps Roadmap" } - } - ] - } - } - }, - { - "ID": "17033", - "typeID": "__group__", - "zOrder": "56", - "measuredW": "207", - "measuredH": "47", - "w": "207", - "h": "47", - "x": "715", - "y": "333", - "properties": { "controlName": "100-kubernetes-introduction" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "207", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "93", - "measuredH": "25", - "x": "57", - "y": "11", - "properties": { "size": "17", "text": "Introduction" } - } - ] - } - } - }, - { - "ID": "17034", - "typeID": "__group__", - "zOrder": "49", - "measuredW": "316", - "measuredH": "44", - "w": "316", - "h": "44", - "x": "302", - "y": "311", - "properties": { "controlName": "100-kubernetes-introduction:what-is-kubernetes" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "316", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "184", - "measuredH": "25", - "x": "66", - "y": "9", - "properties": { "size": "17", "text": "Overview of Kubernetes" } - } - ] - } - } - }, - { - "ID": "17035", - "typeID": "__group__", - "zOrder": "48", - "measuredW": "316", - "measuredH": "44", - "w": "316", - "h": "44", - "x": "302", - "y": "360", - "properties": { "controlName": "101-kubernetes-introduction:concepts-and-terminologies" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "316", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "251", - "measuredH": "25", - "x": "32", - "y": "9", - "properties": { "size": "17", "text": "Key Concepts and Terminologies" } - } - ] - } - } - }, - { - "ID": "17036", - "typeID": "__group__", - "zOrder": "57", - "measuredW": "377", - "measuredH": "44", - "w": "377", - "h": "44", - "x": "1012", - "y": "335", - "properties": { "controlName": "102-kubernetes-introduction:kubernetes-vs-other-container-orchestration-tools" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "377", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "309", - "measuredH": "25", - "x": "34", - "y": "9", - "properties": { "size": "17", "text": "Kubernetes vs other Orchestration Tools" } - } - ] - } - } - }, - { - "ID": "17037", - "typeID": "__group__", - "zOrder": "58", - "measuredW": "307", - "measuredH": "47", - "w": "307", - "h": "47", - "x": "303", - "y": "468", - "properties": { "controlName": "101-cluster-setup-and-configuration" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "307", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "245", - "measuredH": "25", - "x": "31", - "y": "11", - "properties": { "size": "17", "text": "Cluster Setup and Configuration" } - } - ] - } - } - }, - { - "ID": "17038", - "typeID": "__group__", - "zOrder": "63", - "measuredW": "243", - "measuredH": "47", - "w": "243", - "h": "47", - "x": "740", - "y": "478", - "properties": { "controlName": "102-pods-and-replication" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "243", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "163", - "measuredH": "25", - "x": "40", - "y": "11", - "properties": { "size": "17", "text": "Pods and Replication" } - } - ] - } - } - }, - { - "ID": "17039", - "typeID": "__group__", - "zOrder": "72", - "measuredW": "243", - "measuredH": "47", - "w": "243", - "h": "47", - "x": "740", - "y": "653", - "properties": { "controlName": "103-services-and-networking" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "243", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "192", - "measuredH": "25", - "x": "26", - "y": "11", - "properties": { "size": "17", "text": "Services and Networking" } - } - ] - } - } - }, - { - "ID": "17040", - "typeID": "__group__", - "zOrder": "77", - "measuredW": "243", - "measuredH": "47", - "w": "243", - "h": "47", - "x": "740", - "y": "898", - "properties": { "controlName": "104-configmaps-and-secrets" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "243", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "189", - "measuredH": "25", - "x": "27", - "y": "11", - "properties": { "size": "17", "text": "ConfigMaps and Secrets" } - } - ] - } - } - }, - { - "ID": "17041", - "typeID": "__group__", - "zOrder": "81", - "measuredW": "309", - "measuredH": "47", - "w": "309", - "h": "47", - "x": "1110", - "y": "898", - "properties": { "controlName": "105-storage-and-volumes" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "309", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "163", - "measuredH": "25", - "x": "73", - "y": "11", - "properties": { "size": "17", "text": "Storage and Volumes" } - } - ] - } - } - }, - { - "ID": "17042", - "typeID": "__group__", - "zOrder": "86", - "measuredW": "322", - "measuredH": "47", - "w": "322", - "h": "47", - "x": "1105", - "y": "1160", - "properties": { "controlName": "106-resource-management-and-quotas" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "322", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "275", - "measuredH": "25", - "x": "23", - "y": "11", - "properties": { "size": "17", "text": "Resource Management and Quotas" } - } - ] - } - } - }, - { - "ID": "17044", - "typeID": "__group__", - "zOrder": "95", - "measuredW": "243", - "measuredH": "47", - "w": "243", - "h": "47", - "x": "376", - "y": "1160", - "properties": { "controlName": "108-monitoring-and-logging" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "243", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "183", - "measuredH": "25", - "x": "30", - "y": "11", - "properties": { "size": "17", "text": "Monitoring and Logging" } - } - ] - } - } - }, - { - "ID": "17045", - "typeID": "__group__", - "zOrder": "99", - "measuredW": "270", - "measuredH": "47", - "w": "270", - "h": "47", - "x": "349", - "y": "1407", - "properties": { "controlName": "109-scheduling-and-management" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "270", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "209", - "measuredH": "25", - "x": "30", - "y": "11", - "properties": { "size": "17", "text": "Scheduling & Management" } - } - ] - } - } - }, - { - "ID": "17046", - "typeID": "__group__", - "zOrder": "105", - "measuredW": "243", - "measuredH": "47", - "w": "243", - "h": "47", - "x": "735", - "y": "1489", - "properties": { "controlName": "110-stateful-applications" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "243", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "157", - "measuredH": "25", - "x": "43", - "y": "11", - "properties": { "size": "17", "text": "Stateful Applications" } - } - ] - } - } - }, - { - "ID": "17047", - "typeID": "__group__", - "zOrder": "109", - "measuredW": "243", - "measuredH": "47", - "w": "243", - "h": "47", - "x": "1123", - "y": "1631", - "properties": { "controlName": "111-deployment-patterns" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "243", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "161", - "measuredH": "25", - "x": "43", - "y": "11", - "properties": { "size": "17", "text": "Deployment Patterns" } - } - ] - } - } - }, - { - "ID": "17048", - "typeID": "__group__", - "zOrder": "115", - "measuredW": "243", - "measuredH": "47", - "w": "243", - "h": "47", - "x": "735", - "y": "1766", - "properties": { "controlName": "112-advanced-topics" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "243", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "130", - "measuredH": "25", - "x": "57", - "y": "11", - "properties": { "size": "17", "text": "Advanced Topics" } - } - ] - } - } - }, - { - "ID": "17049", - "typeID": "__group__", - "zOrder": "121", - "measuredW": "243", - "measuredH": "47", - "w": "243", - "h": "47", - "x": "1124", - "y": "1949", - "properties": { "controlName": "113-kubernetes-best-practices" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "243", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "206", - "measuredH": "25", - "x": "19", - "y": "11", - "properties": { "size": "17", "text": "Kubernetes Best Practices" } - } - ] - } - } - }, - { - "ID": "17050", - "typeID": "__group__", - "zOrder": "128", - "measuredW": "243", - "measuredH": "47", - "w": "243", - "h": "47", - "x": "735", - "y": "2252", - "properties": { "controlName": "114-kubernetes-in-production" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "243", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "195", - "measuredH": "25", - "x": "24", - "y": "11", - "properties": { "size": "17", "text": "Kubernetes in Production" } - } - ] - } - } - }, - { - "ID": "17052", - "typeID": "__group__", - "zOrder": "64", - "measuredW": "305", - "measuredH": "44", - "w": "305", - "h": "44", - "x": "302", - "y": "558", - "properties": { "controlName": "100-cluster-setup-and-configuration:setting-up-a-cluster" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "305", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "152", - "measuredH": "25", - "x": "77", - "y": "9", - "properties": { "size": "17", "text": "Setting up a Cluster" } - } - ] - } - } - }, - { - "ID": "17053", - "typeID": "__group__", - "zOrder": "65", - "measuredW": "305", - "measuredH": "44", - "w": "305", - "h": "44", - "x": "302", - "y": "606", - "properties": { "controlName": "101-cluster-setup-and-configuration:configuring-nodes" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "305", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "259", - "measuredH": "25", - "x": "23", - "y": "9", - "properties": { "size": "17", "text": "Configuring and Managing Nodes" } - } - ] - } - } - }, - { - "ID": "17054", - "typeID": "__group__", - "zOrder": "66", - "measuredW": "305", - "measuredH": "44", - "w": "305", - "h": "44", - "x": "302", - "y": "654", - "properties": { "controlName": "102-cluster-setup-and-configuration:cluster-networking" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "305", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "179", - "measuredH": "25", - "x": "63", - "y": "9", - "properties": { "size": "17", "text": "Networking in a Cluster" } - } - ] - } - } - }, - { - "ID": "17055", - "typeID": "__group__", - "zOrder": "42", - "measuredW": "305", - "measuredH": "44", - "w": "305", - "h": "44", - "x": "302", - "y": "702", - "properties": { "controlName": "103-cluster-setup-and-configuration:cluster-federation" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "305", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "144", - "measuredH": "25", - "x": "81", - "y": "10", - "properties": { "size": "17", "text": "Cluster Federation" } - } - ] - } - } - }, - { - "ID": "17056", - "typeID": "__group__", - "zOrder": "67", - "measuredW": "305", - "measuredH": "44", - "w": "305", - "h": "44", - "x": "302", - "y": "749", - "properties": { "controlName": "104-cluster-setup-and-configuration:multi-cluster-management" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "305", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "203", - "measuredH": "25", - "x": "51", - "y": "10", - "properties": { "size": "17", "text": "Multi-cluster Management" } - } - ] - } - } - }, - { - "ID": "17057", - "typeID": "__group__", - "zOrder": "68", - "measuredW": "359", - "measuredH": "44", - "w": "359", - "h": "44", - "x": "1084", - "y": "406", - "properties": { "controlName": "103-pods-and-replication:pods-and-their-role" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "359", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "263", - "measuredH": "25", - "x": "48", - "y": "9", - "properties": { "size": "17", "text": "Pods and their Role in Kubernetes" } - } - ] - } - } - }, - { - "ID": "17058", - "typeID": "__group__", - "zOrder": "69", - "measuredW": "359", - "measuredH": "44", - "w": "359", - "h": "44", - "x": "1084", - "y": "455", - "properties": { "controlName": "104-pods-and-replication:creating-and-managing-pods" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "359", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "224", - "measuredH": "25", - "x": "68", - "y": "9", - "properties": { "size": "17", "text": "Creating and Managing Pods" } - } - ] - } - } - }, - { - "ID": "17059", - "typeID": "__group__", - "zOrder": "70", - "measuredW": "359", - "measuredH": "44", - "w": "359", - "h": "44", - "x": "1084", - "y": "504", - "properties": { "controlName": "105-pods-and-replication:replication-and-scaling" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "359", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "181", - "measuredH": "25", - "x": "89", - "y": "9", - "properties": { "size": "17", "text": "Replication and Scaling" } - } - ] - } - } - }, - { - "ID": "17060", - "typeID": "__group__", - "zOrder": "71", - "measuredW": "359", - "measuredH": "44", - "w": "359", - "h": "44", - "x": "1084", - "y": "553", - "properties": { "controlName": "106-pods-and-replication:deployment-strategies" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "359", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "318", - "measuredH": "25", - "x": "21", - "y": "9", - "properties": { "size": "17", "text": "Deployment Strategies & Rolling Updates" } - } - ] - } - } - }, - { - "ID": "17061", - "typeID": "__group__", - "zOrder": "73", - "measuredW": "333", - "measuredH": "44", - "w": "333", - "h": "44", - "x": "1110", - "y": "653", - "properties": { "controlName": "100-services-and-networking:networking-pods-and-communication" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "333", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "270", - "measuredH": "25", - "x": "32", - "y": "9", - "properties": { "size": "17", "text": "Networking & Pods Communication" } - } - ] - } - } - }, - { - "ID": "17062", - "typeID": "__group__", - "zOrder": "74", - "measuredW": "333", - "measuredH": "44", - "w": "333", - "h": "44", - "x": "1110", - "y": "702", - "properties": { "controlName": "101-services-and-networking:understanding-and-using-services" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "333", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "263", - "measuredH": "25", - "x": "35", - "y": "9", - "properties": { "size": "17", "text": "Understanding and using services" } - } - ] - } - } - }, - { - "ID": "17063", - "typeID": "__group__", - "zOrder": "75", - "measuredW": "333", - "measuredH": "44", - "w": "333", - "h": "44", - "x": "1110", - "y": "751", - "properties": { "controlName": "102-services-and-networking:network-load-balancing-with-services" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "333", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "284", - "measuredH": "25", - "x": "25", - "y": "9", - "properties": { "size": "17", "text": "Network load balancing with services" } - } - ] - } - } - }, - { - "ID": "17064", - "typeID": "__group__", - "zOrder": "76", - "measuredW": "333", - "measuredH": "44", - "w": "333", - "h": "44", - "x": "1110", - "y": "800", - "properties": { "controlName": "103-services-and-networking:external-access-to-services" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "333", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "211", - "measuredH": "25", - "x": "61", - "y": "9", - "properties": { "size": "17", "text": "External access to services" } - } - ] - } - } - }, - { - "ID": "17065", - "typeID": "__group__", - "zOrder": "78", - "measuredW": "305", - "measuredH": "44", - "w": "305", - "h": "44", - "x": "302", - "y": "849", - "properties": { "controlName": "100-configmaps-and-secrets:config-management-and-config-maps" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "305", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "269", - "measuredH": "25", - "x": "18", - "y": "9", - "properties": { "size": "17", "text": "Config Management & ConfigMaps" } - } - ] - } - } - }, - { - "ID": "17066", - "typeID": "__group__", - "zOrder": "79", - "measuredW": "305", - "measuredH": "44", - "w": "305", - "h": "44", - "x": "302", - "y": "898", - "properties": { "controlName": "101-configmaps-and-secrets:using-secrets" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "305", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "247", - "measuredH": "25", - "x": "29", - "y": "9", - "properties": { "size": "17", "text": "Using Secrets for Sensitive Data" } - } - ] - } - } - }, - { - "ID": "17067", - "typeID": "__group__", - "zOrder": "80", - "measuredW": "305", - "measuredH": "44", - "w": "305", - "h": "44", - "x": "302", - "y": "947", - "properties": { "controlName": "102-configmaps-and-secrets:usage-in-pods-and-controllers" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "305", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "234", - "measuredH": "25", - "x": "36", - "y": "9", - "properties": { "size": "17", "text": "Usage in Pods and Controllers" } - } - ] - } - } - }, - { - "ID": "17068", - "typeID": "__group__", - "zOrder": "82", - "measuredW": "290", - "measuredH": "44", - "w": "290", - "h": "44", - "x": "1173", - "y": "983", - "properties": { "controlName": "100-storage-and-volumes:storage-options" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "290", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "237", - "measuredH": "25", - "x": "26", - "y": "9", - "properties": { "size": "17", "text": "Storage Options in Kubernetes" } - } - ] - } - } - }, - { - "ID": "17069", - "typeID": "__group__", - "zOrder": "83", - "measuredW": "290", - "measuredH": "44", - "w": "290", - "h": "44", - "x": "1173", - "y": "1032", - "properties": { "controlName": "101-storage-and-volumes:persistent-storage" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "290", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "254", - "measuredH": "25", - "x": "18", - "y": "9", - "properties": { "size": "17", "text": "Persistent Storage in Kubernetes" } - } - ] - } - } - }, - { - "ID": "17070", - "typeID": "__group__", - "zOrder": "84", - "measuredW": "290", - "measuredH": "44", - "w": "290", - "h": "44", - "x": "1173", - "y": "1080", - "properties": { "controlName": "102-storage-and-volumes:volumes" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "290", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "248", - "measuredH": "25", - "x": "21", - "y": "9", - "properties": { "size": "17", "text": "Volumes in Pods and Containers" } - } - ] - } - } - }, - { - "ID": "17071", - "typeID": "__group__", - "zOrder": "87", - "measuredW": "323", - "measuredH": "44", - "w": "323", - "h": "44", - "x": "1139", - "y": "1239", - "properties": { "controlName": "100-resource-management-and-quotas:resource-consumption-and-limits" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "323", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "265", - "measuredH": "25", - "x": "29", - "y": "9", - "properties": { "size": "17", "text": "Resource Consumption and Limits" } - } - ] - } - } - }, - { - "ID": "17072", - "typeID": "__group__", - "zOrder": "88", - "measuredW": "323", - "measuredH": "44", - "w": "323", - "h": "44", - "x": "1139", - "y": "1287", - "properties": { "controlName": "101-resource-management-and-quotas:assigning-namespace-quotas" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "323", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "260", - "measuredH": "25", - "x": "32", - "y": "9", - "properties": { "size": "17", "text": "Assigning Quotas to Namespaces" } - } - ] - } - } - }, - { - "ID": "17073", - "typeID": "__group__", - "zOrder": "89", - "measuredW": "323", - "measuredH": "44", - "w": "323", - "h": "44", - "x": "1139", - "y": "1337", - "properties": { - "controlName": "102-resource-management-and-quotas:resource-usage-and-performance-monitoring" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "323", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "290", - "measuredH": "25", - "x": "17", - "y": "9", - "properties": { "size": "17", "text": "Resource Usage and Perf. Monitoring" } - } - ] - } - } - }, - { - "ID": "17076", - "typeID": "__group__", - "zOrder": "90", - "measuredW": "243", - "measuredH": "47", - "w": "243", - "h": "47", - "x": "740", - "y": "1160", - "properties": { "controlName": "107-kubernetes-security" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "243", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16776960" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "62", - "measuredH": "25", - "x": "91", - "y": "11", - "properties": { "size": "17", "text": "Security" } - } - ] - } - } - }, - { - "ID": "17077", - "typeID": "__group__", - "zOrder": "91", - "measuredW": "308", - "measuredH": "44", - "w": "308", - "h": "44", - "x": "715", - "y": "1027", - "properties": { "controlName": "100-kubernetes-security:securing-a-kubernetes-cluster" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "308", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "233", - "measuredH": "25", - "x": "37", - "y": "9", - "properties": { "size": "17", "text": "Securing a Kubernetes cluster" } - } - ] - } - } - }, - { - "ID": "17078", - "typeID": "__group__", - "zOrder": "92", - "measuredW": "308", - "measuredH": "44", - "w": "308", - "h": "44", - "x": "715", - "y": "1077", - "properties": { "controlName": "101-kubernetes-security:role-based-access-control" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "308", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "269", - "measuredH": "25", - "x": "19", - "y": "9", - "properties": { "size": "17", "text": "Role-based access control (RBAC)" } - } - ] - } - } - }, - { - "ID": "17079", - "typeID": "__group__", - "zOrder": "93", - "measuredW": "270", - "measuredH": "44", - "w": "270", - "h": "44", - "x": "722", - "y": "1242", - "properties": { "controlName": "102-kubernetes-security:cluster-and-network-security" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "270", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "223", - "measuredH": "25", - "x": "23", - "y": "9", - "properties": { "size": "17", "text": "Cluster and Network Security" } - } - ] - } - } - }, - { - "ID": "17081", - "typeID": "__group__", - "zOrder": "94", - "measuredW": "270", - "measuredH": "44", - "w": "270", - "h": "44", - "x": "722", - "y": "1291", - "properties": { "controlName": "103-kubernetes-security:container-and-pod-security" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "270", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "210", - "measuredH": "25", - "x": "30", - "y": "9", - "properties": { "size": "17", "text": "Container and Pod Security" } - } - ] - } - } - }, - { - "ID": "17082", - "typeID": "__group__", - "zOrder": "97", - "measuredW": "301", - "measuredH": "44", - "w": "301", - "h": "44", - "x": "257", - "y": "1028", - "properties": { "controlName": "100-monitoring-and-logging:cluster-and-pod-health-monitoring" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "301", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "265", - "measuredH": "25", - "x": "18", - "y": "10", - "properties": { "size": "17", "text": "Cluster and Pod Health Monitoring" } - } - ] - } - } - }, - { - "ID": "17083", - "typeID": "__group__", - "zOrder": "96", - "measuredW": "301", - "measuredH": "44", - "w": "301", - "h": "44", - "x": "257", - "y": "1076", - "properties": { "controlName": "101-monitoring-and-logging:log-collection-and-analysis" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "301", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "211", - "measuredH": "25", - "x": "45", - "y": "10", - "properties": { "size": "17", "text": "Log Collection and Analysis" } - } - ] - } - } - }, - { - "ID": "17084", - "typeID": "__group__", - "zOrder": "98", - "measuredW": "301", - "measuredH": "77", - "w": "301", - "h": "77", - "x": "257", - "y": "1251", - "properties": { "controlName": "102-monitoring-and-logging:monitoring-tools-setup" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "301", - "h": "77", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "273", - "measuredH": "25", - "x": "14", - "y": "12", - "properties": { "size": "17", "text": "Monitoring Tools Setup / Usage e.g." } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "272", - "measuredH": "25", - "x": "14", - "y": "41", - "properties": { "size": "17", "text": "Prometheus, Fluentd, ElasticSearch" } - } - ] - } - } - }, - { - "ID": "17085", - "typeID": "__group__", - "zOrder": "100", - "measuredW": "336", - "measuredH": "44", - "w": "336", - "h": "44", - "x": "255", - "y": "1526", - "properties": { "controlName": "100-scheduling-and-management:scheduling-pods-on-nodes" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "336", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "207", - "measuredH": "25", - "x": "64", - "y": "10", - "properties": { "size": "17", "text": "Scheduling Pods on Nodes" } - } - ] - } - } - }, - { - "ID": "17086", - "typeID": "__group__", - "zOrder": "101", - "measuredW": "336", - "measuredH": "44", - "w": "336", - "h": "44", - "x": "255", - "y": "1576", - "properties": { "controlName": "101-scheduling-and-management:configuring-taints-and-tolerations" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "336", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "260", - "measuredH": "25", - "x": "38", - "y": "10", - "properties": { "size": "17", "text": "Configuring Taints and Tolerations" } - } - ] - } - } - }, - { - "ID": "17087", - "typeID": "__group__", - "zOrder": "102", - "measuredW": "336", - "measuredH": "44", - "w": "336", - "h": "44", - "x": "255", - "y": "1625", - "properties": { "controlName": "102-scheduling-and-management:automated-scheduling-and-self-healing" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "336", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "300", - "measuredH": "25", - "x": "18", - "y": "10", - "properties": { "size": "17", "text": "Automated scheduling and self-healing" } - } - ] - } - } - }, - { - "ID": "17088", - "typeID": "__group__", - "zOrder": "103", - "measuredW": "336", - "measuredH": "44", - "w": "336", - "h": "44", - "x": "255", - "y": "1674", - "properties": { "controlName": "103-scheduling-and-management:managing-and-upgrading-cluster" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "336", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "279", - "measuredH": "25", - "x": "28", - "y": "10", - "properties": { "size": "17", "text": "Managing and upgrading the cluster" } - } - ] - } - } - }, - { - "ID": "17089", - "typeID": "__group__", - "zOrder": "106", - "measuredW": "351", - "measuredH": "44", - "w": "351", - "h": "44", - "x": "1123", - "y": "1441", - "properties": { "controlName": "100-stateful-applications:stateful-vs-stateless-apps" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "351", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "198", - "measuredH": "25", - "x": "77", - "y": "9", - "properties": { "size": "17", "text": "Stateful vs Stateless Apps" } - } - ] - } - } - }, - { - "ID": "17090", - "typeID": "__group__", - "zOrder": "107", - "measuredW": "351", - "measuredH": "44", - "w": "351", - "h": "44", - "x": "1123", - "y": "1490", - "properties": { "controlName": "101-stateful-applications:statefulset-patterns-and-usecases" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "351", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "268", - "measuredH": "25", - "x": "42", - "y": "9", - "properties": { "size": "17", "text": "StatefulSet Patterns and Usecases" } - } - ] - } - } - }, - { - "ID": "17091", - "typeID": "__group__", - "zOrder": "108", - "measuredW": "351", - "measuredH": "44", - "w": "351", - "h": "44", - "x": "1123", - "y": "1538", - "properties": { "controlName": "102-stateful-applications:persistent-storage-and-network-identity" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "351", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "304", - "measuredH": "25", - "x": "24", - "y": "9", - "properties": { "size": "17", "text": "Persistent Storage and Network identity" } - } - ] - } - } - }, - { - "ID": "17092", - "typeID": "__group__", - "zOrder": "110", - "measuredW": "267", - "measuredH": "44", - "w": "267", - "h": "44", - "x": "1207", - "y": "1726", - "properties": { "controlName": "100-deployment-patterns:blue-green-deployment" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "267", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "187", - "measuredH": "25", - "x": "40", - "y": "9", - "properties": { "size": "17", "text": "Blue-Green Deployment" } - } - ] - } - } - }, - { - "ID": "17093", - "typeID": "__group__", - "zOrder": "111", - "measuredW": "267", - "measuredH": "44", - "w": "267", - "h": "44", - "x": "1207", - "y": "1776", - "properties": { "controlName": "101-deployment-patterns:canary-deployment" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "267", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "151", - "measuredH": "25", - "x": "58", - "y": "9", - "properties": { "size": "17", "text": "Canary Deployment" } - } - ] - } - } - }, - { - "ID": "17094", - "typeID": "__group__", - "zOrder": "112", - "measuredW": "267", - "measuredH": "44", - "w": "267", - "h": "44", - "x": "1207", - "y": "1825", - "properties": { "controlName": "102-deployment-patterns:ab-testing" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "267", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "90", - "measuredH": "25", - "x": "89", - "y": "9", - "properties": { "size": "17", "text": "A/B Testing" } - } - ] - } - } - }, - { - "ID": "17095", - "typeID": "__group__", - "zOrder": "113", - "measuredW": "267", - "measuredH": "44", - "w": "267", - "h": "44", - "x": "1207", - "y": "1874", - "properties": { "controlName": "103-deployment-patterns:rolling-update-and-rollback" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "267", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "219", - "measuredH": "25", - "x": "24", - "y": "9", - "properties": { "size": "17", "text": "Rolling Update and Rollback" } - } - ] - } - } - }, - { - "ID": "17096", - "typeID": "__group__", - "zOrder": "116", - "measuredW": "316", - "measuredH": "44", - "w": "316", - "h": "44", - "x": "276", - "y": "1766", - "properties": { "controlName": "100-advanced-topics:custom-controllers" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "316", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "219", - "measuredH": "25", - "x": "48", - "y": "10", - "properties": { "size": "17", "text": "Creating Custom Controllers" } - } - ] - } - } - }, - { - "ID": "17097", - "typeID": "__group__", - "zOrder": "117", - "measuredW": "316", - "measuredH": "44", - "w": "316", - "h": "44", - "x": "276", - "y": "1816", - "properties": { "controlName": "101-advanced-topics:custom-schedulers-and-extenders" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "316", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "263", - "measuredH": "25", - "x": "26", - "y": "10", - "properties": { "size": "17", "text": "Custom schedulers and extenders" } - } - ] - } - } - }, - { - "ID": "17098", - "typeID": "__group__", - "zOrder": "118", - "measuredW": "316", - "measuredH": "44", - "w": "316", - "h": "44", - "x": "276", - "y": "1866", - "properties": { "controlName": "102-advanced-topics:custom-resource-definitions" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "316", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "277", - "measuredH": "25", - "x": "19", - "y": "10", - "properties": { "size": "17", "text": "Custom resource definitions (CRDs)" } - } - ] - } - } - }, - { - "ID": "17099", - "typeID": "__group__", - "zOrder": "119", - "measuredW": "316", - "measuredH": "44", - "w": "316", - "h": "44", - "x": "276", - "y": "1916", - "properties": { "controlName": "103-advanced-topics:kubernetes-extensions-and-apis" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "316", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "250", - "measuredH": "25", - "x": "33", - "y": "10", - "properties": { "size": "17", "text": "Kubernetes extensions and APIs" } - } - ] - } - } - }, - { - "ID": "17100", - "typeID": "__group__", - "zOrder": "120", - "measuredW": "316", - "measuredH": "44", - "w": "316", - "h": "44", - "x": "276", - "y": "1965", - "properties": { "controlName": "104-advanced-topics:integration-with-ci-cd-pipelines" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "316", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "247", - "measuredH": "25", - "x": "34", - "y": "10", - "properties": { "size": "17", "text": "Integration with CI/CD pipelines" } - } - ] - } - } - }, - { - "ID": "17101", - "typeID": "__group__", - "zOrder": "122", - "measuredW": "286", - "measuredH": "44", - "w": "286", - "h": "44", - "x": "1188", - "y": "2030", - "properties": { "controlName": "100-kubernetes-best-practices:architecture-and-design" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "286", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "186", - "measuredH": "25", - "x": "50", - "y": "10", - "properties": { "size": "17", "text": "Architecture and Design" } - } - ] - } - } - }, - { - "ID": "17102", - "typeID": "__group__", - "zOrder": "123", - "measuredW": "286", - "measuredH": "44", - "w": "286", - "h": "44", - "x": "1188", - "y": "2080", - "properties": { "controlName": "101-kubernetes-best-practices:performance-and-scalability" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "286", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "214", - "measuredH": "25", - "x": "36", - "y": "10", - "properties": { "size": "17", "text": "Performance and Scalability" } - } - ] - } - } - }, - { - "ID": "17103", - "typeID": "__group__", - "zOrder": "124", - "measuredW": "286", - "measuredH": "44", - "w": "286", - "h": "44", - "x": "1188", - "y": "2129", - "properties": { "controlName": "102-kubernetes-best-practices:security-best-practices" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "286", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "175", - "measuredH": "25", - "x": "55", - "y": "10", - "properties": { "size": "17", "text": "Security best practices" } - } - ] - } - } - }, - { - "ID": "17104", - "typeID": "__group__", - "zOrder": "125", - "measuredW": "286", - "measuredH": "44", - "w": "286", - "h": "44", - "x": "1188", - "y": "2178", - "properties": { "controlName": "103-kubernetes-best-practices:cluster-management" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "286", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "162", - "measuredH": "25", - "x": "62", - "y": "10", - "properties": { "size": "17", "text": "Cluster Management" } - } - ] - } - } - }, - { - "ID": "17105", - "typeID": "__group__", - "zOrder": "126", - "measuredW": "286", - "measuredH": "44", - "w": "286", - "h": "44", - "x": "1188", - "y": "2227", - "properties": { "controlName": "104-kubernetes-best-practices:troubleshooting-and-debugging" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "286", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "244", - "measuredH": "25", - "x": "21", - "y": "10", - "properties": { "size": "17", "text": "Troubleshooting and debugging" } - } - ] - } - } - }, - { - "ID": "17106", - "typeID": "__group__", - "zOrder": "129", - "measuredW": "392", - "measuredH": "44", - "w": "392", - "h": "44", - "x": "255", - "y": "2111", - "properties": { "controlName": "100-kubernetes-in-production:managing-production-workloads" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "392", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "362", - "measuredH": "25", - "x": "15", - "y": "10", - "properties": { "size": "17", "text": "Deploying and managing Production Workloads" } - } - ] - } - } - }, - { - "ID": "17107", - "typeID": "__group__", - "zOrder": "130", - "measuredW": "392", - "measuredH": "44", - "w": "392", - "h": "44", - "x": "255", - "y": "2159", - "properties": { "controlName": "101-kubernetes-in-production:cluster-and-application-scaling" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "392", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "239", - "measuredH": "25", - "x": "76", - "y": "10", - "properties": { "size": "17", "text": "Cluster and Application Scaling" } - } - ] - } - } - }, - { - "ID": "17108", - "typeID": "__group__", - "zOrder": "131", - "measuredW": "392", - "measuredH": "44", - "w": "392", - "h": "44", - "x": "255", - "y": "2207", - "properties": { "controlName": "102-kubernetes-in-production:monitoring-and-managing-cluster-performance" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "392", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "361", - "measuredH": "25", - "x": "15", - "y": "10", - "properties": { "size": "17", "text": "Monitoring and Managing Cluster Performance" } - } - ] - } - } - }, - { - "ID": "17109", - "typeID": "__group__", - "zOrder": "132", - "measuredW": "392", - "measuredH": "44", - "w": "392", - "h": "44", - "x": "255", - "y": "2255", - "properties": { "controlName": "103-kubernetes-in-production:upgrading-cluster-and-applications" }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "392", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { "color": "16770457" } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "302", - "measuredH": "25", - "x": "45", - "y": "10", - "properties": { "size": "17", "text": "Upgrading the cluster and Applications." } - } - ] - } - } - } - ] - }, - "attributes": { "name": "New Wireframe 1 copy 4", "order": 1000019.1097559511, "parentID": null, "notes": "" }, - "branchID": "Master", - "resourceID": "E1CB7BE6-6915-47A7-A0F5-139EC887D1A8", - "mockupH": "2520", - "mockupW": "1219", - "measuredW": "1474", - "measuredH": "2615", - "version": "1.0" - }, - "groupOffset": { "x": 0, "y": 0 }, - "dependencies": [], - "projectID": "file:///Users/kamranahmed/Desktop/devops%20roadmap%5C.bmpr" -} +{"mockup":{"controls":{"control":[{"ID":"16551","typeID":"Arrow","zOrder":"47","w":"258","h":"121","measuredW":"150","measuredH":"100","x":"565","y":"342","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","p0":{"x":257.9819203652737,"y":-0.2642105923081317},"p1":{"x":0.4727111875713408,"y":0.09128874696614088},"p2":{"x":-0.4191645594230522,"y":120.95268664194612}}},{"ID":"16555","typeID":"Arrow","zOrder":"48","w":"35","h":"111","measuredW":"150","measuredH":"100","x":"852","y":"170","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","p0":{"x":27.258693718900076,"y":-0.1665392487915085},"p1":{"x":0.461757659395342,"y":0.1574049386757521},"p2":{"x":-0.190722039362754,"y":111.06877318368441}}},{"ID":"16558","typeID":"Label","zOrder":"49","measuredW":"147","measuredH":"36","x":"792","y":"113","properties":{"size":"28","text":"Kubernetes"}},{"ID":"16559","typeID":"Canvas","zOrder":"50","w":"350","h":"141","measuredW":"100","measuredH":"70","x":"1116","y":"0"},{"ID":"16560","typeID":"Label","zOrder":"51","measuredW":"314","measuredH":"25","x":"1130","y":"17","properties":{"size":"17","text":"Find the detailed version of this roadmap"}},{"ID":"16561","typeID":"Label","zOrder":"52","measuredW":"319","measuredH":"25","x":"1130","y":"45","properties":{"size":"17","text":"along with resources and other roadmaps"}},{"ID":"16562","typeID":"__group__","zOrder":"53","measuredW":"320","measuredH":"45","w":"320","h":"45","x":"1131","y":"81","properties":{"controlName":"ext_link:roadmap.sh"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"320","h":"45","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"borderColor":"4273622","color":"4273622"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"28","x":"141","y":"8","properties":{"color":"16777215","size":"20","text":"roadmap.sh"}},{"ID":"2","typeID":"Label","zOrder":"2","measuredW":"45","measuredH":"28","x":"66","y":"8","properties":{"color":"16777215","size":"20","text":"https"}},{"ID":"3","typeID":"Label","zOrder":"3","measuredW":"5","measuredH":"28","x":"113","y":"8","properties":{"color":"16777215","size":"20","text":":"}},{"ID":"4","typeID":"Label","zOrder":"4","measuredW":"10","measuredH":"28","x":"120","y":"9","properties":{"color":"16777215","size":"20","text":"/"}},{"ID":"5","typeID":"Label","zOrder":"5","measuredW":"10","measuredH":"28","x":"128","y":"9","properties":{"color":"16777215","size":"20","text":"/"}}]}}},{"ID":"16563","typeID":"Arrow","zOrder":"54","w":"11","h":"65","measuredW":"150","measuredH":"100","x":"837","y":"37","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":5.81355254908226,"y":-0.3048709282632984},"p1":{"x":0.4747832595422888,"y":-0.12123341254486592},"p2":{"x":11,"y":65}}},{"ID":"16721","typeID":"Canvas","zOrder":"56","w":"398","h":"159","measuredW":"100","measuredH":"70","x":"262","y":"1"},{"ID":"16722","typeID":"__group__","zOrder":"57","measuredW":"183","measuredH":"27","w":"183","h":"27","x":"289","y":"73","properties":{"controlName":"ext_link:github.com/donnemartin/devops"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"150","measuredH":"26","x":"33","y":"0","properties":{"size":"18","text":"DevOps Roadmap"}},{"ID":"1","typeID":"__group__","zOrder":"1","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"3","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"16723","typeID":"__group__","zOrder":"58","measuredW":"238","measuredH":"27","w":"238","h":"27","x":"289","y":"109","properties":{"controlName":"ext_link:roadmap.sh/system-design"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"205","measuredH":"26","x":"33","y":"0","properties":{"size":"18","text":"System Design Roadmap"}},{"ID":"1","typeID":"__group__","zOrder":"1","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"0","y":"3","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}}]}}},{"ID":"16724","typeID":"Label","zOrder":"59","measuredW":"209","measuredH":"32","x":"289","y":"25","properties":{"size":"24","text":"Related Roadmaps"}},{"ID":"16848","typeID":"Arrow","zOrder":"46","w":"1","h":"95","measuredW":"150","measuredH":"100","x":"461","y":"365","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0,"y":94.66067010876486}}},{"ID":"16858","typeID":"Arrow","zOrder":"45","w":"119","h":"64","measuredW":"150","measuredH":"100","x":"973","y":"212","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.33333333333337123,"y":64},"p1":{"x":0.4683294842186294,"y":-0.0843110084680532},"p2":{"x":119,"y":0}}},{"ID":"16859","typeID":"Arrow","zOrder":"44","w":"121","h":"23","measuredW":"150","measuredH":"100","x":"973","y":"260","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.33333333333337123,"y":22.666666666666686},"p1":{"x":0.49193894855850734,"y":-0.054087054833238946},"p2":{"x":121.66666666666674,"y":0}}},{"ID":"16860","typeID":"Arrow","zOrder":"43","w":"124","h":"69","measuredW":"150","measuredH":"100","x":"972","y":"305","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":0.33333333333337123},"p1":{"x":0.4769230769230774,"y":0.10384615384615405},"p2":{"x":124,"y":69.66666666666663}}},{"ID":"16861","typeID":"Arrow","zOrder":"42","w":"128","h":"24","measuredW":"150","measuredH":"100","x":"968","y":"295","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":1},"p1":{"x":0.4911471358380652,"y":0.061219806407955525},"p2":{"x":128,"y":24.66666666666663}}},{"ID":"16862","typeID":"Arrow","zOrder":"41","w":"180","h":"1","measuredW":"150","measuredH":"100","x":"956","y":"677","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.1332818971498,"y":0.20845130157692893},"p1":{"x":0.5,"y":0},"p2":{"x":179.84446444351192,"y":0.20845130157692893}}},{"ID":"16878","typeID":"Arrow","zOrder":"40","w":"166","h":"6","measuredW":"150","measuredH":"100","x":"608","y":"681","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":166.44688943087885,"y":6.208451301576929}}},{"ID":"16903","typeID":"Arrow","zOrder":"39","w":"1","h":"164","measuredW":"150","measuredH":"100","x":"942","y":"837","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0,"y":163.75757575757575}}},{"ID":"16928","typeID":"Arrow","zOrder":"38","w":"156","h":"70","measuredW":"150","measuredH":"100","x":"969","y":"920","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.3939393939394904,"y":69.69696969696963},"p1":{"x":0.5448827055428114,"y":-0.09657366979945234},"p2":{"x":155.66666666666652,"y":0}}},{"ID":"16929","typeID":"Arrow","zOrder":"37","w":"245","h":"1","measuredW":"150","measuredH":"100","x":"525","y":"1001","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.33333333333337123,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":244.62144119843106,"y":0}}},{"ID":"16941","typeID":"Arrow","zOrder":"36","w":"143","h":"143","measuredW":"150","measuredH":"100","x":"664","y":"1011","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.36363636363637397,"y":-0.3939393939394904},"p1":{"x":0.5196359693211293,"y":-0.26840678708277743},"p2":{"x":142.81205500440456,"y":141.81332615639076}}},{"ID":"16952","typeID":"Arrow","zOrder":"35","w":"123","h":"21","measuredW":"150","measuredH":"100","x":"558","y":"1398","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.32023299525064886,"y":0.15968206416300745},"p1":{"x":0.4385315792311177,"y":-0.06877141855055666},"p2":{"x":122.99341094913677,"y":20.605211723144066}}},{"ID":"16954","typeID":"Arrow","zOrder":"10","w":"168","h":"102","measuredW":"150","measuredH":"100","x":"842","y":"1437","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":167.84008464490546,"y":101.13292357564842},"p1":{"x":0.6056070174484409,"y":0.22989853758295958},"p2":{"x":-0.32852763156256515,"y":-0.3625107469335944}}},{"ID":"16980","typeID":"Arrow","zOrder":"83","w":"170","h":"124","measuredW":"150","measuredH":"100","x":"855","y":"1551","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":169.63558252508687,"y":-0.2852120188247227},"p1":{"x":0.5162219080585068,"y":-0.19620864459280357},"p2":{"x":-0.2195869495246825,"y":123.96069898575206}}},{"ID":"17013","typeID":"Arrow","zOrder":"0","w":"1","h":"418","measuredW":"150","measuredH":"100","x":"860","y":"1685","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.33333333333337123,"y":0.12208663536375752},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":-0.33333333333337123,"y":417.7440887736625}}},{"ID":"17028","typeID":"Arrow","zOrder":"89","w":"1","h":"81","measuredW":"150","measuredH":"100","x":"860","y":"2167","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0,"y":81.09090909090901}}},{"ID":"17029","typeID":"TextArea","zOrder":"90","w":"438","h":"118","measuredW":"200","measuredH":"140","x":"641","y":"2081"},{"ID":"17030","typeID":"Label","zOrder":"91","measuredW":"366","measuredH":"25","x":"678","y":"2100","properties":{"size":"17","text":"Continue Learning with following relevant tracks"}},{"ID":"17031","typeID":"__group__","zOrder":"92","measuredW":"198","measuredH":"44","w":"198","h":"44","x":"865","y":"2137","properties":{"controlName":"ext_link:roadmap.sh/backend"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"198","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"147","measuredH":"25","x":"25","y":"9","properties":{"size":"17","text":"Backend Roadmap"}}]}}},{"ID":"17032","typeID":"__group__","zOrder":"93","measuredW":"198","measuredH":"44","w":"198","h":"44","x":"657","y":"2137","properties":{"controlName":"ext_link:roadmap.sh/devops"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"198","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"141","measuredH":"25","x":"28","y":"9","properties":{"size":"17","text":"DevOps Roadmap"}}]}}},{"ID":"17121","typeID":"Arrow","zOrder":"34","w":"198","h":"1","measuredW":"150","measuredH":"100","x":"557","y":"475","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":-0.43840128920419374},"p1":{"x":0.5,"y":0},"p2":{"x":198.14434435082512,"y":-0.43840128920419374}}},{"ID":"17125","typeID":"Arrow","zOrder":"33","w":"165","h":"5","measuredW":"150","measuredH":"100","x":"956","y":"463","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.49220124415478494,"y":0.35132704525483405},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":164.9828304689379,"y":5.842332616103363}}},{"ID":"17137","typeID":"Arrow","zOrder":"32","w":"156","h":"99","measuredW":"150","measuredH":"100","x":"946","y":"477","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.45475328959696526,"y":0.342397311274965},"p1":{"x":0.5259405940594057,"y":0.10059405940594039},"p2":{"x":156.82553861570432,"y":99.10289330671117}}},{"ID":"17138","typeID":"Arrow","zOrder":"31","w":"145","h":"49","measuredW":"150","measuredH":"100","x":"968","y":"477","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.14713924472528106,"y":0.342397311274965},"p1":{"x":0.5272470205369462,"y":0.08650430057480227},"p2":{"x":144.82553861570432,"y":49.10289330671117}}},{"ID":"17139","typeID":"Arrow","zOrder":"30","w":"1","h":"222","measuredW":"150","measuredH":"100","x":"856","y":"463","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":0.20845130157692893},"p1":{"x":0.5,"y":0},"p2":{"x":0,"y":222.56244303498625}}},{"ID":"17146","typeID":"Arrow","zOrder":"29","w":"135","h":"102","measuredW":"150","measuredH":"100","x":"643","y":"572","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.233771896369376,"y":-0.012127359765372603},"p1":{"x":0.5351388144847302,"y":-0.10718826031473189},"p2":{"x":134.7389059640601,"y":102.04038516885203}}},{"ID":"17147","typeID":"Arrow","zOrder":"28","w":"136","h":"47","measuredW":"150","measuredH":"100","x":"640","y":"626","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.297215703744655,"y":0.3061454377245809},"p1":{"x":0.5351388144847301,"y":-0.10718826031473183},"p2":{"x":136.09289769746954,"y":46.394376902261456}}},{"ID":"17148","typeID":"Arrow","zOrder":"27","w":"1","h":"94","measuredW":"150","measuredH":"100","x":"1229","y":"686","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0,"y":94.06017744432256}}},{"ID":"17149","typeID":"Arrow","zOrder":"26","w":"183","h":"140","measuredW":"150","measuredH":"100","x":"938","y":"689","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.18679011000358514,"y":139.76516222836892},"p1":{"x":0.4793400286944046,"y":0.1728837876614063},"p2":{"x":183.0139299615305,"y":0.1836612214857496}}},{"ID":"17158","typeID":"Arrow","zOrder":"25","w":"169","h":"2","measuredW":"150","measuredH":"100","x":"616","y":"827","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.49220124415478494,"y":0.35132704525483405},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":168.476171911061,"y":2.227004589800913}}},{"ID":"17159","typeID":"Arrow","zOrder":"24","w":"96","h":"50","measuredW":"150","measuredH":"100","x":"655","y":"769","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.4545454545454959,"y":-0.06060606060611917},"p1":{"x":0.47044137876713277,"y":-0.1118348700046459},"p2":{"x":95.78251746856904,"y":49.90229710230267}}},{"ID":"17160","typeID":"Arrow","zOrder":"23","w":"104","h":"45","measuredW":"150","measuredH":"100","x":"651","y":"836","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.1664956385931191,"y":45.89478149478748},"p1":{"x":0.46195500502423575,"y":0.1006487687825863},"p2":{"x":104.17734196106801,"y":0.48159507229843257}}},{"ID":"17170","typeID":"Arrow","zOrder":"22","w":"152","h":"29","measuredW":"150","measuredH":"100","x":"981","y":"968","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.27272727272736574,"y":29.272727272727252},"p1":{"x":0.5721230334099342,"y":-0.054534205409227196},"p2":{"x":151.24242424242425,"y":0.48484848484838494}}},{"ID":"17172","typeID":"Arrow","zOrder":"21","w":"158","h":"64","measuredW":"150","measuredH":"100","x":"972","y":"1014","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.36363636363637397,"y":-0.06060606060611917},"p1":{"x":0.5542979262308053,"y":0.08682919107171085},"p2":{"x":157.21212121212125,"y":63.57575757575751}}},{"ID":"17173","typeID":"Arrow","zOrder":"20","w":"153","h":"22","measuredW":"150","measuredH":"100","x":"981","y":"1005","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.1515151515151274,"y":0.4545454545453822},"p1":{"x":0.6080704726263746,"y":0.03254397240215509},"p2":{"x":152.75757575757575,"y":22.575757575757507}}},{"ID":"17186","typeID":"Arrow","zOrder":"19","w":"61","h":"1","measuredW":"150","measuredH":"100","x":"381","y":"1001","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.06060606060606233,"y":0.35132704525483405},"p1":{"x":0.5,"y":0},"p2":{"x":60.66666666666663,"y":0.35132704525483405}}},{"ID":"17187","typeID":"Arrow","zOrder":"18","w":"67","h":"48","measuredW":"150","measuredH":"100","x":"384","y":"945","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.39393939393943356,"y":0.4545454545453822},"p1":{"x":0.45331509544459303,"y":-0.17912915848695224},"p2":{"x":66.27272727272725,"y":48.93939393939388}}},{"ID":"17188","typeID":"Arrow","zOrder":"17","w":"61","h":"40","measuredW":"150","measuredH":"100","x":"381","y":"1013","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.06060606060606233,"y":40.030303030303},"p1":{"x":0.5606836476660072,"y":0.1649256789457753},"p2":{"x":60.66666666666663,"y":0.636363636363626}}},{"ID":"17189","typeID":"Arrow","zOrder":"16","w":"1","h":"85","measuredW":"150","measuredH":"100","x":"524","y":"1004","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0,"y":85.39393939393926},"stroke":"dotted"}},{"ID":"17203","typeID":"Arrow","zOrder":"14","w":"144","h":"42","measuredW":"150","measuredH":"100","x":"983","y":"1160","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.14713924472528106,"y":0.342397311274965},"p1":{"x":0.5272470205369462,"y":0.08650430057480225},"p2":{"x":143.4848484848485,"y":42.36363636363626}}},{"ID":"17204","typeID":"Arrow","zOrder":"13","w":"167","h":"91","measuredW":"150","measuredH":"100","x":"961","y":"1160","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.45475328959696526,"y":0.342397311274965},"p1":{"x":0.5037940407354755,"y":0.07605199091692916},"p2":{"x":167,"y":90.84848484848476}}},{"ID":"17205","typeID":"Arrow","zOrder":"15","w":"165","h":"5","measuredW":"150","measuredH":"100","x":"971","y":"1146","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.49220124415478494,"y":0.35132704525483405},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":164.9828304689379,"y":5.842332616103363}}},{"ID":"17218","typeID":"Arrow","zOrder":"12","w":"135","h":"5","measuredW":"150","measuredH":"100","x":"549","y":"1334","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.24242424242424931,"y":-0.06060606060623286},"p1":{"x":0.5,"y":0},"p2":{"x":135.090909090909,"y":4.484848484848499}}},{"ID":"17219","typeID":"Arrow","zOrder":"11","w":"121","h":"45","measuredW":"150","measuredH":"100","x":"563","y":"1282","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.12121212121212466,"y":0.42424242424226577},"p1":{"x":0.4250100522718134,"y":-0.11419380780056407},"p2":{"x":121.09090909090901,"y":45.87878787878776}}},{"ID":"17236","typeID":"Arrow","zOrder":"9","w":"115","h":"90","measuredW":"150","measuredH":"100","x":"566","y":"1231","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.1838982487049634,"y":0.4499786909332215},"p1":{"x":0.4250100522718134,"y":-0.1141938078005641},"p2":{"x":114.99341094913677,"y":90.09576258031143}}},{"ID":"17239","typeID":"Arrow","zOrder":"8","w":"1","h":"252","measuredW":"150","measuredH":"100","x":"839","y":"1162","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.33333333333337123,"y":251.8870125710714},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":-0.33333333333337123,"y":-0.4045552076850072}}},{"ID":"17240","typeID":"Arrow","zOrder":"7","w":"121","h":"27","measuredW":"150","measuredH":"100","x":"557","y":"1430","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.2525000554401231,"y":26.350804939724412},"p1":{"x":0.394952236966551,"y":0.06714878484534648},"p2":{"x":120.84794484775512,"y":-0.3856569220199617}}},{"ID":"17255","typeID":"Arrow","zOrder":"6","w":"1","h":"203","measuredW":"150","measuredH":"100","x":"1217","y":"1437","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0,"y":202.57420534520793},"stroke":"dotted"}},{"ID":"17257","typeID":"Arrow","zOrder":"5","w":"136","h":"3","measuredW":"150","measuredH":"100","x":"585","y":"1689","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.3705720923140916,"y":3.8334955940422333},"p1":{"x":0.5,"y":0},"p2":{"x":136.090909090909,"y":0.48484848484849863}}},{"ID":"17258","typeID":"Arrow","zOrder":"4","w":"170","h":"137","measuredW":"150","measuredH":"100","x":"591","y":"1533","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.34762705975845165,"y":0.41472442357576256},"p1":{"x":0.5021181197751972,"y":-0.10521150145753783},"p2":{"x":170.20279653437,"y":137.24249983367963}}},{"ID":"17259","typeID":"Arrow","zOrder":"3","w":"164","h":"87","measuredW":"150","measuredH":"100","x":"591","y":"1589","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.34762705975845165,"y":0.41472442357576256},"p1":{"x":0.4932542382256344,"y":-0.07759871627175148},"p2":{"x":163.91186433160658,"y":87.53343203644295}}},{"ID":"17260","typeID":"Arrow","zOrder":"2","w":"140","h":"46","measuredW":"150","measuredH":"100","x":"585","y":"1632","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.05669485699513643,"y":0.49690661709928463},"p1":{"x":0.49611960739557137,"y":-0.07429810545537503},"p2":{"x":140.02993636848043,"y":46.10616508713383}}},{"ID":"17261","typeID":"TextArea","zOrder":"128","w":"186","h":"262","measuredW":"200","measuredH":"140","x":"449","y":"1757"},{"ID":"17262","typeID":"Label","zOrder":"129","measuredW":"145","measuredH":"25","x":"475","y":"1770","properties":{"size":"17","text":"Cluster Operations"}},{"ID":"17271","typeID":"Arrow","zOrder":"1","w":"121","h":"64","measuredW":"150","measuredH":"100","x":"603","y":"1699","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.14312493993986664,"y":64.82011634978494},"p1":{"x":0.47607689119379515,"y":0.11589983704240213},"p2":{"x":121.2435698431351,"y":0.33806127146021936}}},{"ID":"17306","typeID":"__group__","zOrder":"60","measuredW":"243","measuredH":"47","w":"243","h":"47","x":"740","y":"266","properties":{"controlName":"100-kubernetes-introduction"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"243","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"25","x":"75","y":"11","properties":{"size":"17","text":"Introduction"}}]}}},{"ID":"17307","typeID":"__group__","zOrder":"55","measuredW":"244","measuredH":"47","w":"244","h":"47","x":"740","y":"319","properties":{"controlName":"101-containers"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"244","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"85","measuredH":"25","x":"79","y":"11","properties":{"size":"17","text":"Containers"}}]}}},{"ID":"17308","typeID":"__group__","zOrder":"94","measuredW":"267","measuredH":"47","w":"267","h":"47","x":"313","y":"444","properties":{"controlName":"102-setting-up-kubernetes"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"267","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"172","measuredH":"25","x":"48","y":"11","properties":{"size":"17","text":"Setting up Kubernetes"}}]}}},{"ID":"17309","typeID":"__group__","zOrder":"95","measuredW":"243","measuredH":"47","w":"243","h":"47","x":"747","y":"444","properties":{"controlName":"103-running-applications"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"243","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"163","measuredH":"25","x":"40","y":"11","properties":{"size":"17","text":"Running Applications"}}]}}},{"ID":"17310","typeID":"__group__","zOrder":"68","measuredW":"243","measuredH":"47","w":"243","h":"47","x":"740","y":"653","properties":{"controlName":"104-services-and-networking"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"243","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"192","measuredH":"25","x":"26","y":"11","properties":{"size":"17","text":"Services and Networking"}}]}}},{"ID":"17312","typeID":"__group__","zOrder":"72","measuredW":"272","measuredH":"47","w":"272","h":"47","x":"1094","y":"661","properties":{"controlName":"105-configuration-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"272","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"210","measuredH":"25","x":"31","y":"11","properties":{"size":"17","text":"Configuration Management"}}]}}},{"ID":"17313","typeID":"__group__","zOrder":"101","measuredW":"243","measuredH":"47","w":"243","h":"47","x":"740","y":"803","properties":{"controlName":"106-resource-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"243","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"182","measuredH":"25","x":"31","y":"11","properties":{"size":"17","text":"Resource Management"}}]}}},{"ID":"17314","typeID":"__group__","zOrder":"75","measuredW":"243","measuredH":"47","w":"243","h":"47","x":"748","y":"978","properties":{"controlName":"107-kubernetes-security"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"243","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"62","measuredH":"25","x":"91","y":"11","properties":{"size":"17","text":"Security"}}]}}},{"ID":"17315","typeID":"__group__","zOrder":"79","measuredW":"264","measuredH":"47","w":"264","h":"47","x":"426","y":"978","properties":{"controlName":"108-monitoring-and-logging"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"264","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"183","measuredH":"25","x":"40","y":"11","properties":{"size":"17","text":"Monitoring and Logging"}}]}}},{"ID":"17316","typeID":"__group__","zOrder":"110","measuredW":"206","measuredH":"47","w":"206","h":"47","x":"787","y":"1135","properties":{"controlName":"109-autoscaling"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"206","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"89","measuredH":"25","x":"58","y":"11","properties":{"size":"17","text":"Autoscaling"}}]}}},{"ID":"17317","typeID":"__group__","zOrder":"81","measuredW":"229","measuredH":"47","w":"229","h":"47","x":"661","y":"1312","properties":{"controlName":"110-scheduling"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"229","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"86","measuredH":"25","x":"72","y":"11","properties":{"text":"Scheduling","size":"17"}}]}}},{"ID":"17318","typeID":"__group__","zOrder":"119","measuredW":"229","measuredH":"47","w":"229","h":"47","x":"661","y":"1401","properties":{"controlName":"111-storage-and-volumes"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"229","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"163","measuredH":"25","x":"33","y":"11","properties":{"size":"17","text":"Storage and Volumes"}}]}}},{"ID":"17319","typeID":"__group__","zOrder":"121","measuredW":"253","measuredH":"47","w":"253","h":"47","x":"1003","y":"1521","properties":{"controlName":"112-deployment-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"253","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"161","measuredH":"25","x":"46","y":"11","properties":{"size":"17","text":"Deployment Patterns"}}]}}},{"ID":"17320","typeID":"__group__","zOrder":"84","measuredW":"243","measuredH":"47","w":"243","h":"47","x":"702","y":"1660","properties":{"controlName":"113-kubernetes-advanced-topics"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"243","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"130","measuredH":"25","x":"57","y":"11","properties":{"size":"17","text":"Advanced Topics"}}]}}},{"ID":"17321","typeID":"__group__","zOrder":"64","measuredW":"359","measuredH":"44","w":"359","h":"44","x":"1084","y":"196","properties":{"controlName":"100-kubernetes-introduction:kubernetes-overview"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"359","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"184","measuredH":"25","x":"88","y":"9","properties":{"size":"17","text":"Overview of Kubernetes"}}]}}},{"ID":"17322","typeID":"__group__","zOrder":"65","measuredW":"359","measuredH":"44","w":"359","h":"44","x":"1084","y":"245","properties":{"controlName":"101-kubernetes-introduction:why-kubernetes"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"359","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"134","measuredH":"25","x":"113","y":"9","properties":{"size":"17","text":"Why Kubernetes?"}}]}}},{"ID":"17323","typeID":"__group__","zOrder":"66","measuredW":"359","measuredH":"44","w":"359","h":"44","x":"1084","y":"294","properties":{"controlName":"102-kubernetes-introduction:key-concepts-terminologies"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"359","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"251","measuredH":"25","x":"54","y":"9","properties":{"size":"17","text":"Key Concepts and Terminologies"}}]}}},{"ID":"17324","typeID":"__group__","zOrder":"67","measuredW":"359","measuredH":"44","w":"359","h":"44","x":"1084","y":"343","properties":{"controlName":"103-kubernetes-introduction:kubernetes-alternatives"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"359","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"184","measuredH":"25","x":"88","y":"9","properties":{"size":"17","text":"Kubernetes Alternatives"}}]}}},{"ID":"17325","typeID":"__group__","zOrder":"61","measuredW":"301","measuredH":"44","w":"301","h":"44","x":"291","y":"362","properties":{"controlName":"100-setting-up-kubernetes:installing-a-local-cluster"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"301","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"189","measuredH":"25","x":"56","y":"9","properties":{"size":"17","text":"Installing a Local Cluster"}}]}}},{"ID":"17326","typeID":"__group__","zOrder":"62","measuredW":"301","measuredH":"44","w":"301","h":"44","x":"291","y":"313","properties":{"controlName":"101-setting-up-kubernetes:choosing-a-managed-provider"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"301","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"234","measuredH":"25","x":"34","y":"9","properties":{"size":"17","text":"Choosing a Managed Provider"}}]}}},{"ID":"17327","typeID":"__group__","zOrder":"63","measuredW":"301","measuredH":"44","w":"301","h":"44","x":"291","y":"263","properties":{"controlName":"102-setting-up-kubernetes:deploying-your-first-application"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"301","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"241","measuredH":"25","x":"30","y":"9","properties":{"size":"17","text":"Deploying your First Application"}}]}}},{"ID":"17328","typeID":"__group__","zOrder":"96","measuredW":"162","measuredH":"44","w":"162","h":"44","x":"1094","y":"446","properties":{"controlName":"100-running-applications:pods"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"162","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"25","x":"62","y":"9","properties":{"size":"17","text":"Pods"}}]}}},{"ID":"17329","typeID":"__group__","zOrder":"97","measuredW":"157","measuredH":"44","w":"157","h":"44","x":"1262","y":"446","properties":{"controlName":"101-running-applications:replicasets"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"157","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"25","x":"32","y":"9","properties":{"size":"17","text":"ReplicaSets"}}]}}},{"ID":"17330","typeID":"__group__","zOrder":"98","measuredW":"162","measuredH":"44","w":"162","h":"44","x":"1094","y":"496","properties":{"controlName":"102-running-applications:deployments"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"162","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"101","measuredH":"25","x":"32","y":"9","properties":{"size":"17","text":"Deployments"}}]}}},{"ID":"17331","typeID":"__group__","zOrder":"99","measuredW":"154","measuredH":"44","w":"154","h":"44","x":"1263","y":"496","properties":{"controlName":"103-running-applications:statefulsets"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"154","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"25","x":"30","y":"9","properties":{"size":"17","text":"StatefulSets"}}]}}},{"ID":"17332","typeID":"__group__","zOrder":"100","measuredW":"323","measuredH":"44","w":"323","h":"44","x":"1094","y":"546","properties":{"controlName":"104-running-applications:jobs"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"323","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"37","measuredH":"25","x":"143","y":"9","properties":{"size":"17","text":"Jobs"}}]}}},{"ID":"17333","typeID":"__group__","zOrder":"69","measuredW":"351","measuredH":"44","w":"351","h":"44","x":"298","y":"655","properties":{"controlName":"100-services-and-networking:networking-and-pod-to-pod-communication"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"351","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"318","measuredH":"25","x":"17","y":"9","properties":{"size":"17","text":"Networking & Pod-to-Pod Communication"}}]}}},{"ID":"17334","typeID":"__group__","zOrder":"70","measuredW":"353","measuredH":"44","w":"353","h":"44","x":"296","y":"606","properties":{"controlName":"101-services-and-networking:load-balancing"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"353","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"120","measuredH":"25","x":"117","y":"9","properties":{"size":"17","text":"Load Balancing"}}]}}},{"ID":"17335","typeID":"__group__","zOrder":"71","measuredW":"353","measuredH":"44","w":"353","h":"44","x":"296","y":"556","properties":{"controlName":"102-services-and-networking:external-access-to-services"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"353","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"213","measuredH":"25","x":"70","y":"9","properties":{"size":"17","text":"External Access to Services"}}]}}},{"ID":"17336","typeID":"__group__","zOrder":"73","measuredW":"325","measuredH":"44","w":"325","h":"44","x":"1096","y":"743","properties":{"controlName":"100-configuration-management:config-maps"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"325","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"290","measuredH":"25","x":"18","y":"10","properties":{"size":"17","text":"Injecting Pod Config. with ConfigMaps"}}]}}},{"ID":"17337","typeID":"__group__","zOrder":"74","measuredW":"327","measuredH":"44","w":"327","h":"44","x":"1096","y":"793","properties":{"controlName":"101-configuration-management:secrets"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"327","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"247","measuredH":"25","x":"40","y":"9","properties":{"size":"17","text":"Using Secrets for Sensitive Data"}}]}}},{"ID":"17338","typeID":"__group__","zOrder":"102","measuredW":"364","measuredH":"44","w":"364","h":"44","x":"297","y":"755","properties":{"controlName":"100-resource-management:setting-resource-requests-and-limits"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"364","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"296","measuredH":"25","x":"34","y":"9","properties":{"size":"17","text":"Setting Resource Requests and Limits"}}]}}},{"ID":"17339","typeID":"__group__","zOrder":"103","measuredW":"364","measuredH":"44","w":"364","h":"44","x":"297","y":"805","properties":{"controlName":"101-resource-management:assigning-quotas-to-namespaces"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"364","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"260","measuredH":"25","x":"52","y":"9","properties":{"size":"17","text":"Assigning Quotas to Namespaces"}}]}}},{"ID":"17340","typeID":"__group__","zOrder":"104","measuredW":"365","measuredH":"44","w":"365","h":"44","x":"296","y":"854","properties":{"controlName":"102-resource-management:monitoring-and-optimizing-resource-usage"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"365","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"336","measuredH":"25","x":"15","y":"9","properties":{"size":"17","text":"Monitoring and Optimizing Resource Usage"}}]}}},{"ID":"17341","typeID":"__group__","zOrder":"76","measuredW":"308","measuredH":"44","w":"308","h":"44","x":"1120","y":"901","properties":{"controlName":"100-kubernetes-security:role-based-acccess-control"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"308","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"269","measuredH":"25","x":"19","y":"9","properties":{"size":"17","text":"Role-based access control (RBAC)"}}]}}},{"ID":"17342","typeID":"__group__","zOrder":"77","measuredW":"308","measuredH":"44","w":"308","h":"44","x":"1120","y":"950","properties":{"controlName":"101-kubernetes-security:network-security"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"308","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"130","measuredH":"25","x":"89","y":"9","properties":{"size":"17","text":"Network Security"}}]}}},{"ID":"17343","typeID":"__group__","zOrder":"78","measuredW":"308","measuredH":"44","w":"308","h":"44","x":"1120","y":"999","properties":{"controlName":"102-kubernetes-security:container-and-pod-security"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"308","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"210","measuredH":"25","x":"49","y":"9","properties":{"size":"17","text":"Container and Pod Security"}}]}}},{"ID":"17344","typeID":"__group__","zOrder":"105","measuredW":"308","measuredH":"44","w":"308","h":"44","x":"1120","y":"1048","properties":{"controlName":"103-kubernetes-security:security-scanners"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"308","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"138","measuredH":"25","x":"85","y":"9","properties":{"size":"17","text":"Security Scanners"}}]}}},{"ID":"17345","typeID":"__group__","zOrder":"80","measuredW":"104","measuredH":"44","w":"104","h":"44","x":"282","y":"930","properties":{"controlName":"100-monitoring-and-logging:logs"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"104","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"25","x":"33","y":"10","properties":{"size":"17","text":"Logs"}}]}}},{"ID":"17346","typeID":"__group__","zOrder":"106","measuredW":"104","measuredH":"44","w":"104","h":"44","x":"282","y":"980","properties":{"controlName":"101-monitoring-and-logging:metrics"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"104","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"58","measuredH":"25","x":"23","y":"10","properties":{"size":"17","text":"Metrics"}}]}}},{"ID":"17347","typeID":"__group__","zOrder":"107","measuredW":"104","measuredH":"44","w":"104","h":"44","x":"282","y":"1029","properties":{"controlName":"102-monitoring-and-logging:traces"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"104","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"53","measuredH":"25","x":"25","y":"10","properties":{"size":"17","text":"Traces"}}]}}},{"ID":"17348","typeID":"__group__","zOrder":"108","measuredW":"198","measuredH":"44","w":"198","h":"44","x":"426","y":"1064","properties":{"controlName":"103-monitoring-and-logging:resource-health"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"198","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"130","measuredH":"25","x":"34","y":"10","properties":{"size":"17","text":"Resource Health"}}]}}},{"ID":"17349","typeID":"__group__","zOrder":"109","measuredW":"198","measuredH":"44","w":"198","h":"44","x":"426","y":"1112","properties":{"controlName":"104-monitoring-and-logging:observability-engines"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"198","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"166","measuredW":"166","measuredH":"25","x":"16","y":"10","properties":{"text":"Observability Engines","size":"17"}}]}}},{"ID":"17350","typeID":"__group__","zOrder":"111","measuredW":"299","measuredH":"44","w":"299","h":"44","x":"1118","y":"1128","properties":{"controlName":"100-autoscaling:horizontal-pod-autoscaler"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"299","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"248","measuredH":"25","x":"26","y":"9","properties":{"size":"17","text":"Horizontal Pod Autoscaler (HPA)"}}]}}},{"ID":"17351","typeID":"__group__","zOrder":"112","measuredW":"299","measuredH":"44","w":"299","h":"44","x":"1118","y":"1177","properties":{"controlName":"101-autoscaling:vertical-pod-autoscaler"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"299","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"225","measuredH":"25","x":"37","y":"9","properties":{"size":"17","text":"Vertical Pod Autoscaler (VPA)"}}]}}},{"ID":"17352","typeID":"__group__","zOrder":"113","measuredW":"299","measuredH":"44","w":"299","h":"44","x":"1118","y":"1226","properties":{"controlName":"102-autoscaling:cluster-autoscaling"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"299","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"149","measuredH":"25","x":"75","y":"9","properties":{"size":"17","text":"Cluster Autoscaling"}}]}}},{"ID":"17353","typeID":"__group__","zOrder":"114","measuredW":"86","measuredH":"44","w":"86","h":"44","x":"284","y":"1212","properties":{"controlName":"100-scheduling:scheduling-basics"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"86","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"52","measuredH":"25","x":"17","y":"10","properties":{"size":"17","text":"Basics"}}]}}},{"ID":"17354","typeID":"__group__","zOrder":"115","measuredW":"191","measuredH":"44","w":"191","h":"44","x":"378","y":"1213","properties":{"controlName":"101-scheduling:taints-and-tolerations"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"191","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"165","measuredH":"25","x":"13","y":"10","properties":{"size":"17","text":"Taints and tolerations"}}]}}},{"ID":"17355","typeID":"__group__","zOrder":"116","measuredW":"287","measuredH":"44","w":"287","h":"44","x":"283","y":"1262","properties":{"controlName":"102-scheduling:topology-spread-constraints"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"287","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"218","measuredH":"25","x":"35","y":"10","properties":{"size":"17","text":"Topology spread Constraints"}}]}}},{"ID":"17356","typeID":"__group__","zOrder":"117","measuredW":"155","measuredH":"44","w":"155","h":"44","x":"283","y":"1310","properties":{"controlName":"103-scheduling:pod-priorities"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"155","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"102","measuredH":"25","x":"27","y":"9","properties":{"size":"17","text":"Pod priorities"}}]}}},{"ID":"17357","typeID":"__group__","zOrder":"118","measuredW":"128","measuredH":"44","w":"128","h":"44","x":"443","y":"1311","properties":{"controlName":"104-scheduling:evictions"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"128","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"70","measuredH":"25","x":"29","y":"9","properties":{"size":"17","text":"Evictions"}}]}}},{"ID":"17358","typeID":"__group__","zOrder":"120","measuredW":"209","measuredH":"44","w":"209","h":"44","x":"356","y":"1379","properties":{"controlName":"100-storage-and-volumes:csi-drivers"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"209","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"87","measuredH":"25","x":"66","y":"9","properties":{"size":"17","text":"CSI Drivers"}}]}}},{"ID":"17359","typeID":"__group__","zOrder":"82","measuredW":"209","measuredH":"44","w":"209","h":"44","x":"356","y":"1428","properties":{"controlName":"101-storage-and-volumes:stateful-applications"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"209","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"157","measuredH":"25","x":"26","y":"9","properties":{"size":"17","text":"Stateful Applications"}}]}}},{"ID":"17360","typeID":"__group__","zOrder":"124","measuredW":"261","measuredH":"44","w":"261","h":"44","x":"1156","y":"1340","properties":{"controlName":"100-deployment-patterns:ci-cd-integration"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"261","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"147","measuredH":"25","x":"57","y":"9","properties":{"size":"17","text":"CI / CD Integration"}}]}}},{"ID":"17361","typeID":"__group__","zOrder":"123","measuredW":"261","measuredH":"44","w":"261","h":"44","x":"1156","y":"1389","properties":{"controlName":"101-deployment-patterns:gitops"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"261","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"54","measuredH":"25","x":"104","y":"9","properties":{"size":"17","text":"GitOps"}}]}}},{"ID":"17362","typeID":"__group__","zOrder":"122","measuredW":"261","measuredH":"44","w":"261","h":"44","x":"1156","y":"1438","properties":{"controlName":"102-deployment-patterns:helm-charts"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"261","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"97","measuredH":"25","x":"82","y":"9","properties":{"size":"17","text":"Helm Charts"}}]}}},{"ID":"17363","typeID":"__group__","zOrder":"125","measuredW":"261","measuredH":"44","w":"261","h":"44","x":"1156","y":"1602","properties":{"controlName":"103-deployment-patterns:canary-deployments"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"261","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"159","measuredH":"25","x":"51","y":"9","properties":{"size":"17","text":"Canary Deployments"}}]}}},{"ID":"17364","typeID":"__group__","zOrder":"126","measuredW":"261","measuredH":"44","w":"261","h":"44","x":"1156","y":"1651","properties":{"controlName":"104-deployment-patterns:blue-green-deployments"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"261","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"195","measuredH":"25","x":"33","y":"9","properties":{"size":"17","text":"Blue-Green Deployments"}}]}}},{"ID":"17365","typeID":"__group__","zOrder":"127","measuredW":"261","measuredH":"44","w":"261","h":"44","x":"1156","y":"1700","properties":{"controlName":"105-deployment-patterns:rolling-updates-rollbacks"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"261","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"214","measuredH":"25","x":"24","y":"9","properties":{"size":"17","text":"Rolling Updates / Rollbacks"}}]}}},{"ID":"17366","typeID":"__group__","zOrder":"85","measuredW":"316","measuredH":"44","w":"316","h":"44","x":"283","y":"1517","properties":{"controlName":"100-kubernetes-advanced-topics:custom-controllers"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"316","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"219","measuredH":"25","x":"48","y":"10","properties":{"size":"17","text":"Creating Custom Controllers"}}]}}},{"ID":"17367","typeID":"__group__","zOrder":"86","measuredW":"316","measuredH":"44","w":"316","h":"44","x":"283","y":"1567","properties":{"controlName":"101-kubernetes-advanced-topics:custom-schedulers-extenders"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"316","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"263","measuredH":"25","x":"26","y":"10","properties":{"size":"17","text":"Custom schedulers and extenders"}}]}}},{"ID":"17368","typeID":"__group__","zOrder":"87","measuredW":"316","measuredH":"44","w":"316","h":"44","x":"283","y":"1617","properties":{"controlName":"102-kubernetes-advanced-topics:custom-resource-definitions"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"316","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"277","measuredH":"25","x":"19","y":"10","properties":{"size":"17","text":"Custom resource definitions (CRDs)"}}]}}},{"ID":"17369","typeID":"__group__","zOrder":"88","measuredW":"316","measuredH":"44","w":"316","h":"44","x":"283","y":"1667","properties":{"controlName":"103-kubernetes-advanced-topics:kubernetes-extensions-and-apis"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"316","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"250","measuredH":"25","x":"33","y":"10","properties":{"size":"17","text":"Kubernetes extensions and APIs"}}]}}},{"ID":"17370","typeID":"__group__","zOrder":"130","measuredW":"335","measuredH":"44","w":"335","h":"44","x":"283","y":"1811","properties":{"controlName":"104-kubernetes-advanced-topics:own-cluster"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"335","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"287","measuredH":"25","x":"28","y":"9","properties":{"size":"17","text":"Should you manage your own cluster?"}}]}}},{"ID":"17371","typeID":"__group__","zOrder":"131","measuredW":"335","measuredH":"44","w":"335","h":"44","x":"283","y":"1859","properties":{"controlName":"105-kubernetes-advanced-topics:control-plane-installation"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"335","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"203","measuredH":"25","x":"28","y":"9","properties":{"size":"17","text":"Installing the control plane"}}]}}},{"ID":"17372","typeID":"__group__","zOrder":"132","measuredW":"335","measuredH":"44","w":"335","h":"44","x":"283","y":"1909","properties":{"controlName":"106-kubernetes-advanced-topics:managing-worker-nodes"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"335","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"276","measuredH":"25","x":"28","y":"9","properties":{"size":"17","text":"Adding and managing worker nodes"}}]}}},{"ID":"17373","typeID":"__group__","zOrder":"133","measuredW":"335","measuredH":"44","w":"335","h":"44","x":"283","y":"1959","properties":{"controlName":"107-kubernetes-advanced-topics:multi-cluster-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"335","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"206","measuredH":"25","x":"65","y":"9","properties":{"size":"17","text":"Multi-Cluster Management"}}]}}}]},"attributes":{"name":"New Wireframe 1 copy 4","order":1000019.1097559511,"parentID":null,"notes":""},"branchID":"Master","resourceID":"E1CB7BE6-6915-47A7-A0F5-139EC887D1A8","mockupH":"2248","mockupW":"1204","measuredW":"1466","measuredH":"2248","version":"1.0"},"groupOffset":{"x":0,"y":0},"dependencies":[],"projectID":"file:///Users/kamranahmed/Desktop/devops%20roadmap%5C.bmpr"} \ No newline at end of file diff --git a/src/components/RoadmapHeader.astro b/src/components/RoadmapHeader.astro index 71a71f2db..b518ef1bc 100644 --- a/src/components/RoadmapHeader.astro +++ b/src/components/RoadmapHeader.astro @@ -11,13 +11,14 @@ export interface Props { title: string; description: string; note?: string; + tnsBannerLink?: string; roadmapId: string; isUpcoming?: boolean; hasSearch?: boolean; hasTopics?: boolean; } -const { title, description, roadmapId, isUpcoming = false, hasSearch = false, note, hasTopics = false } = Astro.props; +const { title, description, roadmapId, tnsBannerLink, isUpcoming = false, hasSearch = false, note, hasTopics = false } = Astro.props; const isRoadmapReady = !isUpcoming; --- @@ -109,7 +110,7 @@ const isRoadmapReady = !isUpcoming; - {hasTopics && } + {hasTopics && } {hasSearch && } diff --git a/src/components/RoadmapHint.astro b/src/components/RoadmapHint.astro index 6f65ca017..ceb218905 100644 --- a/src/components/RoadmapHint.astro +++ b/src/components/RoadmapHint.astro @@ -3,11 +3,12 @@ import Icon from './Icon.astro'; export interface Props { roadmapId: string; + tnsBannerLink?: string; } -const { roadmapId } = Astro.props; +const { roadmapId, tnsBannerLink = '' } = Astro.props; -const hasTNSBanner = ['frontend', 'backend', 'devops'].includes(roadmapId); +const hasTNSBanner = !!tnsBannerLink; const roadmapTitle = roadmapId === 'devops' ? 'DevOps' : `${roadmapId.charAt(0).toUpperCase()}${roadmapId.slice(1)}`; --- @@ -26,7 +27,7 @@ const roadmapTitle = roadmapId === 'devops' ? 'DevOps' : `${roadmapId.charAt(0).

Get the latest {roadmapTitle} news from our sister site{' '}